From 894ae5970b4d1f4767c56e45aea32ecd20a7c16d Mon Sep 17 00:00:00 2001 From: samchon Date: Mon, 19 Aug 2024 05:57:50 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20samchon/?= =?UTF-8?q?tgrid@cf8d38a526264176fe2ef995d71d920f2241e359=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 2 +- 404/index.html | 2 +- .../1SdZ6RBp-nS9ZiGe92iAu/_buildManifest.js | 1 - .../GLAw2Dz8ONI28M4mhkDv5/_buildManifest.js | 1 + .../_ssgManifest.js | 0 _next/static/chunks/1289.90fd0a4824532137.js | 2 + _next/static/chunks/1316.ce36c76fc45a9fc6.js | 1 + .../chunks/175675d1.c2dda63d058fa52d.js | 1 + _next/static/chunks/177-7d7bc98c5b8d9780.js | 1 + _next/static/chunks/2057.730be48c0ee48d45.js | 5 + _next/static/chunks/2128.50b51a2eba82fe6e.js | 29 ++ _next/static/chunks/235-45cfd8dac781d887.js | 20 -- _next/static/chunks/2616.036653b32be69675.js | 88 ++++++ _next/static/chunks/2650.01b6df31b9019e90.js | 63 +++++ _next/static/chunks/3553.4c0694a9fe280459.js | 1 + _next/static/chunks/4015.e2792bada91f537a.js | 1 + _next/static/chunks/407.b369ed23c3207ea1.js | 115 ++++++++ _next/static/chunks/4162.14c0c5f3a2266d60.js | 46 ++++ _next/static/chunks/5276.5d85a2e6999ca426.js | 2 + _next/static/chunks/528-58aa8d04a1d8af04.js | 16 -- _next/static/chunks/5493.ca540e6519a2722b.js | 1 + _next/static/chunks/5777.fcda43e9ad5e2298.js | 113 ++++++++ _next/static/chunks/585.b0fbf4cdf42f4c71.js | 4 + _next/static/chunks/5914.3ad7331348fcf482.js | 47 ++++ _next/static/chunks/5998.4af461248232dbd3.js | 56 ++++ _next/static/chunks/6097.8c7e93bdc5ce32bf.js | 1 + _next/static/chunks/6235-da2d0ec03c4908f5.js | 20 ++ _next/static/chunks/6336.3a26efafc617e234.js | 155 +++++++++++ _next/static/chunks/6705.f596888f4cba461e.js | 113 ++++++++ .../chunks/72fdc299.d9e5cd8953ecb144.js | 1 + _next/static/chunks/7327.0f0581ad2d0838a6.js | 1 + _next/static/chunks/7474.ee29bca8707b2e0c.js | 5 + _next/static/chunks/7488.cc326e425bc4c1cd.js | 1 + _next/static/chunks/7518.cc7a7e0905770a89.js | 202 ++++++++++++++ _next/static/chunks/756.3e1ecfa671f4ea1e.js | 115 ++++++++ _next/static/chunks/7644.93724a4f124347a3.js | 252 ++++++++++++++++++ _next/static/chunks/7832.54787172052549e5.js | 1 + _next/static/chunks/7921.c33be6ba7664683f.js | 1 + _next/static/chunks/8913.8fc680fda26dc9c8.js | 134 ++++++++++ .../chunks/8f0ac8b7-e060b73292392c08.js | 63 +++++ .../chunks/90912e1b.cfd157b7f256fb3b.js | 1 + _next/static/chunks/9129.9326aa2532a5e1b8.js | 117 ++++++++ _next/static/chunks/9528-ae38f81c8934c830.js | 16 ++ _next/static/chunks/9805.46686bae545676c3.js | 1 + ...58a64.js => framework-0995a3e8436ddc4f.js} | 2 +- ...127b6e522d.js => main-d7d2b0c327afbd4e.js} | 2 +- _next/static/chunks/nextra-data-en-US.json | 2 +- .../chunks/pages/_app-66f3d8d03a439937.js | 1 - .../chunks/pages/_app-939610c6c5c0b1be.js | 1 + .../chunks/pages/_error-77823ddac6993d35.js | 1 - .../chunks/pages/_error-a1dfd1adb240a82a.js | 1 + .../chunks/pages/docs-13c92593e12a0af3.js | 1 + .../chunks/pages/docs-44b3595b3318091b.js | 1 - .../nestjs-websocket-5144f71cd7f75305.js | 1 + .../nestjs-websocket-b5b36f16e327f0bb.js | 1 - ...bject-oriented-network-1f34ee90000a8355.js | 1 + ...bject-oriented-network-cbf127b32384edfd.js | 1 - .../remote-function-call-012909a8eb9fe7eb.js | 1 - .../remote-function-call-f8b93368db1a6e07.js | 1 + .../remote-object-call-4ebed196810cc884.js | 1 - .../remote-object-call-cefec2d58ffee31a.js | 1 + .../features/components-6e4e3148d556ee8f.js | 1 - .../features/components-c700552875b5a57a.js | 1 + ...d7cf8.js => websocket-8dee114018b5c10d.js} | 2 +- .../docs/features/worker-35683d38a4c87a6c.js | 1 - .../docs/features/worker-6ba57c80834fe01b.js | 1 + .../docs/projects/chat-431fee5f4afd4657.js | 1 + .../docs/projects/chat-5b4280ef2ce9e2cd.js | 1 - .../docs/projects/market-35f572c94ef2116b.js | 1 + .../docs/projects/market-7ca2ec1cf906b649.js | 1 - .../docs/projects/mutex-5b827b3a60bfb1a9.js | 1 + .../docs/projects/mutex-6cc590d7ab20736e.js | 1 - .../remote-procedure-call-0227858445490802.js | 1 - .../remote-procedure-call-77f4afa3b7f38a96.js | 1 + .../pages/docs/setup-6c5a041f3a3d4968.js | 1 + .../pages/docs/setup-9f3e1178b892888b.js | 1 - .../chunks/pages/index-3ae84526cce50e85.js | 1 + .../chunks/pages/index-a6a9578504c0ed59.js | 1 - .../static/chunks/webpack-6ef43a8d4a395f49.js | 1 - .../static/chunks/webpack-96b7e9f1f62d2234.js | 1 + _next/static/media/sequence.5a6cf4e8.png | Bin 18399 -> 0 bytes api/classes/Communicator.html | 24 +- api/classes/SharedWorkerAcceptor-1.html | 24 +- api/classes/SharedWorkerConnector-1.html | 26 +- api/classes/SharedWorkerServer-1.html | 10 +- api/classes/WebSocketAcceptor-1.html | 30 +-- api/classes/WebSocketConnector-1.html | 28 +- api/classes/WebSocketError.html | 4 +- api/classes/WebSocketServer-1.html | 12 +- api/classes/WorkerConnector-1.html | 28 +- api/classes/WorkerServer-1.html | 24 +- api/enums/WebSocketAcceptor.State.html | 4 +- api/enums/WebSocketConnector.State.html | 4 +- api/enums/WebSocketServer.State.html | 4 +- .../SharedWorkerConnector.compile.html | 2 +- .../SharedWorkerConnector.remove.html | 2 +- api/interfaces/Invoke.IFunction.html | 8 +- api/interfaces/Invoke.IParameter.html | 4 +- api/interfaces/Invoke.IReturn.html | 8 +- ...SharedWorkerConnector.IConnectOptions.html | 4 +- .../WebSocketConnector.IConnectOptions.html | 4 +- .../WorkerConnector.IConnectOptions.html | 8 +- api/modules/Invoke.html | 2 +- api/modules/SharedWorkerAcceptor.html | 2 +- api/modules/SharedWorkerConnector.html | 2 +- api/modules/SharedWorkerServer.html | 2 +- api/modules/WebSocketAcceptor.html | 2 +- api/modules/WebSocketConnector.html | 2 +- api/modules/WebSocketServer.html | 2 +- api/modules/WorkerConnector.html | 2 +- api/modules/WorkerServer.html | 2 +- api/modules/default.html | 2 +- api/types/Driver.html | 2 +- api/types/Invoke-1.html | 2 +- api/types/Primitive.html | 2 +- api/types/Promisive.html | 2 +- api/variables/Driver-1.html | 2 +- docs/examples/nestjs-websocket/index.html | 4 +- .../object-oriented-network/index.html | 4 +- docs/examples/remote-function-call/index.html | 4 +- docs/examples/remote-object-call/index.html | 4 +- docs/features/components/index.html | 6 +- docs/features/websocket/index.html | 4 +- docs/features/worker/index.html | 4 +- docs/index.html | 4 +- docs/projects/chat/index.html | 4 +- docs/projects/market/index.html | 4 +- docs/projects/mutex/index.html | 4 +- docs/remote-procedure-call/index.html | 4 +- docs/setup/index.html | 4 +- images/diagrams/sequence.png | Bin 18399 -> 0 bytes index.html | 4 +- 132 files changed, 1974 insertions(+), 234 deletions(-) delete mode 100644 _next/static/1SdZ6RBp-nS9ZiGe92iAu/_buildManifest.js create mode 100644 _next/static/GLAw2Dz8ONI28M4mhkDv5/_buildManifest.js rename _next/static/{1SdZ6RBp-nS9ZiGe92iAu => GLAw2Dz8ONI28M4mhkDv5}/_ssgManifest.js (100%) create mode 100644 _next/static/chunks/1289.90fd0a4824532137.js create mode 100644 _next/static/chunks/1316.ce36c76fc45a9fc6.js create mode 100644 _next/static/chunks/175675d1.c2dda63d058fa52d.js create mode 100644 _next/static/chunks/177-7d7bc98c5b8d9780.js create mode 100644 _next/static/chunks/2057.730be48c0ee48d45.js create mode 100644 _next/static/chunks/2128.50b51a2eba82fe6e.js delete mode 100644 _next/static/chunks/235-45cfd8dac781d887.js create mode 100644 _next/static/chunks/2616.036653b32be69675.js create mode 100644 _next/static/chunks/2650.01b6df31b9019e90.js create mode 100644 _next/static/chunks/3553.4c0694a9fe280459.js create mode 100644 _next/static/chunks/4015.e2792bada91f537a.js create mode 100644 _next/static/chunks/407.b369ed23c3207ea1.js create mode 100644 _next/static/chunks/4162.14c0c5f3a2266d60.js create mode 100644 _next/static/chunks/5276.5d85a2e6999ca426.js delete mode 100644 _next/static/chunks/528-58aa8d04a1d8af04.js create mode 100644 _next/static/chunks/5493.ca540e6519a2722b.js create mode 100644 _next/static/chunks/5777.fcda43e9ad5e2298.js create mode 100644 _next/static/chunks/585.b0fbf4cdf42f4c71.js create mode 100644 _next/static/chunks/5914.3ad7331348fcf482.js create mode 100644 _next/static/chunks/5998.4af461248232dbd3.js create mode 100644 _next/static/chunks/6097.8c7e93bdc5ce32bf.js create mode 100644 _next/static/chunks/6235-da2d0ec03c4908f5.js create mode 100644 _next/static/chunks/6336.3a26efafc617e234.js create mode 100644 _next/static/chunks/6705.f596888f4cba461e.js create mode 100644 _next/static/chunks/72fdc299.d9e5cd8953ecb144.js create mode 100644 _next/static/chunks/7327.0f0581ad2d0838a6.js create mode 100644 _next/static/chunks/7474.ee29bca8707b2e0c.js create mode 100644 _next/static/chunks/7488.cc326e425bc4c1cd.js create mode 100644 _next/static/chunks/7518.cc7a7e0905770a89.js create mode 100644 _next/static/chunks/756.3e1ecfa671f4ea1e.js create mode 100644 _next/static/chunks/7644.93724a4f124347a3.js create mode 100644 _next/static/chunks/7832.54787172052549e5.js create mode 100644 _next/static/chunks/7921.c33be6ba7664683f.js create mode 100644 _next/static/chunks/8913.8fc680fda26dc9c8.js create mode 100644 _next/static/chunks/8f0ac8b7-e060b73292392c08.js create mode 100644 _next/static/chunks/90912e1b.cfd157b7f256fb3b.js create mode 100644 _next/static/chunks/9129.9326aa2532a5e1b8.js create mode 100644 _next/static/chunks/9528-ae38f81c8934c830.js create mode 100644 _next/static/chunks/9805.46686bae545676c3.js rename _next/static/chunks/{framework-ecc4130bc7a58a64.js => framework-0995a3e8436ddc4f.js} (99%) rename _next/static/chunks/{main-1c29ea127b6e522d.js => main-d7d2b0c327afbd4e.js} (99%) delete mode 100644 _next/static/chunks/pages/_app-66f3d8d03a439937.js create mode 100644 _next/static/chunks/pages/_app-939610c6c5c0b1be.js delete mode 100644 _next/static/chunks/pages/_error-77823ddac6993d35.js create mode 100644 _next/static/chunks/pages/_error-a1dfd1adb240a82a.js create mode 100644 _next/static/chunks/pages/docs-13c92593e12a0af3.js delete mode 100644 _next/static/chunks/pages/docs-44b3595b3318091b.js create mode 100644 _next/static/chunks/pages/docs/examples/nestjs-websocket-5144f71cd7f75305.js delete mode 100644 _next/static/chunks/pages/docs/examples/nestjs-websocket-b5b36f16e327f0bb.js create mode 100644 _next/static/chunks/pages/docs/examples/object-oriented-network-1f34ee90000a8355.js delete mode 100644 _next/static/chunks/pages/docs/examples/object-oriented-network-cbf127b32384edfd.js delete mode 100644 _next/static/chunks/pages/docs/examples/remote-function-call-012909a8eb9fe7eb.js create mode 100644 _next/static/chunks/pages/docs/examples/remote-function-call-f8b93368db1a6e07.js delete mode 100644 _next/static/chunks/pages/docs/examples/remote-object-call-4ebed196810cc884.js create mode 100644 _next/static/chunks/pages/docs/examples/remote-object-call-cefec2d58ffee31a.js delete mode 100644 _next/static/chunks/pages/docs/features/components-6e4e3148d556ee8f.js create mode 100644 _next/static/chunks/pages/docs/features/components-c700552875b5a57a.js rename _next/static/chunks/pages/docs/features/{websocket-0f0ddaac220d7cf8.js => websocket-8dee114018b5c10d.js} (53%) delete mode 100644 _next/static/chunks/pages/docs/features/worker-35683d38a4c87a6c.js create mode 100644 _next/static/chunks/pages/docs/features/worker-6ba57c80834fe01b.js create mode 100644 _next/static/chunks/pages/docs/projects/chat-431fee5f4afd4657.js delete mode 100644 _next/static/chunks/pages/docs/projects/chat-5b4280ef2ce9e2cd.js create mode 100644 _next/static/chunks/pages/docs/projects/market-35f572c94ef2116b.js delete mode 100644 _next/static/chunks/pages/docs/projects/market-7ca2ec1cf906b649.js create mode 100644 _next/static/chunks/pages/docs/projects/mutex-5b827b3a60bfb1a9.js delete mode 100644 _next/static/chunks/pages/docs/projects/mutex-6cc590d7ab20736e.js delete mode 100644 _next/static/chunks/pages/docs/remote-procedure-call-0227858445490802.js create mode 100644 _next/static/chunks/pages/docs/remote-procedure-call-77f4afa3b7f38a96.js create mode 100644 _next/static/chunks/pages/docs/setup-6c5a041f3a3d4968.js delete mode 100644 _next/static/chunks/pages/docs/setup-9f3e1178b892888b.js create mode 100644 _next/static/chunks/pages/index-3ae84526cce50e85.js delete mode 100644 _next/static/chunks/pages/index-a6a9578504c0ed59.js delete mode 100644 _next/static/chunks/webpack-6ef43a8d4a395f49.js create mode 100644 _next/static/chunks/webpack-96b7e9f1f62d2234.js delete mode 100644 _next/static/media/sequence.5a6cf4e8.png delete mode 100644 images/diagrams/sequence.png diff --git a/404.html b/404.html index 2101651..abb93aa 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file +404: This page could not be found

404

This page could not be found.

\ No newline at end of file diff --git a/404/index.html b/404/index.html index 2101651..abb93aa 100644 --- a/404/index.html +++ b/404/index.html @@ -1 +1 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file +404: This page could not be found

404

This page could not be found.

\ No newline at end of file diff --git a/_next/static/1SdZ6RBp-nS9ZiGe92iAu/_buildManifest.js b/_next/static/1SdZ6RBp-nS9ZiGe92iAu/_buildManifest.js deleted file mode 100644 index ab4cd1c..0000000 --- a/_next/static/1SdZ6RBp-nS9ZiGe92iAu/_buildManifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__BUILD_MANIFEST=function(e,s){return{__rewrites:{afterFiles:[{has:void 0,source:"/api",destination:"/api/index.html"}],beforeFiles:[],fallback:[]},"/":[e,s,"static/chunks/528-58aa8d04a1d8af04.js","static/chunks/pages/index-a6a9578504c0ed59.js"],"/_error":["static/chunks/pages/_error-77823ddac6993d35.js"],"/docs":[e,s,"static/chunks/pages/docs-44b3595b3318091b.js"],"/docs/examples/nestjs-websocket":[e,s,"static/chunks/pages/docs/examples/nestjs-websocket-b5b36f16e327f0bb.js"],"/docs/examples/object-oriented-network":[e,s,"static/chunks/pages/docs/examples/object-oriented-network-cbf127b32384edfd.js"],"/docs/examples/remote-function-call":[e,s,"static/chunks/pages/docs/examples/remote-function-call-012909a8eb9fe7eb.js"],"/docs/examples/remote-object-call":[e,s,"static/chunks/pages/docs/examples/remote-object-call-4ebed196810cc884.js"],"/docs/features/components":[e,s,"static/chunks/pages/docs/features/components-6e4e3148d556ee8f.js"],"/docs/features/websocket":[e,s,"static/chunks/pages/docs/features/websocket-0f0ddaac220d7cf8.js"],"/docs/features/worker":[e,s,"static/chunks/pages/docs/features/worker-35683d38a4c87a6c.js"],"/docs/projects/chat":[e,s,"static/chunks/pages/docs/projects/chat-5b4280ef2ce9e2cd.js"],"/docs/projects/market":[e,s,"static/chunks/pages/docs/projects/market-7ca2ec1cf906b649.js"],"/docs/projects/mutex":[e,s,"static/chunks/pages/docs/projects/mutex-6cc590d7ab20736e.js"],"/docs/remote-procedure-call":[e,s,"static/chunks/pages/docs/remote-procedure-call-0227858445490802.js"],"/docs/setup":[e,s,"static/chunks/pages/docs/setup-9f3e1178b892888b.js"],sortedPages:["/","/_app","/_error","/docs","/docs/examples/nestjs-websocket","/docs/examples/object-oriented-network","/docs/examples/remote-function-call","/docs/examples/remote-object-call","/docs/features/components","/docs/features/websocket","/docs/features/worker","/docs/projects/chat","/docs/projects/market","/docs/projects/mutex","/docs/remote-procedure-call","/docs/setup"]}}("static/css/445c4173ffc2bf04.css","static/chunks/235-45cfd8dac781d887.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/_next/static/GLAw2Dz8ONI28M4mhkDv5/_buildManifest.js b/_next/static/GLAw2Dz8ONI28M4mhkDv5/_buildManifest.js new file mode 100644 index 0000000..dd48a36 --- /dev/null +++ b/_next/static/GLAw2Dz8ONI28M4mhkDv5/_buildManifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST=function(e,s){return{__rewrites:{afterFiles:[{has:void 0,source:"/api",destination:"/api/index.html"}],beforeFiles:[],fallback:[]},"/":[e,s,"static/chunks/9528-ae38f81c8934c830.js","static/chunks/pages/index-3ae84526cce50e85.js"],"/_error":["static/chunks/pages/_error-a1dfd1adb240a82a.js"],"/docs":[e,s,"static/chunks/pages/docs-13c92593e12a0af3.js"],"/docs/examples/nestjs-websocket":[e,s,"static/chunks/pages/docs/examples/nestjs-websocket-5144f71cd7f75305.js"],"/docs/examples/object-oriented-network":[e,s,"static/chunks/pages/docs/examples/object-oriented-network-1f34ee90000a8355.js"],"/docs/examples/remote-function-call":[e,s,"static/chunks/pages/docs/examples/remote-function-call-f8b93368db1a6e07.js"],"/docs/examples/remote-object-call":[e,s,"static/chunks/pages/docs/examples/remote-object-call-cefec2d58ffee31a.js"],"/docs/features/components":["static/chunks/8f0ac8b7-e060b73292392c08.js",e,s,"static/chunks/177-7d7bc98c5b8d9780.js","static/chunks/pages/docs/features/components-c700552875b5a57a.js"],"/docs/features/websocket":[e,s,"static/chunks/pages/docs/features/websocket-8dee114018b5c10d.js"],"/docs/features/worker":[e,s,"static/chunks/pages/docs/features/worker-6ba57c80834fe01b.js"],"/docs/projects/chat":[e,s,"static/chunks/pages/docs/projects/chat-431fee5f4afd4657.js"],"/docs/projects/market":[e,s,"static/chunks/pages/docs/projects/market-35f572c94ef2116b.js"],"/docs/projects/mutex":[e,s,"static/chunks/pages/docs/projects/mutex-5b827b3a60bfb1a9.js"],"/docs/remote-procedure-call":[e,s,"static/chunks/pages/docs/remote-procedure-call-77f4afa3b7f38a96.js"],"/docs/setup":[e,s,"static/chunks/pages/docs/setup-6c5a041f3a3d4968.js"],sortedPages:["/","/_app","/_error","/docs","/docs/examples/nestjs-websocket","/docs/examples/object-oriented-network","/docs/examples/remote-function-call","/docs/examples/remote-object-call","/docs/features/components","/docs/features/websocket","/docs/features/worker","/docs/projects/chat","/docs/projects/market","/docs/projects/mutex","/docs/remote-procedure-call","/docs/setup"]}}("static/css/445c4173ffc2bf04.css","static/chunks/6235-da2d0ec03c4908f5.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/_next/static/1SdZ6RBp-nS9ZiGe92iAu/_ssgManifest.js b/_next/static/GLAw2Dz8ONI28M4mhkDv5/_ssgManifest.js similarity index 100% rename from _next/static/1SdZ6RBp-nS9ZiGe92iAu/_ssgManifest.js rename to _next/static/GLAw2Dz8ONI28M4mhkDv5/_ssgManifest.js diff --git a/_next/static/chunks/1289.90fd0a4824532137.js b/_next/static/chunks/1289.90fd0a4824532137.js new file mode 100644 index 0000000..67ec357 --- /dev/null +++ b/_next/static/chunks/1289.90fd0a4824532137.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1289],{3127:function(t,e,n){n.d(e,{diagram:function(){return G}});var i=n(1835),r=n(4218);function s(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n>r||void 0===n&&r>=r)&&(n=r)}return n}function o(t){return t.target.depth}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t,e){let n=0;if(void 0===e)for(let e of t)(e=+e)&&(n+=e);else{let i=-1;for(let r of t)(r=+e(r,++i,t))&&(n+=r)}return n}function a(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n=r)&&(n=r)}return n}function c(t){return function(){return t}}function u(t,e){return y(t.source,e.source)||t.index-e.index}function f(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.y0-e.y0}function d(t){return t.value}function p(t){return t.index}function g(t){return t.nodes}function _(t){return t.links}function x(t,e){let n=t.get(e);if(!n)throw Error("missing: "+e);return n}function m({nodes:t}){for(let e of t){let t=e.y0,n=t;for(let n of e.sourceLinks)n.y0=t+n.width/2,t+=n.width;for(let t of e.targetLinks)t.y1=n+t.width/2,n+=t.width}}var k=Math.PI,v=2*k,b=v-1e-6;function E(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function w(){return new E}E.prototype=w.prototype={constructor:E,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,i){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+i)},bezierCurveTo:function(t,e,n,i,r,s){this._+="C"+ +t+","+ +e+","+ +n+","+ +i+","+(this._x1=+r)+","+(this._y1=+s)},arcTo:function(t,e,n,i,r){t=+t,e=+e,n=+n,i=+i,r=+r;var s=this._x1,o=this._y1,l=n-t,h=i-e,a=s-t,c=o-e,u=a*a+c*c;if(r<0)throw Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(u>1e-6){if(Math.abs(c*l-h*a)>1e-6&&r){var f=n-s,y=i-o,d=l*l+h*h,p=Math.sqrt(d),g=Math.sqrt(u),_=r*Math.tan((k-Math.acos((d+u-(f*f+y*y))/(2*p*g)))/2),x=_/g,m=_/p;Math.abs(x-1)>1e-6&&(this._+="L"+(t+x*a)+","+(e+x*c)),this._+="A"+r+","+r+",0,0,"+ +(c*f>a*y)+","+(this._x1=t+m*l)+","+(this._y1=e+m*h)}else this._+="L"+(this._x1=t)+","+(this._y1=e)}},arc:function(t,e,n,i,r,s){t=+t,e=+e,n=+n,s=!!s;var o=n*Math.cos(i),l=n*Math.sin(i),h=t+o,a=e+l,c=1^s,u=s?i-r:r-i;if(n<0)throw Error("negative radius: "+n);null===this._x1?this._+="M"+h+","+a:(Math.abs(this._x1-h)>1e-6||Math.abs(this._y1-a)>1e-6)&&(this._+="L"+h+","+a),n&&(u<0&&(u=u%v+v),u>b?this._+="A"+n+","+n+",0,1,"+c+","+(t-o)+","+(e-l)+"A"+n+","+n+",0,1,"+c+","+(this._x1=h)+","+(this._y1=a):u>1e-6&&(this._+="A"+n+","+n+",0,"+ +(u>=k)+","+c+","+(this._x1=t+n*Math.cos(r))+","+(this._y1=e+n*Math.sin(r))))},rect:function(t,e,n,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}};var A=Array.prototype.slice;function S(t){return function(){return t}}function L(t){return t[0]}function M(t){return t[1]}function I(t){return t.source}function T(t){return t.target}function N(t,e,n,i,r){t.moveTo(e,n),t.bezierCurveTo(e=(e+i)/2,n,e,r,i,r)}function O(t){return[t.source.x1,t.y0]}function P(t){return[t.target.x0,t.y1]}n(7484),n(6574),n(7856);var C=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,9],n=[1,10],i=[1,5,10,12],r={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(t,e,n,i,r,s,o){var l=s.length-1;switch(r){case 7:let h=i.findOrCreateNode(s[l-4].trim().replaceAll('""','"')),a=i.findOrCreateNode(s[l-2].trim().replaceAll('""','"')),c=parseFloat(s[l].trim());i.addLink(h,a,c);break;case 8:case 9:case 11:this.$=s[l];break;case 10:this.$=s[l-1]}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:n},{1:[2,6],7:11,10:[1,12]},t(n,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(i,[2,8]),t(i,[2,9]),{19:[1,16]},t(i,[2,11]),{1:[2,1]},{1:[2,5]},t(n,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:n},{15:18,16:7,17:8,18:e,20:n},{18:[1,19]},t(n,[2,3]),{12:[1,20]},t(i,[2,10]),{15:21,16:7,17:8,18:e,20:n},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=e,n}},parse:function(t){var e=this,n=[0],i=[],r=[null],s=[],o=this.table,l="",h=0,a=0,c=s.slice.call(arguments,1),u=Object.create(this.lexer),f={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(f.yy[y]=this.yy[y]);u.setInput(t,f.yy),f.yy.lexer=u,f.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var d=u.yylloc;s.push(d);var p=u.options&&u.options.ranges;"function"==typeof f.yy.parseError?this.parseError=f.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,_,x,m,k,v,b,E,w={};;){if(_=n[n.length-1],this.defaultActions[_]?x=this.defaultActions[_]:(null==g&&(g=function(){var t;return"number"!=typeof(t=i.pop()||u.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}()),x=o[_]&&o[_][g]),void 0===x||!x.length||!x[0]){var A="";for(k in E=[],o[_])this.terminals_[k]&&k>2&&E.push("'"+this.terminals_[k]+"'");A=u.showPosition?"Parse error on line "+(h+1)+":\n"+u.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==g?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(A,{text:u.match,token:this.terminals_[g]||g,line:u.yylineno,loc:d,expected:E})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+_+", token: "+g);switch(x[0]){case 1:n.push(g),r.push(u.yytext),s.push(u.yylloc),n.push(x[1]),g=null,a=u.yyleng,l=u.yytext,h=u.yylineno,d=u.yylloc;break;case 2:if(v=this.productions_[x[1]][1],w.$=r[r.length-v],w._$={first_line:s[s.length-(v||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(v||1)].first_column,last_column:s[s.length-1].last_column},p&&(w._$.range=[s[s.length-(v||1)].range[0],s[s.length-1].range[1]]),void 0!==(m=this.performAction.apply(w,[l,a,h,f.yy,x[1],r,s].concat(c))))return m;v&&(n=n.slice(0,-1*v*2),r=r.slice(0,-1*v),s=s.slice(0,-1*v)),n.push(this.productions_[x[1]][0]),r.push(w.$),s.push(w._$),b=o[n[n.length-2]][n[n.length-1]],n.push(b);break;case 3:return!0}}return!0}};function s(){this.yy={}}return r.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var s in r)this[s]=r[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,n,i,r=this._currentRules(),s=0;se[0].length)){if(e=n,i=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}},s.prototype=r,r.Parser=s,new s}();C.parser=C;let D=[],$=[],j={};class z{constructor(t,e,n=0){this.source=t,this.target=e,this.value=n}}class Y{constructor(t){this.ID=t}}let F={nodesMap:j,getConfig:()=>(0,i.c)().sankey,getNodes:()=>$,getLinks:()=>D,getGraph:()=>({nodes:$.map(t=>({id:t.ID})),links:D.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),addLink:(t,e,n)=>{D.push(new z(t,e,n))},findOrCreateNode:t=>(j[t=i.e.sanitizeText(t,(0,i.c)())]||(j[t]=new Y(t),$.push(j[t])),j[t]),getAccTitle:i.g,setAccTitle:i.s,getAccDescription:i.a,setAccDescription:i.b,getDiagramTitle:i.t,setDiagramTitle:i.q,clear:()=>{D=[],$=[],j={},(0,i.v)()}},U=class t{static next(e){return new t(e+ ++t.count)}constructor(t){this.id=t,this.href=`#${t}`}toString(){return"url("+this.href+")"}};U.count=0;let W={left:function(t){return t.depth},right:function(t,e){return e-1-t.height},center:function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?s(t.sourceLinks,o)-1:0},justify:l},K=t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim(),q=C.parse.bind(C);C.parse=t=>q(K(t));let G={parser:C,db:F,renderer:{draw:function(t,e,n,o){let k,v;let{securityLevel:b,sankey:E}=(0,i.c)(),C=i.K.sankey;"sandbox"===b&&(k=(0,r.Ys)("#i"+e));let D="sandbox"===b?(0,r.Ys)(k.nodes()[0].contentDocument.body):(0,r.Ys)("body"),$="sandbox"===b?D.select(`[id="${e}"]`):(0,r.Ys)(`[id="${e}"]`),j=(null==E?void 0:E.width)??C.width,z=(null==E?void 0:E.height)??C.width,Y=(null==E?void 0:E.useMaxWidth)??C.useMaxWidth,F=(null==E?void 0:E.nodeAlignment)??C.nodeAlignment,K=(null==E?void 0:E.prefix)??C.prefix,q=(null==E?void 0:E.suffix)??C.suffix,G=(null==E?void 0:E.showValues)??C.showValues,V=o.db.getGraph(),X=W[F];(function(){let t,e,n=0,i=0,r=1,o=1,k=24,v=8,b,E=p,w=l,A=g,S=_,L=6;function M(){let l={nodes:A.apply(null,arguments),links:S.apply(null,arguments)};return function({nodes:t,links:n}){for(let[e,n]of t.entries())n.index=e,n.sourceLinks=[],n.targetLinks=[];let i=new Map(t.map((e,n)=>[E(e,n,t),e]));for(let[t,e]of n.entries()){e.index=t;let{source:n,target:r}=e;"object"!=typeof n&&(n=e.source=x(i,n)),"object"!=typeof r&&(r=e.target=x(i,r)),n.sourceLinks.push(e),r.targetLinks.push(e)}if(null!=e)for(let{sourceLinks:n,targetLinks:i}of t)n.sort(e),i.sort(e)}(l),function({nodes:t}){for(let e of t)e.value=void 0===e.fixedValue?Math.max(h(e.sourceLinks,d),h(e.targetLinks,d)):e.fixedValue}(l),function({nodes:t}){let e=t.length,n=new Set(t),i=new Set,r=0;for(;n.size;){for(let t of n)for(let{target:e}of(t.depth=r,t.sourceLinks))i.add(e);if(++r>e)throw Error("circular link");n=i,i=new Set}}(l),function({nodes:t}){let e=t.length,n=new Set(t),i=new Set,r=0;for(;n.size;){for(let t of n)for(let{source:e}of(t.height=r,t.targetLinks))i.add(e);if(++r>e)throw Error("circular link");n=i,i=new Set}}(l),function(l){let c=function({nodes:e}){let i=a(e,t=>t.depth)+1,s=(r-n-k)/(i-1),o=Array(i);for(let t of e){let e=Math.max(0,Math.min(i-1,Math.floor(w.call(null,t,i))));t.layer=e,t.x0=n+e*s,t.x1=t.x0+k,o[e]?o[e].push(t):o[e]=[t]}if(t)for(let e of o)e.sort(t);return o}(l);b=Math.min(v,(o-i)/(a(c,t=>t.length)-1)),function(t){let n=s(t,t=>(o-i-(t.length-1)*b)/h(t,d));for(let r of t){let t=i;for(let e of r)for(let i of(e.y0=t,e.y1=t+e.value*n,t=e.y1+b,e.sourceLinks))i.width=i.value*n;t=(o-t+b)/(r.length+1);for(let e=0;e=0;--s){let r=e[s];for(let t of r){let e=0,i=0;for(let{target:n,value:r}of t.sourceLinks){let s=r*(n.layer-t.layer);e+=function(t,e){let n=e.y0-(e.targetLinks.length-1)*b/2;for(let{source:i,width:r}of e.targetLinks){if(i===t)break;n+=r+b}for(let{target:i,width:r}of t.sourceLinks){if(i===e)break;n-=r}return n}(t,n)*s,i+=s}if(!(i>0))continue;let r=(e/i-t.y0)*n;t.y0+=r,t.y1+=r,O(t)}void 0===t&&r.sort(y),I(r,i)}})(c,n,i),function(e,n,i){for(let r=1,s=e.length;r0))continue;let r=(e/i-t.y0)*n;t.y0+=r,t.y1+=r,O(t)}void 0===t&&s.sort(y),I(s,i)}}(c,n,i)}}(l),m(l),l}function I(t,e){let n=t.length>>1,r=t[n];N(t,r.y0-b,n-1,e),T(t,r.y1+b,n+1,e),N(t,o,t.length-1,e),T(t,i,0,e)}function T(t,e,n,i){for(;n1e-6&&(r.y0+=s,r.y1+=s),e=r.y1+b}}function N(t,e,n,i){for(;n>=0;--n){let r=t[n],s=(r.y1-e)*i;s>1e-6&&(r.y0-=s,r.y1-=s),e=r.y0-b}}function O({sourceLinks:t,targetLinks:n}){if(void 0===e){for(let{source:{sourceLinks:t}}of n)t.sort(f);for(let{target:{targetLinks:e}}of t)e.sort(u)}}return M.update=function(t){return m(t),t},M.nodeId=function(t){return arguments.length?(E="function"==typeof t?t:c(t),M):E},M.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:c(t),M):w},M.nodeSort=function(e){return arguments.length?(t=e,M):t},M.nodeWidth=function(t){return arguments.length?(k=+t,M):k},M.nodePadding=function(t){return arguments.length?(v=b=+t,M):v},M.nodes=function(t){return arguments.length?(A="function"==typeof t?t:c(t),M):A},M.links=function(t){return arguments.length?(S="function"==typeof t?t:c(t),M):S},M.linkSort=function(t){return arguments.length?(e=t,M):e},M.size=function(t){return arguments.length?(n=i=0,r=+t[0],o=+t[1],M):[r-n,o-i]},M.extent=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],i=+t[0][1],o=+t[1][1],M):[[n,i],[r,o]]},M.iterations=function(t){return arguments.length?(L=+t,M):L},M})().nodeId(t=>t.id).nodeWidth(10).nodePadding(10+(G?15:0)).nodeAlign(X).extent([[0,0],[j,z]])(V);let Q=(0,r.PKp)(r.K2I);$.append("g").attr("class","nodes").selectAll(".node").data(V.nodes).join("g").attr("class","node").attr("id",t=>(t.uid=U.next("node-")).id).attr("transform",function(t){return"translate("+t.x0+","+t.y0+")"}).attr("x",t=>t.x0).attr("y",t=>t.y0).append("rect").attr("height",t=>t.y1-t.y0).attr("width",t=>t.x1-t.x0).attr("fill",t=>Q(t.id)),$.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(V.nodes).join("text").attr("x",t=>t.x0(t.y1+t.y0)/2).attr("dy",`${G?"0":"0.35"}em`).attr("text-anchor",t=>t.x0G?`${t} +${K}${Math.round(100*e)/100}${q}`:t);let B=$.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(V.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),R=(null==E?void 0:E.linkColor)||"gradient";if("gradient"===R){let t=B.append("linearGradient").attr("id",t=>(t.uid=U.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",t=>t.source.x1).attr("x2",t=>t.target.x0);t.append("stop").attr("offset","0%").attr("stop-color",t=>Q(t.source.id)),t.append("stop").attr("offset","100%").attr("stop-color",t=>Q(t.target.id))}switch(R){case"gradient":v=t=>t.uid;break;case"source":v=t=>Q(t.source.id);break;case"target":v=t=>Q(t.target.id);break;default:v=R}B.append("path").attr("d",(function(t){var e=I,n=T,i=L,r=M,s=null;function o(){var o,l=A.call(arguments),h=e.apply(this,l),a=n.apply(this,l);if(s||(s=o=w()),t(s,+i.apply(this,(l[0]=h,l)),+r.apply(this,l),+i.apply(this,(l[0]=a,l)),+r.apply(this,l)),o)return s=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(n=t,o):n},o.x=function(t){return arguments.length?(i="function"==typeof t?t:S(+t),o):i},o.y=function(t){return arguments.length?(r="function"==typeof t?t:S(+t),o):r},o.context=function(t){return arguments.length?(s=null==t?null:t,o):s},o})(N).source(O).target(P)).attr("stroke",v).attr("stroke-width",t=>Math.max(1,t.width)),(0,i.o)(void 0,$,0,Y)}}}}}]); \ No newline at end of file diff --git a/_next/static/chunks/1316.ce36c76fc45a9fc6.js b/_next/static/chunks/1316.ce36c76fc45a9fc6.js new file mode 100644 index 0000000..210bb0d --- /dev/null +++ b/_next/static/chunks/1316.ce36c76fc45a9fc6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1316],{1316:function(e,n,r){r.d(n,{bK:function(){return e8}});var t,o=r(4678),i=r(303),u=r(3625),a=r(547),d=r(1243),f=r(4917),c=r(3784),s=r(5625);class g{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,n=e._prev;if(n!==e)return h(n),n}enqueue(e){var n=this._sentinel;e._prev&&e._next&&h(e),e._next=n._next,n._next._prev=e,n._next=e,e._prev=n}toString(){for(var e=[],n=this._sentinel,r=n._prev;r!==n;)e.push(JSON.stringify(r,v)),r=r._prev;return"["+e.join(", ")+"]"}}function h(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function v(e,n){if("_next"!==e&&"_prev"!==e)return n}var l=a.Z(1);function Z(e,n,r,t,i){var u=i?[]:void 0;return o.Z(e.inEdges(t.v),function(t){var o=e.edge(t),a=e.node(t.v);i&&u.push({v:t.v,w:t.w}),a.out-=o,p(n,r,a)}),o.Z(e.outEdges(t.v),function(t){var o=e.edge(t),i=t.w,u=e.node(i);u.in-=o,p(n,r,u)}),e.removeNode(t.v),u}function p(e,n,r){r.out?r.in?e[r.out-r.in+n].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var w=r(7826),m=r(2153),b=r(8269),y=r(1005),k=function(e,n,r){for(var t=-1,o=e.length;++tn},E=r(5165),N=function(e){return e&&e.length?k(e,E.Z,x):void 0},_=function(e){var n=null==e?0:e.length;return n?e[n-1]:void 0},I=r(9510),R=r(323),M=r(8891),T=function(e,n){var r={};return n=(0,M.Z)(n,3),(0,R.Z)(e,function(e,t,o){(0,I.Z)(r,t,n(e,t,o))}),r},L=r(4279),C=function(e,n){return eMath.abs(u)*f?(a<0&&(f=-f),r=f*u/a,t=f):(u<0&&(d=-d),r=d,t=d*a/u),{x:o+r,y:i+t}}function V(e){var n=f.Z(c.Z(q(e)+1),function(){return[]});return o.Z(e.nodes(),function(r){var t=e.node(r),o=t.rank;L.Z(o)||(n[o][t.order]=r)}),n}function B(e,n,r,t){var o={width:0,height:0};return arguments.length>=4&&(o.rank=r,o.order=t),j(e,"border",o,n)}function q(e){return N(f.Z(e.nodes(),function(n){var r=e.node(n).rank;if(!L.Z(r))return r}))}function Y(e,n){var r=S();try{return n()}finally{console.log(e+" time: "+(S()-r)+"ms")}}function z(e,n){return n()}function A(e,n,r,t,o,i){var u=o[n][i-1],a=j(e,"border",{width:0,height:0,rank:i,borderType:n},r);o[n][i]=a,e.setParent(a,t),u&&e.setEdge(u,a,{weight:1})}function D(e){o.Z(e.nodes(),function(n){$(e.node(n))}),o.Z(e.edges(),function(n){$(e.edge(n))})}function $(e){var n=e.width;e.width=e.height,e.height=n}function J(e){e.y=-e.y}function K(e){var n=e.x;e.x=e.y,e.y=n}var H=function(e,n){return e&&e.length?k(e,(0,M.Z)(n,2),C):void 0};function Q(e){var n={};o.Z(e.sources(),function r(t){var o=e.node(t);if(u.Z(n,t))return o.rank;n[t]=!0;var i=O(f.Z(e.outEdges(t),function(n){return r(n.w)-e.edge(n).minlen}));return(i===Number.POSITIVE_INFINITY||null==i)&&(i=0),o.rank=i})}function U(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}function W(e){var n,r,t=new s.k({directed:!1}),i=e.nodes()[0],u=e.nodeCount();for(t.setNode(i,{});o.Z(t.nodes(),function n(r){o.Z(e.nodeEdges(r),function(o){var i=o.v,u=r===i?o.w:i;t.hasNode(u)||U(e,o)||(t.setNode(u,{}),t.setEdge(r,u,{}),n(u))})}),t.nodeCount()-1?o[i?e[u]:u]:void 0}),eu=r(715);a.Z(1),a.Z(1);var ea=r(6986),ed=r(8318),ef=r(5378),ec=r(4837),es=r(7977),eg=(0,r(4365).Z)("length"),eh=RegExp("[\\u200d\ud800-\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),ev="\ud800-\udfff",el="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",eZ="\ud83c[\udffb-\udfff]",ep="[^"+ev+"]",ew="(?:\ud83c[\udde6-\uddff]){2}",em="[\ud800-\udbff][\udc00-\udfff]",eb="(?:"+el+"|"+eZ+")?",ey="[\\ufe0e\\ufe0f]?",ek="(?:\\u200d(?:"+[ep,ew,em].join("|")+")"+ey+eb+")*",ex=RegExp(eZ+"(?="+eZ+")|(?:"+[ep+el+"?",el,ew,em,"["+ev+"]"].join("|")+")"+(ey+eb+ek),"g"),eE=function(e){for(var n=ex.lastIndex=0;ex.test(e);)++n;return n};function eN(e,n,r){ec.Z(n)||(n=[n]);var t=(e.isDirected()?e.successors:e.neighbors).bind(e),i=[],a={};return o.Z(n,function(n){if(!e.hasNode(n))throw Error("Graph does not have node: "+n);(function e(n,r,t,i,a,d){!u.Z(i,r)&&(i[r]=!0,t||d.push(r),o.Z(a(r),function(r){e(n,r,t,i,a,d)}),t&&d.push(r))})(e,n,"post"===r,a,t,i)}),i}function e_(e){n=e,r=new s.k().setGraph(n.graph()),o.Z(n.nodes(),function(e){r.setNode(e,n.node(e))}),o.Z(n.edges(),function(e){var t=r.edge(e.v,e.w)||{weight:0,minlen:1},o=n.edge(e);r.setEdge(e.v,e.w,{weight:t.weight+o.weight,minlen:Math.max(t.minlen,o.minlen)})}),Q(e=r);var n,r,t,i,u=W(e);for(eM(u),eI(u,e);t=eT(u);)i=eL(u,e,t),eC(u,e,t,i)}function eI(e,n){var r=eN(e,e.nodes(),"post");r=r.slice(0,r.length-1),o.Z(r,function(r){var t;t=e.node(r).parent,e.edge(r,t).cutvalue=eR(e,n,r)})}function eR(e,n,r){var t=e.node(r).parent,i=!0,u=n.edge(r,t),a=0;return u||(i=!1,u=n.edge(t,r)),a=u.weight,o.Z(n.nodeEdges(r),function(o){var u=o.v===r,d=u?o.w:o.v;if(d!==t){var f=u===i,c=n.edge(o).weight;if(a+=f?c:-c,e.hasEdge(r,d)){var s=e.edge(r,d).cutvalue;a+=f?-s:s}}}),a}function eM(e,n){arguments.length<2&&(n=e.nodes()[0]),function e(n,r,t,i,a){var d=t,f=n.node(i);return r[i]=!0,o.Z(n.neighbors(i),function(o){u.Z(r,o)||(t=e(n,r,t,o,i))}),f.low=d,f.lim=t++,a?f.parent=a:delete f.parent,t}(e,{},1,n)}function eT(e){return ei(e.edges(),function(n){return e.edge(n).cutvalue<0})}function eL(e,n,r){var t=r.v,o=r.w;n.hasEdge(t,o)||(t=r.w,o=r.v);var i=e.node(t),u=e.node(o),a=i,d=!1;return i.lim>u.lim&&(a=u,d=!0),H(eu.Z(n.edges(),function(n){return d===eO(e,e.node(n.v),a)&&d!==eO(e,e.node(n.w),a)}),function(e){return U(n,e)})}function eC(e,n,r,t){var i,u,a=r.v,d=r.w;e.removeEdge(a,d),e.setEdge(t.v,t.w,{}),eM(e),eI(e,n),i=ei(e.nodes(),function(e){return!n.node(e).parent}),u=(u=eN(e,i,"pre")).slice(1),o.Z(u,function(r){var t=e.node(r).parent,o=n.edge(r,t),i=!1;o||(o=n.edge(t,r),i=!0),n.node(r).rank=n.node(t).rank+(i?o.minlen:-o.minlen)})}function eO(e,n,r){return r.low<=n.lim&&n.lim<=r.lim}Error(),r(8805),e_.initLowLimValues=eM,e_.initCutValues=eI,e_.calcCutValue=eR,e_.leaveEdge=eT,e_.enterEdge=eL,e_.exchangeEdges=eC;var eP=r(3213),eS=r(7015),ej=r(6938),eF=r(6049),eG=function(e,n,r){for(var t=-1,o=e.length,i=n.length,u={};++tn||i&&u&&d&&!a&&!f||t&&u&&d||!r&&d||!o)return 1;if(!t&&!i&&!f&&e=a)return d;return d*("desc"==r[t]?-1:1)}}return e.index-n.index},eJ=function(e,n,r){n=n.length?(0,eB.Z)(n,function(e){return(0,ec.Z)(e)?function(n){return(0,eq.Z)(n,1===e.length?e[0]:e)}:e}):[E.Z];var t=-1;return n=(0,eB.Z)(n,(0,eA.Z)(M.Z)),ez((0,eY.Z)(e,function(e,r,o){return{criteria:(0,eB.Z)(n,function(n){return n(e)}),index:++t,value:e}}),function(e,n){return e$(e,n,r)})},eK=r(8702),eH=r(2834),eQ=(0,eK.Z)(function(e,n){if(null==e)return[];var r=n.length;return r>1&&(0,eH.Z)(e,n[0],n[1])?n=[]:r>2&&(0,eH.Z)(n[0],n[1],n[2])&&(n=[n[0]]),eJ(e,(0,eV.Z)(n,1),[])});function eU(e,n,r){for(var t;n.length&&(t=_(n)).i<=r;)n.pop(),e.push(t.vs),r++;return r}function eW(e,n,r){return f.Z(n,function(n){var t,a;return t=function(e){for(var n;e.hasNode(n=i.Z("_root")););return n}(e),a=new s.k({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(n){return e.node(n)}),o.Z(e.nodes(),function(i){var d=e.node(i),f=e.parent(i);(d.rank===n||d.minRank<=n&&n<=d.maxRank)&&(a.setNode(i),a.setParent(i,f||t),o.Z(e[r](i),function(n){var r=n.v===i?n.w:n.v,t=a.edge(r,i),o=L.Z(t)?0:t.weight;a.setEdge(r,i,{weight:e.edge(n).weight+o})}),u.Z(d,"minRank")&&a.setNode(i,{borderLeft:d.borderLeft[n],borderRight:d.borderRight[n]}))}),a})}function eX(e,n){o.Z(n,function(n){o.Z(n,function(n,r){e.node(n).order=r})})}var e0=r(5672),e1=r(8042),e2=r(6930);function e3(e,n,r){if(n>r){var t=n;n=r,r=t}var o=e[n];o||(e[n]=o={}),o[r]=!0}function e8(e,n){var r=n&&n.debugTiming?Y:z;r("layout",function(){var n=r(" buildLayoutGraph",function(){var n,r;return n=new s.k({multigraph:!0,compound:!0}),r=no(e.graph()),n.setGraph(w.Z({},e4,nt(r,e5),m.Z(r,e6))),o.Z(e.nodes(),function(r){var t=no(e.node(r));n.setNode(r,b.Z(nt(t,e7),e9)),n.setParent(r,e.parent(r))}),o.Z(e.edges(),function(r){var t=no(e.edge(r));n.setEdge(r,w.Z({},nn,nt(t,ne),m.Z(t,nr)))}),n});r(" runLayout",function(){r(" makeSpaceForEdgeLabels",function(){var e;e=n.graph(),e.ranksep/=2,o.Z(n.edges(),function(r){var t=n.edge(r);t.minlen*=2,"c"!==t.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?t.width+=t.labeloffset:t.height+=t.labeloffset)})}),r(" removeSelfEdges",function(){o.Z(n.edges(),function(e){if(e.v===e.w){var r=n.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:e,label:n.edge(e)}),n.removeEdge(e)}})}),r(" acyclic",function(){var e,r,t,a;e="greedy"===n.graph().acyclicer?function(e,n){if(1>=e.nodeCount())return[];var r,t,i,u,a,h,v=(r=n||l,t=new s.k,i=0,u=0,o.Z(e.nodes(),function(e){t.setNode(e,{v:e,in:0,out:0})}),o.Z(e.edges(),function(e){var n=t.edge(e.v,e.w)||0,o=r(e);t.setEdge(e.v,e.w,n+o),u=Math.max(u,t.node(e.v).out+=o),i=Math.max(i,t.node(e.w).in+=o)}),a=c.Z(u+i+3).map(function(){return new g}),h=i+1,o.Z(t.nodes(),function(e){p(a,h,t.node(e))}),{graph:t,buckets:a,zeroIdx:h}),w=function(e,n,r){for(var t,o=[],i=n[n.length-1],u=n[0];e.nodeCount();){for(;t=u.dequeue();)Z(e,n,r,t);for(;t=i.dequeue();)Z(e,n,r,t);if(e.nodeCount()){for(var a=n.length-2;a>0;--a)if(t=n[a].dequeue()){o=o.concat(Z(e,n,r,t,!0));break}}}return o}(v.graph,v.buckets,v.zeroIdx);return d.Z(f.Z(w,function(n){return e.outEdges(n.v,n.w)}))}(n,function(e){return n.edge(e).weight}):(r=[],t={},a={},o.Z(n.nodes(),function e(i){u.Z(a,i)||(a[i]=!0,t[i]=!0,o.Z(n.outEdges(i),function(n){u.Z(t,n.w)?r.push(n):e(n.w)}),delete t[i])}),r),o.Z(e,function(e){var r=n.edge(e);n.removeEdge(e),r.forwardName=e.name,r.reversed=!0,n.setEdge(e.w,e.v,r,i.Z("rev"))})}),r(" nestingGraph.run",function(){var e,r,t,i,u;e=j(n,"root",{},"_root"),u={},o.Z(n.children(),function(e){!function e(r,t){var i=n.children(r);i&&i.length&&o.Z(i,function(n){e(n,t+1)}),u[r]=t}(e,1)}),t=2*(r=N(eP.Z(u))-1)+1,n.graph().nestingRoot=e,o.Z(n.edges(),function(e){n.edge(e).minlen*=t}),i=eS.Z(n.edges(),function(e,r){return e+n.edge(r).weight},0)+1,o.Z(n.children(),function(a){(function e(n,r,t,i,u,a,d){var f=n.children(d);if(!f.length){d!==r&&n.setEdge(r,d,{weight:0,minlen:t});return}var c=B(n,"_bt"),s=B(n,"_bb"),g=n.node(d);n.setParent(c,d),g.borderTop=c,n.setParent(s,d),g.borderBottom=s,o.Z(f,function(o){e(n,r,t,i,u,a,o);var f=n.node(o),g=f.borderTop?f.borderTop:o,h=f.borderBottom?f.borderBottom:o,v=f.borderTop?i:2*i,l=g!==h?1:u-a[d]+1;n.setEdge(c,g,{weight:v,minlen:l,nestingEdge:!0}),n.setEdge(h,s,{weight:v,minlen:l,nestingEdge:!0})}),n.parent(d)||n.setEdge(r,c,{weight:0,minlen:u+a[d]})})(n,e,t,i,r,u,a)}),n.graph().nodeRankFactor=t}),r(" rank",function(){!function(e){switch(e.graph().ranker){case"network-simplex":default:e_(e);break;case"tight-tree":Q(e),W(e);break;case"longest-path":Q(e)}}(F(n))}),r(" injectEdgeLabelProxies",function(){o.Z(n.edges(),function(e){var r=n.edge(e);if(r.width&&r.height){var t=n.node(e.v),o={rank:(n.node(e.w).rank-t.rank)/2+t.rank,e:e};j(n,"edge-proxy",o,"_ep")}})}),r(" removeEmptyRanks",function(){var e,r,t,i;e=O(f.Z(n.nodes(),function(e){return n.node(e).rank})),r=[],o.Z(n.nodes(),function(t){var o=n.node(t).rank-e;r[o]||(r[o]=[]),r[o].push(t)}),t=0,i=n.graph().nodeRankFactor,o.Z(r,function(e,r){L.Z(e)&&r%i!=0?--t:t&&o.Z(e,function(e){n.node(e).rank+=t})})}),r(" nestingGraph.cleanup",function(){var e;e=n.graph(),n.removeNode(e.nestingRoot),delete e.nestingRoot,o.Z(n.edges(),function(e){n.edge(e).nestingEdge&&n.removeEdge(e)})}),r(" normalizeRanks",function(){var e;e=O(f.Z(n.nodes(),function(e){return n.node(e).rank})),o.Z(n.nodes(),function(r){var t=n.node(r);u.Z(t,"rank")&&(t.rank-=e)})}),r(" assignRankMinMax",function(){var e;e=0,o.Z(n.nodes(),function(r){var t=n.node(r);t.borderTop&&(t.minRank=n.node(t.borderTop).rank,t.maxRank=n.node(t.borderBottom).rank,e=N(e,t.maxRank))}),n.graph().maxRank=e}),r(" removeEdgeLabelProxies",function(){o.Z(n.nodes(),function(e){var r=n.node(e);"edge-proxy"===r.dummy&&(n.edge(r.e).labelRank=r.rank,n.removeNode(e))})}),r(" normalize.run",function(){n.graph().dummyChains=[],o.Z(n.edges(),function(e){(function(e,n){var r,t,o,i=n.v,u=e.node(i).rank,a=n.w,d=e.node(a).rank,f=n.name,c=e.edge(n),s=c.labelRank;if(d!==u+1){for(e.removeEdge(n),o=0,++u;ud||f>n[o].lim));for(i=o,o=t;(o=e.parent(o))!==i;)a.push(o);return{path:u.concat(a.reverse()),lca:i}}(n,e,o.v,o.w),u=i.path,a=i.lca,d=0,f=u[0],c=!0;r!==o.w;){if(t=n.node(r),c){for(;(f=u[d])!==a&&n.node(f).maxRank=e.barycenter)&&function(e,n){var r=0,t=0;e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=r/t,e.weight=t,e.i=Math.min(n.i,e.i),n.merged=!0}(e,n)}}(r)),o.Z(r.out,function(n){return function(r){r.in.push(n),0==--r.indegree&&e.push(r)}}(r))}return f.Z(eu.Z(n,function(e){return!e.merged}),function(e){return m.Z(e,["vs","i","barycenter","weight"])})}(eu.Z(c,function(e){return!e.indegree})));(function(e,n){o.Z(e,function(e){e.vs=d.Z(e.vs.map(function(e){return n[e]?n[e].vs:e}))})})(I,N);var R=(h=(s=function(e){return u.Z(e,"barycenter")},g={lhs:[],rhs:[]},o.Z(I,function(e){s(e)?g.lhs.push(e):g.rhs.push(e)}),g).lhs,v=eQ(g.rhs,function(e){return-e.i}),l=[],Z=0,p=0,w=0,h.sort(function(e){return function(n,r){return n.barycenterr.barycenter?1:e?r.i-n.i:n.i-r.i}}(!!i)),w=eU(l,v,w),o.Z(h,function(e){w+=e.vs.length,l.push(e.vs),Z+=e.barycenter*e.weight,p+=e.weight,w=eU(l,v,w)}),b={vs:d.Z(l)},p&&(b.barycenter=Z/p,b.weight=p),b);if(x&&(R.vs=d.Z([x,R.vs,E]),n.predecessors(x).length)){var M=n.node(n.predecessors(x)[0]),T=n.node(n.predecessors(E)[0]);u.Z(R,"barycenter")||(R.barycenter=0,R.weight=0),R.barycenter=(R.barycenter*R.weight+M.order+T.order)/(R.weight+2),R.weight+=2}return R}(e,c,r,n);o.Z(s.vs,function(n,r){e.node(n).order=r}),t=s.vs,a={},o.Z(t,function(n){for(var t,o,u=e.parent(n);u;){if((t=e.parent(u))?(o=a[t],a[t]=u):(o=i,i=u),o&&o!==u){r.setEdge(o,u);return}u=t}})})})(w%2?r:t,w%4>=2),i=V(e);var y,k=function(e,n){for(var r=0,t=1;t0;)n%2&&(r+=c[n+1]),n=n-1>>1,c[n]+=e.weight;s+=e.weight*r})),s}(e,n[t-1],n[t]);return r}(e,i);ka)&&e3(r,n,d)})})}return eS.Z(n,function(n,r){var i,u=-1,a=0;return o.Z(r,function(o,d){if("border"===e.node(o).dummy){var f=e.predecessors(o);f.length&&(i=e.node(f[0]).order,t(r,a,d,u,i),a=d,u=i)}t(r,a,r.length,i,n.length)}),r}),r}(r,i)),g={},o.Z(["u","d"],function(e){t="u"===e?i:eP.Z(i).reverse(),o.Z(["l","r"],function(n){"r"===n&&(t=f.Z(t,function(e){return eP.Z(e).reverse()}));var i,a,c,h,v=("u"===e?r.predecessors:r.successors).bind(r),l=(i=t,a={},c={},h={},o.Z(i,function(e){o.Z(e,function(e,n){a[e]=e,c[e]=e,h[e]=n})}),o.Z(i,function(e){var n=-1;o.Z(e,function(e){var r=v(e);if(r.length)for(var t=((r=eQ(r,function(e){return h[e]})).length-1)/2,o=Math.floor(t),i=Math.ceil(t);o<=i;++o){var f=r[o];c[e]===e&&nr){var t=n;n=r,r=t}return u.Z(e[n],r)}(d,e,f)&&(c[f]=e,c[e]=a[e]=a[f],n=h[f])}})}),{root:a,align:c}),Z=function(e,n,r,t,i){var a,d,f,c,g,h={},v=(f=new s.k,a=(c=e.graph()).nodesep,d=c.edgesep,g=function(e,n,r){var t,o,f=e.node(n),c=e.node(r);if(t=0+f.width/2,u.Z(f,"labelpos"))switch(f.labelpos.toLowerCase()){case"l":o=-f.width/2;break;case"r":o=f.width/2}if(o&&(t+=i?o:-o),o=0,t+=(f.dummy?d:a)/2+(c.dummy?d:a)/2+c.width/2,u.Z(c,"labelpos"))switch(c.labelpos.toLowerCase()){case"l":o=c.width/2;break;case"r":o=-c.width/2}return o&&(t+=i?o:-o),o=0,t},o.Z(n,function(n){var t;o.Z(n,function(n){var o=r[n];if(f.setNode(o),t){var i=r[t],u=f.edge(i,o);f.setEdge(i,o,Math.max(g(e,n,t),u||0))}t=n})}),f),l=i?"borderLeft":"borderRight";function Z(e,n){for(var r=v.nodes(),t=r.pop(),o={};t;)o[t]?e(t):(o[t]=!0,r.push(t),r=r.concat(n(t))),t=r.pop()}return Z(function(e){h[e]=v.inEdges(e).reduce(function(e,n){return Math.max(e,h[n.v]+v.edge(n))},0)},v.predecessors.bind(v)),Z(function(n){var r=v.outEdges(n).reduce(function(e,n){return Math.min(e,h[n.w]-v.edge(n))},Number.POSITIVE_INFINITY),t=e.node(n);r!==Number.POSITIVE_INFINITY&&t.borderType!==l&&(h[n]=Math.max(h[n],r))},v.successors.bind(v)),o.Z(t,function(e){h[e]=h[r[e]]}),h}(r,t,l.root,l.align,"r"===n);"r"===n&&(Z=T(Z,function(e){return-e})),g[e+n]=Z})}),h=H(eP.Z(g),function(e){var n,t=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY;return n=function(e,n){var i=r.node(n).width/2;t=Math.max(e+i,t),o=Math.min(e-i,o)},null==e||(0,e1.Z)(e,(0,e0.Z)(n),e2.Z),t-o}),l=O(v=eP.Z(h)),Z=N(v),o.Z(["u","d"],function(e){o.Z(["l","r"],function(n){var r,t=e+n,o=g[t];if(o!==h){var i=eP.Z(o);(r="l"===n?l-O(i):Z-N(i))&&(g[t]=T(o,function(e){return e+r}))}})}),p=r.graph().align,m=T(g.ul,function(e,n){if(p)return g[p.toLowerCase()][n];var r=eQ(f.Z(g,n));return(r[1]+r[2])/2}),b=function(n,r){e.node(r).x=n},m&&(0,R.Z)(m,(0,e0.Z)(b))}),r(" positionSelfEdges",function(){o.Z(n.nodes(),function(e){var r=n.node(e);if("selfedge"===r.dummy){var t=n.node(r.e.v),o=t.x+t.width/2,i=t.y,u=r.x-o,a=t.height/2;n.setEdge(r.e,r.label),n.removeNode(e),r.label.points=[{x:o+2*u/3,y:i-a},{x:o+5*u/6,y:i-a},{x:o+u,y:i},{x:o+5*u/6,y:i+a},{x:o+2*u/3,y:i+a}],r.label.x=r.x,r.label.y=r.y}})}),r(" removeBorderNodes",function(){o.Z(n.nodes(),function(e){if(n.children(e).length){var r=n.node(e),t=n.node(r.borderTop),o=n.node(r.borderBottom),i=n.node(_(r.borderLeft)),u=n.node(_(r.borderRight));r.width=Math.abs(u.x-i.x),r.height=Math.abs(o.y-t.y),r.x=i.x+r.width/2,r.y=t.y+r.height/2}}),o.Z(n.nodes(),function(e){"border"===n.node(e).dummy&&n.removeNode(e)})}),r(" normalize.undo",function(){o.Z(n.graph().dummyChains,function(e){var r,t=n.node(e),o=t.edgeLabel;for(n.setEdge(t.edgeObj,o);t.dummy;)r=n.successors(e)[0],n.removeNode(e),o.points.push({x:t.x,y:t.y}),"edge-label"===t.dummy&&(o.x=t.x,o.y=t.y,o.width=t.width,o.height=t.height),e=r,t=n.node(e)})}),r(" fixupEdgeLabelCoords",function(){o.Z(n.edges(),function(e){var r=n.edge(e);if(u.Z(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}),r(" undoCoordinateSystem",function(){var e;("bt"===(e=n.graph().rankdir.toLowerCase())||"rl"===e)&&(o.Z(n.nodes(),function(e){J(n.node(e))}),o.Z(n.edges(),function(e){var r=n.edge(e);o.Z(r.points,J),u.Z(r,"y")&&J(r)})),("lr"===e||"rl"===e)&&(o.Z(n.nodes(),function(e){K(n.node(e))}),o.Z(n.edges(),function(e){var r=n.edge(e);o.Z(r.points,K),u.Z(r,"x")&&K(r)}),D(n))}),r(" translateGraph",function(){(function(e){var n=Number.POSITIVE_INFINITY,r=0,t=Number.POSITIVE_INFINITY,i=0,a=e.graph(),d=a.marginx||0,f=a.marginy||0;function c(e){var o=e.x,u=e.y,a=e.width,d=e.height;n=Math.min(n,o-a/2),r=Math.max(r,o+a/2),t=Math.min(t,u-d/2),i=Math.max(i,u+d/2)}o.Z(e.nodes(),function(n){c(e.node(n))}),o.Z(e.edges(),function(n){var r=e.edge(n);u.Z(r,"x")&&c(r)}),n-=d,t-=f,o.Z(e.nodes(),function(r){var o=e.node(r);o.x-=n,o.y-=t}),o.Z(e.edges(),function(r){var i=e.edge(r);o.Z(i.points,function(e){e.x-=n,e.y-=t}),u.Z(i,"x")&&(i.x-=n),u.Z(i,"y")&&(i.y-=t)}),a.width=r-n+d,a.height=i-t+f})(n)}),r(" assignNodeIntersects",function(){o.Z(n.edges(),function(e){var r,t,o=n.edge(e),i=n.node(e.v),u=n.node(e.w);o.points?(r=o.points[0],t=o.points[o.points.length-1]):(o.points=[],r=u,t=i),o.points.unshift(G(i,r)),o.points.push(G(u,t))})}),r(" reversePoints",function(){o.Z(n.edges(),function(e){var r=n.edge(e);r.reversed&&r.points.reverse()})}),r(" acyclic.undo",function(){o.Z(n.edges(),function(e){var r=n.edge(e);if(r.reversed){n.removeEdge(e);var t=r.forwardName;delete r.reversed,delete r.forwardName,n.setEdge(e.w,e.v,r,t)}})})}),r(" updateInputGraph",function(){o.Z(e.nodes(),function(r){var t=e.node(r),o=n.node(r);t&&(t.x=o.x,t.y=o.y,n.children(r).length&&(t.width=o.width,t.height=o.height))}),o.Z(e.edges(),function(r){var t=e.edge(r),o=n.edge(r);t.points=o.points,u.Z(o,"x")&&(t.x=o.x,t.y=o.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height})})}var e5=["nodesep","edgesep","ranksep","marginx","marginy"],e4={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},e6=["acyclicer","ranker","rankdir","align"],e7=["width","height"],e9={width:0,height:0},ne=["minlen","weight","width","height","labeloffset"],nn={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},nr=["labelpos"];function nt(e,n){return T(m.Z(e,n),Number)}function no(e){var n={};return o.Z(e,function(e,r){n[r.toLowerCase()]=e}),n}},605:function(e,n,r){var t=r(3739),o=r(8465);n.Z=function(e,n){var r=-1,i=(0,o.Z)(e)?Array(e.length):[];return(0,t.Z)(e,function(e,t,o){i[++r]=n(e,t,o)}),i}},8269:function(e,n,r){var t=r(8702),o=r(5002),i=r(2834),u=r(6930),a=Object.prototype,d=a.hasOwnProperty,f=(0,t.Z)(function(e,n){e=Object(e);var r=-1,t=n.length,f=t>2?n[2]:void 0;for(f&&(0,i.Z)(n[0],n[1],f)&&(t=1);++r15?"…"+o.slice(n-15,n):o.slice(0,n))+l+(s+15":">","<":"<",'"':""","'":"'"},q=/[&><"']/g,N=function e(t){return"ordgroup"===t.type||"color"===t.type?1===t.body.length?e(t.body[0]):t:"font"===t.type?e(t.body):t},I=function(e){if(!e)throw Error("Expected non-null, but got "+String(e));return e},H={contains:function(e,t){return -1!==e.indexOf(t)},deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(q,e=>C[e])},hyphenate:function(e){return e.replace(B,"-$1").toLowerCase()},getBaseElem:N,isCharacterBox:function(e){var t=N(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},protocolFromUrl:function(e){var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?":"===t[2]&&/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?t[1].toLowerCase():null:"_relative"}},R={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand ",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};class O{constructor(e){for(var t in this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{},R)if(R.hasOwnProperty(t)){var r=R[t];this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:function(e){if(e.default)return e.default;var t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}(r)}}reportNonstrict(e,t,r){var a=this.strict;if("function"==typeof a&&(a=a(e,t,r)),a&&"ignore"!==a){if(!0===a||"error"===a)throw new i("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===a?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+a+"': "+t)+" ["+e+"]")}}useStrictBehavior(e,t,r){var a=this.strict;if("function"==typeof a)try{a=a(e,t,r)}catch(e){a="error"}return!!a&&"ignore"!==a&&(!0===a||"error"===a||("warn"===a?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+a+"': "+t)+" ["+e+"]"),!1))}isTrusted(e){if(e.url&&!e.protocol){var t=H.protocolFromUrl(e.url);if(null==t)return!1;e.protocol=t}return!!("function"==typeof this.trust?this.trust(e):this.trust)}}class E{constructor(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}sup(){return L[D[this.id]]}sub(){return L[V[this.id]]}fracNum(){return L[P[this.id]]}fracDen(){return L[F[this.id]]}cramp(){return L[G[this.id]]}text(){return L[U[this.id]]}isTight(){return this.size>=2}}var L=[new E(0,0,!1),new E(1,0,!0),new E(2,1,!1),new E(3,1,!0),new E(4,2,!1),new E(5,2,!0),new E(6,3,!1),new E(7,3,!0)],D=[4,5,4,5,6,7,6,7],V=[5,5,5,5,7,7,7,7],P=[2,3,4,5,6,7,6,7],F=[3,3,5,5,7,7,7,7],G=[1,1,3,3,5,5,7,7],U=[0,1,2,3,2,3,2,3],Y={DISPLAY:L[0],TEXT:L[2],SCRIPT:L[4],SCRIPTSCRIPT:L[6]},X=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}],W=[];function _(e){for(var t=0;t=W[t]&&e<=W[t+1])return!0;return!1}X.forEach(e=>e.blocks.forEach(e=>W.push(...e)));var j=function(e,t,r){t*=1e3;var a,n,i,s,o,l,h="";switch(e){case"sqrtMain":h="M95,"+(622+(a=t)+80)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+a/2.075+" -"+a+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+a)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+a)+" 80h400000v"+(40+a)+"h-400000z";break;case"sqrtSize1":h="M263,"+(601+(n=t)+80)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+n/2.084+" -"+n+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+n)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+n)+" 80h400000v"+(40+n)+"h-400000z";break;case"sqrtSize2":h="M983 "+(10+(i=t)+80)+"\nl"+i/3.13+" -"+i+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+i)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+i)+" 80h400000v"+(40+i)+"h-400000z";break;case"sqrtSize3":h="M424,"+(2398+(s=t)+80)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+s/4.223+" -"+s+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+s)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+s)+" 80\nh400000v"+(40+s)+"h-400000z";break;case"sqrtSize4":h="M473,"+(2713+(o=t)+80)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+o/5.298+" -"+o+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+o)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+o)+" 80h400000v"+(40+o)+"H1017.7z";break;case"sqrtTall":h="M702 "+((l=t)+80)+"H400000"+(40+l)+"\nH742v"+(r-54-80-l)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 80H400000v"+(40+l)+"H742z"}return h},$=function(e,t){switch(e){case"⎜":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"∣":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"∥":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z"+("M367 0 H410 V"+t)+" H367z M367 0 H410 V"+t+" H367z";case"⎟":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"⎢":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"⎥":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"⎪":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"⏐":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"‖":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257z"+("M478 0 H521 V"+t)+" H478z M478 0 H521 V"+t+" H478z";default:return""}},Z={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},K=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw Error("Unknown stretchy delimiter.")}};class J{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return H.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),t=0;te.toText()).join("")}}var Q={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-.00099,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-.00099,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-.00099,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-.00099,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},ee={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},et={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function er(e,t,r){if(!Q[t])throw Error("Font metrics not found for font: "+t+".");var a=e.charCodeAt(0),n=Q[t][a];if(!n&&e[0]in et&&(a=et[e[0]].charCodeAt(0),n=Q[t][a]),!n&&"text"===r&&_(a)&&(n=Q[t][77]),n)return{depth:n[0],height:n[1],italic:n[2],skew:n[3],width:n[4]}}var ea={},en=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],ei=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],es=function(e,t){return t.size<2?e:en[e-1][t.size-1]};class eo{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||eo.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=ei[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return new eo(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:es(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:ei[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=es(eo.BASESIZE,e);return this.size===t&&this.textSize===eo.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==eo.BASESIZE?["sizing","reset-size"+this.size,"size"+eo.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=function(e){var t;if(!ea[t=e>=5?0:e>=3?1:2]){var r=ea[t]={cssEmPerMu:ee.quad[t]/18};for(var a in ee)ee.hasOwnProperty(a)&&(r[a]=ee[a][t])}return ea[t]}(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}eo.BASESIZE=6;var el={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},eh={ex:!0,em:!0,mu:!0},em=function(e){return"string"!=typeof e&&(e=e.unit),e in el||e in eh||"ex"===e},ec=function(e,t){var r,a;if(e.unit in el)r=el[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{if(a=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=a.fontMetrics().xHeight;else if("em"===e.unit)r=a.fontMetrics().quad;else throw new i("Invalid unit: '"+e.unit+"'");a!==t&&(r*=a.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},ep=function(e){return+e.toFixed(4)+"em"},eu=function(e){return e.filter(e=>e).join(" ")},ed=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");var a=t.getColor();a&&(this.style.color=a)}},eg=function(e){var t=document.createElement(e);for(var r in t.className=eu(this.classes),this.style)this.style.hasOwnProperty(r)&&(t.style[r]=this.style[r]);for(var a in this.attributes)this.attributes.hasOwnProperty(a)&&t.setAttribute(a,this.attributes[a]);for(var n=0;n"};class ev{constructor(e,t,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,ed.call(this,e,r,a),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return H.contains(this.classes,e)}toNode(){return eg.call(this,"span")}toMarkup(){return ef.call(this,"span")}}class eb{constructor(e,t,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,ed.call(this,t,a),this.children=r||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return H.contains(this.classes,e)}toNode(){return eg.call(this,"a")}toMarkup(){return ef.call(this,"a")}}class ey{constructor(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}hasClass(e){return H.contains(this.classes,e)}toNode(){var e=document.createElement("img");for(var t in e.src=this.src,e.alt=this.alt,e.className="mord",this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){var e=''+H.escape(this.alt)+'=n[0]&&e<=n[1])return r.name}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=ex[this.text])}hasClass(e){return H.contains(this.classes,e)}toNode(){var e=document.createTextNode(this.text),t=null;for(var r in this.italic>0&&((t=document.createElement("span")).style.marginRight=ep(this.italic)),this.classes.length>0&&((t=t||document.createElement("span")).className=eu(this.classes)),this.style)this.style.hasOwnProperty(r)&&((t=t||document.createElement("span")).style[r]=this.style[r]);return t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="0&&(r+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(a)&&(r+=H.hyphenate(a)+":"+this.style[a]+";");r&&(e=!0,t+=' style="'+H.escape(r)+'"');var n=H.escape(this.text);return e?t+=">"+n+"":n}}class ek{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(var r=0;r"}}class eS{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?e.setAttribute("d",this.alternate):e.setAttribute("d",Z[this.pathName]),e}toMarkup(){return this.alternate?'':''}}class eM{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","line");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e}toMarkup(){var e=""}}function ez(e){if(e instanceof ew)return e;throw Error("Expected symbolNode but got "+String(e)+".")}var eA={bin:1,close:1,inner:1,open:1,punct:1,rel:1},eT={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},eB={math:{},text:{}};function eC(e,t,r,a,n,i){eB[e][n]={font:t,group:r,replace:a},i&&a&&(eB[e][a]=eB[e][n])}var eq="math",eN="text",eI="main",eH="accent-token",eR="close",eO="inner",eE="mathord",eL="op-token",eD="open",eV="punct",eP="spacing",eF="textord";eC(eq,eI,"rel","≡","\\equiv",!0),eC(eq,eI,"rel","≺","\\prec",!0),eC(eq,eI,"rel","≻","\\succ",!0),eC(eq,eI,"rel","∼","\\sim",!0),eC(eq,eI,"rel","⊥","\\perp"),eC(eq,eI,"rel","⪯","\\preceq",!0),eC(eq,eI,"rel","⪰","\\succeq",!0),eC(eq,eI,"rel","≃","\\simeq",!0),eC(eq,eI,"rel","∣","\\mid",!0),eC(eq,eI,"rel","≪","\\ll",!0),eC(eq,eI,"rel","≫","\\gg",!0),eC(eq,eI,"rel","≍","\\asymp",!0),eC(eq,eI,"rel","∥","\\parallel"),eC(eq,eI,"rel","⋈","\\bowtie",!0),eC(eq,eI,"rel","⌣","\\smile",!0),eC(eq,eI,"rel","⊑","\\sqsubseteq",!0),eC(eq,eI,"rel","⊒","\\sqsupseteq",!0),eC(eq,eI,"rel","≐","\\doteq",!0),eC(eq,eI,"rel","⌢","\\frown",!0),eC(eq,eI,"rel","∋","\\ni",!0),eC(eq,eI,"rel","∝","\\propto",!0),eC(eq,eI,"rel","⊢","\\vdash",!0),eC(eq,eI,"rel","⊣","\\dashv",!0),eC(eq,eI,"rel","∋","\\owns"),eC(eq,eI,eV,".","\\ldotp"),eC(eq,eI,eV,"⋅","\\cdotp"),eC(eq,eI,eF,"#","\\#"),eC(eN,eI,eF,"#","\\#"),eC(eq,eI,eF,"&","\\&"),eC(eN,eI,eF,"&","\\&"),eC(eq,eI,eF,"ℵ","\\aleph",!0),eC(eq,eI,eF,"∀","\\forall",!0),eC(eq,eI,eF,"ℏ","\\hbar",!0),eC(eq,eI,eF,"∃","\\exists",!0),eC(eq,eI,eF,"∇","\\nabla",!0),eC(eq,eI,eF,"♭","\\flat",!0),eC(eq,eI,eF,"ℓ","\\ell",!0),eC(eq,eI,eF,"♮","\\natural",!0),eC(eq,eI,eF,"♣","\\clubsuit",!0),eC(eq,eI,eF,"℘","\\wp",!0),eC(eq,eI,eF,"♯","\\sharp",!0),eC(eq,eI,eF,"♢","\\diamondsuit",!0),eC(eq,eI,eF,"ℜ","\\Re",!0),eC(eq,eI,eF,"♡","\\heartsuit",!0),eC(eq,eI,eF,"ℑ","\\Im",!0),eC(eq,eI,eF,"♠","\\spadesuit",!0),eC(eq,eI,eF,"\xa7","\\S",!0),eC(eN,eI,eF,"\xa7","\\S"),eC(eq,eI,eF,"\xb6","\\P",!0),eC(eN,eI,eF,"\xb6","\\P"),eC(eq,eI,eF,"†","\\dag"),eC(eN,eI,eF,"†","\\dag"),eC(eN,eI,eF,"†","\\textdagger"),eC(eq,eI,eF,"‡","\\ddag"),eC(eN,eI,eF,"‡","\\ddag"),eC(eN,eI,eF,"‡","\\textdaggerdbl"),eC(eq,eI,eR,"⎱","\\rmoustache",!0),eC(eq,eI,eD,"⎰","\\lmoustache",!0),eC(eq,eI,eR,"⟯","\\rgroup",!0),eC(eq,eI,eD,"⟮","\\lgroup",!0),eC(eq,eI,"bin","∓","\\mp",!0),eC(eq,eI,"bin","⊖","\\ominus",!0),eC(eq,eI,"bin","⊎","\\uplus",!0),eC(eq,eI,"bin","⊓","\\sqcap",!0),eC(eq,eI,"bin","∗","\\ast"),eC(eq,eI,"bin","⊔","\\sqcup",!0),eC(eq,eI,"bin","◯","\\bigcirc",!0),eC(eq,eI,"bin","∙","\\bullet",!0),eC(eq,eI,"bin","‡","\\ddagger"),eC(eq,eI,"bin","≀","\\wr",!0),eC(eq,eI,"bin","⨿","\\amalg"),eC(eq,eI,"bin","&","\\And"),eC(eq,eI,"rel","⟵","\\longleftarrow",!0),eC(eq,eI,"rel","⇐","\\Leftarrow",!0),eC(eq,eI,"rel","⟸","\\Longleftarrow",!0),eC(eq,eI,"rel","⟶","\\longrightarrow",!0),eC(eq,eI,"rel","⇒","\\Rightarrow",!0),eC(eq,eI,"rel","⟹","\\Longrightarrow",!0),eC(eq,eI,"rel","↔","\\leftrightarrow",!0),eC(eq,eI,"rel","⟷","\\longleftrightarrow",!0),eC(eq,eI,"rel","⇔","\\Leftrightarrow",!0),eC(eq,eI,"rel","⟺","\\Longleftrightarrow",!0),eC(eq,eI,"rel","↦","\\mapsto",!0),eC(eq,eI,"rel","⟼","\\longmapsto",!0),eC(eq,eI,"rel","↗","\\nearrow",!0),eC(eq,eI,"rel","↩","\\hookleftarrow",!0),eC(eq,eI,"rel","↪","\\hookrightarrow",!0),eC(eq,eI,"rel","↘","\\searrow",!0),eC(eq,eI,"rel","↼","\\leftharpoonup",!0),eC(eq,eI,"rel","⇀","\\rightharpoonup",!0),eC(eq,eI,"rel","↙","\\swarrow",!0),eC(eq,eI,"rel","↽","\\leftharpoondown",!0),eC(eq,eI,"rel","⇁","\\rightharpoondown",!0),eC(eq,eI,"rel","↖","\\nwarrow",!0),eC(eq,eI,"rel","⇌","\\rightleftharpoons",!0),eC(eq,"ams","rel","≮","\\nless",!0),eC(eq,"ams","rel","","\\@nleqslant"),eC(eq,"ams","rel","","\\@nleqq"),eC(eq,"ams","rel","⪇","\\lneq",!0),eC(eq,"ams","rel","≨","\\lneqq",!0),eC(eq,"ams","rel","","\\@lvertneqq"),eC(eq,"ams","rel","⋦","\\lnsim",!0),eC(eq,"ams","rel","⪉","\\lnapprox",!0),eC(eq,"ams","rel","⊀","\\nprec",!0),eC(eq,"ams","rel","⋠","\\npreceq",!0),eC(eq,"ams","rel","⋨","\\precnsim",!0),eC(eq,"ams","rel","⪹","\\precnapprox",!0),eC(eq,"ams","rel","≁","\\nsim",!0),eC(eq,"ams","rel","","\\@nshortmid"),eC(eq,"ams","rel","∤","\\nmid",!0),eC(eq,"ams","rel","⊬","\\nvdash",!0),eC(eq,"ams","rel","⊭","\\nvDash",!0),eC(eq,"ams","rel","⋪","\\ntriangleleft"),eC(eq,"ams","rel","⋬","\\ntrianglelefteq",!0),eC(eq,"ams","rel","⊊","\\subsetneq",!0),eC(eq,"ams","rel","","\\@varsubsetneq"),eC(eq,"ams","rel","⫋","\\subsetneqq",!0),eC(eq,"ams","rel","","\\@varsubsetneqq"),eC(eq,"ams","rel","≯","\\ngtr",!0),eC(eq,"ams","rel","","\\@ngeqslant"),eC(eq,"ams","rel","","\\@ngeqq"),eC(eq,"ams","rel","⪈","\\gneq",!0),eC(eq,"ams","rel","≩","\\gneqq",!0),eC(eq,"ams","rel","","\\@gvertneqq"),eC(eq,"ams","rel","⋧","\\gnsim",!0),eC(eq,"ams","rel","⪊","\\gnapprox",!0),eC(eq,"ams","rel","⊁","\\nsucc",!0),eC(eq,"ams","rel","⋡","\\nsucceq",!0),eC(eq,"ams","rel","⋩","\\succnsim",!0),eC(eq,"ams","rel","⪺","\\succnapprox",!0),eC(eq,"ams","rel","≆","\\ncong",!0),eC(eq,"ams","rel","","\\@nshortparallel"),eC(eq,"ams","rel","∦","\\nparallel",!0),eC(eq,"ams","rel","⊯","\\nVDash",!0),eC(eq,"ams","rel","⋫","\\ntriangleright"),eC(eq,"ams","rel","⋭","\\ntrianglerighteq",!0),eC(eq,"ams","rel","","\\@nsupseteqq"),eC(eq,"ams","rel","⊋","\\supsetneq",!0),eC(eq,"ams","rel","","\\@varsupsetneq"),eC(eq,"ams","rel","⫌","\\supsetneqq",!0),eC(eq,"ams","rel","","\\@varsupsetneqq"),eC(eq,"ams","rel","⊮","\\nVdash",!0),eC(eq,"ams","rel","⪵","\\precneqq",!0),eC(eq,"ams","rel","⪶","\\succneqq",!0),eC(eq,"ams","rel","","\\@nsubseteqq"),eC(eq,"ams","bin","⊴","\\unlhd"),eC(eq,"ams","bin","⊵","\\unrhd"),eC(eq,"ams","rel","↚","\\nleftarrow",!0),eC(eq,"ams","rel","↛","\\nrightarrow",!0),eC(eq,"ams","rel","⇍","\\nLeftarrow",!0),eC(eq,"ams","rel","⇏","\\nRightarrow",!0),eC(eq,"ams","rel","↮","\\nleftrightarrow",!0),eC(eq,"ams","rel","⇎","\\nLeftrightarrow",!0),eC(eq,"ams","rel","△","\\vartriangle"),eC(eq,"ams",eF,"ℏ","\\hslash"),eC(eq,"ams",eF,"▽","\\triangledown"),eC(eq,"ams",eF,"◊","\\lozenge"),eC(eq,"ams",eF,"Ⓢ","\\circledS"),eC(eq,"ams",eF,"\xae","\\circledR"),eC(eN,"ams",eF,"\xae","\\circledR"),eC(eq,"ams",eF,"∡","\\measuredangle",!0),eC(eq,"ams",eF,"∄","\\nexists"),eC(eq,"ams",eF,"℧","\\mho"),eC(eq,"ams",eF,"Ⅎ","\\Finv",!0),eC(eq,"ams",eF,"⅁","\\Game",!0),eC(eq,"ams",eF,"‵","\\backprime"),eC(eq,"ams",eF,"▲","\\blacktriangle"),eC(eq,"ams",eF,"▼","\\blacktriangledown"),eC(eq,"ams",eF,"■","\\blacksquare"),eC(eq,"ams",eF,"⧫","\\blacklozenge"),eC(eq,"ams",eF,"★","\\bigstar"),eC(eq,"ams",eF,"∢","\\sphericalangle",!0),eC(eq,"ams",eF,"∁","\\complement",!0),eC(eq,"ams",eF,"\xf0","\\eth",!0),eC(eN,eI,eF,"\xf0","\xf0"),eC(eq,"ams",eF,"╱","\\diagup"),eC(eq,"ams",eF,"╲","\\diagdown"),eC(eq,"ams",eF,"□","\\square"),eC(eq,"ams",eF,"□","\\Box"),eC(eq,"ams",eF,"◊","\\Diamond"),eC(eq,"ams",eF,"\xa5","\\yen",!0),eC(eN,"ams",eF,"\xa5","\\yen",!0),eC(eq,"ams",eF,"✓","\\checkmark",!0),eC(eN,"ams",eF,"✓","\\checkmark"),eC(eq,"ams",eF,"ℶ","\\beth",!0),eC(eq,"ams",eF,"ℸ","\\daleth",!0),eC(eq,"ams",eF,"ℷ","\\gimel",!0),eC(eq,"ams",eF,"ϝ","\\digamma",!0),eC(eq,"ams",eF,"ϰ","\\varkappa"),eC(eq,"ams",eD,"┌","\\@ulcorner",!0),eC(eq,"ams",eR,"┐","\\@urcorner",!0),eC(eq,"ams",eD,"└","\\@llcorner",!0),eC(eq,"ams",eR,"┘","\\@lrcorner",!0),eC(eq,"ams","rel","≦","\\leqq",!0),eC(eq,"ams","rel","⩽","\\leqslant",!0),eC(eq,"ams","rel","⪕","\\eqslantless",!0),eC(eq,"ams","rel","≲","\\lesssim",!0),eC(eq,"ams","rel","⪅","\\lessapprox",!0),eC(eq,"ams","rel","≊","\\approxeq",!0),eC(eq,"ams","bin","⋖","\\lessdot"),eC(eq,"ams","rel","⋘","\\lll",!0),eC(eq,"ams","rel","≶","\\lessgtr",!0),eC(eq,"ams","rel","⋚","\\lesseqgtr",!0),eC(eq,"ams","rel","⪋","\\lesseqqgtr",!0),eC(eq,"ams","rel","≑","\\doteqdot"),eC(eq,"ams","rel","≓","\\risingdotseq",!0),eC(eq,"ams","rel","≒","\\fallingdotseq",!0),eC(eq,"ams","rel","∽","\\backsim",!0),eC(eq,"ams","rel","⋍","\\backsimeq",!0),eC(eq,"ams","rel","⫅","\\subseteqq",!0),eC(eq,"ams","rel","⋐","\\Subset",!0),eC(eq,"ams","rel","⊏","\\sqsubset",!0),eC(eq,"ams","rel","≼","\\preccurlyeq",!0),eC(eq,"ams","rel","⋞","\\curlyeqprec",!0),eC(eq,"ams","rel","≾","\\precsim",!0),eC(eq,"ams","rel","⪷","\\precapprox",!0),eC(eq,"ams","rel","⊲","\\vartriangleleft"),eC(eq,"ams","rel","⊴","\\trianglelefteq"),eC(eq,"ams","rel","⊨","\\vDash",!0),eC(eq,"ams","rel","⊪","\\Vvdash",!0),eC(eq,"ams","rel","⌣","\\smallsmile"),eC(eq,"ams","rel","⌢","\\smallfrown"),eC(eq,"ams","rel","≏","\\bumpeq",!0),eC(eq,"ams","rel","≎","\\Bumpeq",!0),eC(eq,"ams","rel","≧","\\geqq",!0),eC(eq,"ams","rel","⩾","\\geqslant",!0),eC(eq,"ams","rel","⪖","\\eqslantgtr",!0),eC(eq,"ams","rel","≳","\\gtrsim",!0),eC(eq,"ams","rel","⪆","\\gtrapprox",!0),eC(eq,"ams","bin","⋗","\\gtrdot"),eC(eq,"ams","rel","⋙","\\ggg",!0),eC(eq,"ams","rel","≷","\\gtrless",!0),eC(eq,"ams","rel","⋛","\\gtreqless",!0),eC(eq,"ams","rel","⪌","\\gtreqqless",!0),eC(eq,"ams","rel","≖","\\eqcirc",!0),eC(eq,"ams","rel","≗","\\circeq",!0),eC(eq,"ams","rel","≜","\\triangleq",!0),eC(eq,"ams","rel","∼","\\thicksim"),eC(eq,"ams","rel","≈","\\thickapprox"),eC(eq,"ams","rel","⫆","\\supseteqq",!0),eC(eq,"ams","rel","⋑","\\Supset",!0),eC(eq,"ams","rel","⊐","\\sqsupset",!0),eC(eq,"ams","rel","≽","\\succcurlyeq",!0),eC(eq,"ams","rel","⋟","\\curlyeqsucc",!0),eC(eq,"ams","rel","≿","\\succsim",!0),eC(eq,"ams","rel","⪸","\\succapprox",!0),eC(eq,"ams","rel","⊳","\\vartriangleright"),eC(eq,"ams","rel","⊵","\\trianglerighteq"),eC(eq,"ams","rel","⊩","\\Vdash",!0),eC(eq,"ams","rel","∣","\\shortmid"),eC(eq,"ams","rel","∥","\\shortparallel"),eC(eq,"ams","rel","≬","\\between",!0),eC(eq,"ams","rel","⋔","\\pitchfork",!0),eC(eq,"ams","rel","∝","\\varpropto"),eC(eq,"ams","rel","◀","\\blacktriangleleft"),eC(eq,"ams","rel","∴","\\therefore",!0),eC(eq,"ams","rel","∍","\\backepsilon"),eC(eq,"ams","rel","▶","\\blacktriangleright"),eC(eq,"ams","rel","∵","\\because",!0),eC(eq,"ams","rel","⋘","\\llless"),eC(eq,"ams","rel","⋙","\\gggtr"),eC(eq,"ams","bin","⊲","\\lhd"),eC(eq,"ams","bin","⊳","\\rhd"),eC(eq,"ams","rel","≂","\\eqsim",!0),eC(eq,eI,"rel","⋈","\\Join"),eC(eq,"ams","rel","≑","\\Doteq",!0),eC(eq,"ams","bin","∔","\\dotplus",!0),eC(eq,"ams","bin","∖","\\smallsetminus"),eC(eq,"ams","bin","⋒","\\Cap",!0),eC(eq,"ams","bin","⋓","\\Cup",!0),eC(eq,"ams","bin","⩞","\\doublebarwedge",!0),eC(eq,"ams","bin","⊟","\\boxminus",!0),eC(eq,"ams","bin","⊞","\\boxplus",!0),eC(eq,"ams","bin","⋇","\\divideontimes",!0),eC(eq,"ams","bin","⋉","\\ltimes",!0),eC(eq,"ams","bin","⋊","\\rtimes",!0),eC(eq,"ams","bin","⋋","\\leftthreetimes",!0),eC(eq,"ams","bin","⋌","\\rightthreetimes",!0),eC(eq,"ams","bin","⋏","\\curlywedge",!0),eC(eq,"ams","bin","⋎","\\curlyvee",!0),eC(eq,"ams","bin","⊝","\\circleddash",!0),eC(eq,"ams","bin","⊛","\\circledast",!0),eC(eq,"ams","bin","⋅","\\centerdot"),eC(eq,"ams","bin","⊺","\\intercal",!0),eC(eq,"ams","bin","⋒","\\doublecap"),eC(eq,"ams","bin","⋓","\\doublecup"),eC(eq,"ams","bin","⊠","\\boxtimes",!0),eC(eq,"ams","rel","⇢","\\dashrightarrow",!0),eC(eq,"ams","rel","⇠","\\dashleftarrow",!0),eC(eq,"ams","rel","⇇","\\leftleftarrows",!0),eC(eq,"ams","rel","⇆","\\leftrightarrows",!0),eC(eq,"ams","rel","⇚","\\Lleftarrow",!0),eC(eq,"ams","rel","↞","\\twoheadleftarrow",!0),eC(eq,"ams","rel","↢","\\leftarrowtail",!0),eC(eq,"ams","rel","↫","\\looparrowleft",!0),eC(eq,"ams","rel","⇋","\\leftrightharpoons",!0),eC(eq,"ams","rel","↶","\\curvearrowleft",!0),eC(eq,"ams","rel","↺","\\circlearrowleft",!0),eC(eq,"ams","rel","↰","\\Lsh",!0),eC(eq,"ams","rel","⇈","\\upuparrows",!0),eC(eq,"ams","rel","↿","\\upharpoonleft",!0),eC(eq,"ams","rel","⇃","\\downharpoonleft",!0),eC(eq,eI,"rel","⊶","\\origof",!0),eC(eq,eI,"rel","⊷","\\imageof",!0),eC(eq,"ams","rel","⊸","\\multimap",!0),eC(eq,"ams","rel","↭","\\leftrightsquigarrow",!0),eC(eq,"ams","rel","⇉","\\rightrightarrows",!0),eC(eq,"ams","rel","⇄","\\rightleftarrows",!0),eC(eq,"ams","rel","↠","\\twoheadrightarrow",!0),eC(eq,"ams","rel","↣","\\rightarrowtail",!0),eC(eq,"ams","rel","↬","\\looparrowright",!0),eC(eq,"ams","rel","↷","\\curvearrowright",!0),eC(eq,"ams","rel","↻","\\circlearrowright",!0),eC(eq,"ams","rel","↱","\\Rsh",!0),eC(eq,"ams","rel","⇊","\\downdownarrows",!0),eC(eq,"ams","rel","↾","\\upharpoonright",!0),eC(eq,"ams","rel","⇂","\\downharpoonright",!0),eC(eq,"ams","rel","⇝","\\rightsquigarrow",!0),eC(eq,"ams","rel","⇝","\\leadsto"),eC(eq,"ams","rel","⇛","\\Rrightarrow",!0),eC(eq,"ams","rel","↾","\\restriction"),eC(eq,eI,eF,"‘","`"),eC(eq,eI,eF,"$","\\$"),eC(eN,eI,eF,"$","\\$"),eC(eN,eI,eF,"$","\\textdollar"),eC(eq,eI,eF,"%","\\%"),eC(eN,eI,eF,"%","\\%"),eC(eq,eI,eF,"_","\\_"),eC(eN,eI,eF,"_","\\_"),eC(eN,eI,eF,"_","\\textunderscore"),eC(eq,eI,eF,"∠","\\angle",!0),eC(eq,eI,eF,"∞","\\infty",!0),eC(eq,eI,eF,"′","\\prime"),eC(eq,eI,eF,"△","\\triangle"),eC(eq,eI,eF,"Γ","\\Gamma",!0),eC(eq,eI,eF,"Δ","\\Delta",!0),eC(eq,eI,eF,"Θ","\\Theta",!0),eC(eq,eI,eF,"Λ","\\Lambda",!0),eC(eq,eI,eF,"Ξ","\\Xi",!0),eC(eq,eI,eF,"Π","\\Pi",!0),eC(eq,eI,eF,"Σ","\\Sigma",!0),eC(eq,eI,eF,"Υ","\\Upsilon",!0),eC(eq,eI,eF,"Φ","\\Phi",!0),eC(eq,eI,eF,"Ψ","\\Psi",!0),eC(eq,eI,eF,"Ω","\\Omega",!0),eC(eq,eI,eF,"A","Α"),eC(eq,eI,eF,"B","Β"),eC(eq,eI,eF,"E","Ε"),eC(eq,eI,eF,"Z","Ζ"),eC(eq,eI,eF,"H","Η"),eC(eq,eI,eF,"I","Ι"),eC(eq,eI,eF,"K","Κ"),eC(eq,eI,eF,"M","Μ"),eC(eq,eI,eF,"N","Ν"),eC(eq,eI,eF,"O","Ο"),eC(eq,eI,eF,"P","Ρ"),eC(eq,eI,eF,"T","Τ"),eC(eq,eI,eF,"X","Χ"),eC(eq,eI,eF,"\xac","\\neg",!0),eC(eq,eI,eF,"\xac","\\lnot"),eC(eq,eI,eF,"⊤","\\top"),eC(eq,eI,eF,"⊥","\\bot"),eC(eq,eI,eF,"∅","\\emptyset"),eC(eq,"ams",eF,"∅","\\varnothing"),eC(eq,eI,eE,"α","\\alpha",!0),eC(eq,eI,eE,"β","\\beta",!0),eC(eq,eI,eE,"γ","\\gamma",!0),eC(eq,eI,eE,"δ","\\delta",!0),eC(eq,eI,eE,"ϵ","\\epsilon",!0),eC(eq,eI,eE,"ζ","\\zeta",!0),eC(eq,eI,eE,"η","\\eta",!0),eC(eq,eI,eE,"θ","\\theta",!0),eC(eq,eI,eE,"ι","\\iota",!0),eC(eq,eI,eE,"κ","\\kappa",!0),eC(eq,eI,eE,"λ","\\lambda",!0),eC(eq,eI,eE,"μ","\\mu",!0),eC(eq,eI,eE,"ν","\\nu",!0),eC(eq,eI,eE,"ξ","\\xi",!0),eC(eq,eI,eE,"ο","\\omicron",!0),eC(eq,eI,eE,"π","\\pi",!0),eC(eq,eI,eE,"ρ","\\rho",!0),eC(eq,eI,eE,"σ","\\sigma",!0),eC(eq,eI,eE,"τ","\\tau",!0),eC(eq,eI,eE,"υ","\\upsilon",!0),eC(eq,eI,eE,"ϕ","\\phi",!0),eC(eq,eI,eE,"χ","\\chi",!0),eC(eq,eI,eE,"ψ","\\psi",!0),eC(eq,eI,eE,"ω","\\omega",!0),eC(eq,eI,eE,"ε","\\varepsilon",!0),eC(eq,eI,eE,"ϑ","\\vartheta",!0),eC(eq,eI,eE,"ϖ","\\varpi",!0),eC(eq,eI,eE,"ϱ","\\varrho",!0),eC(eq,eI,eE,"ς","\\varsigma",!0),eC(eq,eI,eE,"φ","\\varphi",!0),eC(eq,eI,"bin","∗","*",!0),eC(eq,eI,"bin","+","+"),eC(eq,eI,"bin","−","-",!0),eC(eq,eI,"bin","⋅","\\cdot",!0),eC(eq,eI,"bin","∘","\\circ",!0),eC(eq,eI,"bin","\xf7","\\div",!0),eC(eq,eI,"bin","\xb1","\\pm",!0),eC(eq,eI,"bin","\xd7","\\times",!0),eC(eq,eI,"bin","∩","\\cap",!0),eC(eq,eI,"bin","∪","\\cup",!0),eC(eq,eI,"bin","∖","\\setminus",!0),eC(eq,eI,"bin","∧","\\land"),eC(eq,eI,"bin","∨","\\lor"),eC(eq,eI,"bin","∧","\\wedge",!0),eC(eq,eI,"bin","∨","\\vee",!0),eC(eq,eI,eF,"√","\\surd"),eC(eq,eI,eD,"⟨","\\langle",!0),eC(eq,eI,eD,"∣","\\lvert"),eC(eq,eI,eD,"∥","\\lVert"),eC(eq,eI,eR,"?","?"),eC(eq,eI,eR,"!","!"),eC(eq,eI,eR,"⟩","\\rangle",!0),eC(eq,eI,eR,"∣","\\rvert"),eC(eq,eI,eR,"∥","\\rVert"),eC(eq,eI,"rel","=","="),eC(eq,eI,"rel",":",":"),eC(eq,eI,"rel","≈","\\approx",!0),eC(eq,eI,"rel","≅","\\cong",!0),eC(eq,eI,"rel","≥","\\ge"),eC(eq,eI,"rel","≥","\\geq",!0),eC(eq,eI,"rel","←","\\gets"),eC(eq,eI,"rel",">","\\gt",!0),eC(eq,eI,"rel","∈","\\in",!0),eC(eq,eI,"rel","","\\@not"),eC(eq,eI,"rel","⊂","\\subset",!0),eC(eq,eI,"rel","⊃","\\supset",!0),eC(eq,eI,"rel","⊆","\\subseteq",!0),eC(eq,eI,"rel","⊇","\\supseteq",!0),eC(eq,"ams","rel","⊈","\\nsubseteq",!0),eC(eq,"ams","rel","⊉","\\nsupseteq",!0),eC(eq,eI,"rel","⊨","\\models"),eC(eq,eI,"rel","←","\\leftarrow",!0),eC(eq,eI,"rel","≤","\\le"),eC(eq,eI,"rel","≤","\\leq",!0),eC(eq,eI,"rel","<","\\lt",!0),eC(eq,eI,"rel","→","\\rightarrow",!0),eC(eq,eI,"rel","→","\\to"),eC(eq,"ams","rel","≱","\\ngeq",!0),eC(eq,"ams","rel","≰","\\nleq",!0),eC(eq,eI,eP,"\xa0","\\ "),eC(eq,eI,eP,"\xa0","\\space"),eC(eq,eI,eP,"\xa0","\\nobreakspace"),eC(eN,eI,eP,"\xa0","\\ "),eC(eN,eI,eP,"\xa0"," "),eC(eN,eI,eP,"\xa0","\\space"),eC(eN,eI,eP,"\xa0","\\nobreakspace"),eC(eq,eI,eP,null,"\\nobreak"),eC(eq,eI,eP,null,"\\allowbreak"),eC(eq,eI,eV,",",","),eC(eq,eI,eV,";",";"),eC(eq,"ams","bin","⊼","\\barwedge",!0),eC(eq,"ams","bin","⊻","\\veebar",!0),eC(eq,eI,"bin","⊙","\\odot",!0),eC(eq,eI,"bin","⊕","\\oplus",!0),eC(eq,eI,"bin","⊗","\\otimes",!0),eC(eq,eI,eF,"∂","\\partial",!0),eC(eq,eI,"bin","⊘","\\oslash",!0),eC(eq,"ams","bin","⊚","\\circledcirc",!0),eC(eq,"ams","bin","⊡","\\boxdot",!0),eC(eq,eI,"bin","△","\\bigtriangleup"),eC(eq,eI,"bin","▽","\\bigtriangledown"),eC(eq,eI,"bin","†","\\dagger"),eC(eq,eI,"bin","⋄","\\diamond"),eC(eq,eI,"bin","⋆","\\star"),eC(eq,eI,"bin","◃","\\triangleleft"),eC(eq,eI,"bin","▹","\\triangleright"),eC(eq,eI,eD,"{","\\{"),eC(eN,eI,eF,"{","\\{"),eC(eN,eI,eF,"{","\\textbraceleft"),eC(eq,eI,eR,"}","\\}"),eC(eN,eI,eF,"}","\\}"),eC(eN,eI,eF,"}","\\textbraceright"),eC(eq,eI,eD,"{","\\lbrace"),eC(eq,eI,eR,"}","\\rbrace"),eC(eq,eI,eD,"[","\\lbrack",!0),eC(eN,eI,eF,"[","\\lbrack",!0),eC(eq,eI,eR,"]","\\rbrack",!0),eC(eN,eI,eF,"]","\\rbrack",!0),eC(eq,eI,eD,"(","\\lparen",!0),eC(eq,eI,eR,")","\\rparen",!0),eC(eN,eI,eF,"<","\\textless",!0),eC(eN,eI,eF,">","\\textgreater",!0),eC(eq,eI,eD,"⌊","\\lfloor",!0),eC(eq,eI,eR,"⌋","\\rfloor",!0),eC(eq,eI,eD,"⌈","\\lceil",!0),eC(eq,eI,eR,"⌉","\\rceil",!0),eC(eq,eI,eF,"\\","\\backslash"),eC(eq,eI,eF,"∣","|"),eC(eq,eI,eF,"∣","\\vert"),eC(eN,eI,eF,"|","\\textbar",!0),eC(eq,eI,eF,"∥","\\|"),eC(eq,eI,eF,"∥","\\Vert"),eC(eN,eI,eF,"∥","\\textbardbl"),eC(eN,eI,eF,"~","\\textasciitilde"),eC(eN,eI,eF,"\\","\\textbackslash"),eC(eN,eI,eF,"^","\\textasciicircum"),eC(eq,eI,"rel","↑","\\uparrow",!0),eC(eq,eI,"rel","⇑","\\Uparrow",!0),eC(eq,eI,"rel","↓","\\downarrow",!0),eC(eq,eI,"rel","⇓","\\Downarrow",!0),eC(eq,eI,"rel","↕","\\updownarrow",!0),eC(eq,eI,"rel","⇕","\\Updownarrow",!0),eC(eq,eI,eL,"∐","\\coprod"),eC(eq,eI,eL,"⋁","\\bigvee"),eC(eq,eI,eL,"⋀","\\bigwedge"),eC(eq,eI,eL,"⨄","\\biguplus"),eC(eq,eI,eL,"⋂","\\bigcap"),eC(eq,eI,eL,"⋃","\\bigcup"),eC(eq,eI,eL,"∫","\\int"),eC(eq,eI,eL,"∫","\\intop"),eC(eq,eI,eL,"∬","\\iint"),eC(eq,eI,eL,"∭","\\iiint"),eC(eq,eI,eL,"∏","\\prod"),eC(eq,eI,eL,"∑","\\sum"),eC(eq,eI,eL,"⨂","\\bigotimes"),eC(eq,eI,eL,"⨁","\\bigoplus"),eC(eq,eI,eL,"⨀","\\bigodot"),eC(eq,eI,eL,"∮","\\oint"),eC(eq,eI,eL,"∯","\\oiint"),eC(eq,eI,eL,"∰","\\oiiint"),eC(eq,eI,eL,"⨆","\\bigsqcup"),eC(eq,eI,eL,"∫","\\smallint"),eC(eN,eI,eO,"…","\\textellipsis"),eC(eq,eI,eO,"…","\\mathellipsis"),eC(eN,eI,eO,"…","\\ldots",!0),eC(eq,eI,eO,"…","\\ldots",!0),eC(eq,eI,eO,"⋯","\\@cdots",!0),eC(eq,eI,eO,"⋱","\\ddots",!0),eC(eq,eI,eF,"⋮","\\varvdots"),eC(eq,eI,eH,"ˊ","\\acute"),eC(eq,eI,eH,"ˋ","\\grave"),eC(eq,eI,eH,"\xa8","\\ddot"),eC(eq,eI,eH,"~","\\tilde"),eC(eq,eI,eH,"ˉ","\\bar"),eC(eq,eI,eH,"˘","\\breve"),eC(eq,eI,eH,"ˇ","\\check"),eC(eq,eI,eH,"^","\\hat"),eC(eq,eI,eH,"⃗","\\vec"),eC(eq,eI,eH,"˙","\\dot"),eC(eq,eI,eH,"˚","\\mathring"),eC(eq,eI,eE,"","\\@imath"),eC(eq,eI,eE,"","\\@jmath"),eC(eq,eI,eF,"ı","ı"),eC(eq,eI,eF,"ȷ","ȷ"),eC(eN,eI,eF,"ı","\\i",!0),eC(eN,eI,eF,"ȷ","\\j",!0),eC(eN,eI,eF,"\xdf","\\ss",!0),eC(eN,eI,eF,"\xe6","\\ae",!0),eC(eN,eI,eF,"œ","\\oe",!0),eC(eN,eI,eF,"\xf8","\\o",!0),eC(eN,eI,eF,"\xc6","\\AE",!0),eC(eN,eI,eF,"Œ","\\OE",!0),eC(eN,eI,eF,"\xd8","\\O",!0),eC(eN,eI,eH,"ˊ","\\'"),eC(eN,eI,eH,"ˋ","\\`"),eC(eN,eI,eH,"ˆ","\\^"),eC(eN,eI,eH,"˜","\\~"),eC(eN,eI,eH,"ˉ","\\="),eC(eN,eI,eH,"˘","\\u"),eC(eN,eI,eH,"˙","\\."),eC(eN,eI,eH,"\xb8","\\c"),eC(eN,eI,eH,"˚","\\r"),eC(eN,eI,eH,"ˇ","\\v"),eC(eN,eI,eH,"\xa8",'\\"'),eC(eN,eI,eH,"˝","\\H"),eC(eN,eI,eH,"◯","\\textcircled");var eG={"--":!0,"---":!0,"``":!0,"''":!0};eC(eN,eI,eF,"–","--",!0),eC(eN,eI,eF,"–","\\textendash"),eC(eN,eI,eF,"—","---",!0),eC(eN,eI,eF,"—","\\textemdash"),eC(eN,eI,eF,"‘","`",!0),eC(eN,eI,eF,"‘","\\textquoteleft"),eC(eN,eI,eF,"’","'",!0),eC(eN,eI,eF,"’","\\textquoteright"),eC(eN,eI,eF,"“","``",!0),eC(eN,eI,eF,"“","\\textquotedblleft"),eC(eN,eI,eF,"”","''",!0),eC(eN,eI,eF,"”","\\textquotedblright"),eC(eq,eI,eF,"\xb0","\\degree",!0),eC(eN,eI,eF,"\xb0","\\degree"),eC(eN,eI,eF,"\xb0","\\textdegree",!0),eC(eq,eI,eF,"\xa3","\\pounds"),eC(eq,eI,eF,"\xa3","\\mathsterling",!0),eC(eN,eI,eF,"\xa3","\\pounds"),eC(eN,eI,eF,"\xa3","\\textsterling",!0),eC(eq,"ams",eF,"✠","\\maltese"),eC(eN,"ams",eF,"✠","\\maltese");for(var eU='0123456789/@."',eY=0;eY{if(eu(e.classes)!==eu(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize)return!1;if(1===e.classes.length){var r=e.classes[0];if("mbin"===r||"mord"===r)return!1}for(var a in e.style)if(e.style.hasOwnProperty(a)&&e.style[a]!==t.style[a])return!1;for(var n in t.style)if(t.style.hasOwnProperty(n)&&e.style[n]!==t.style[n])return!1;return!0},tr=function(e){for(var t=0,r=0,a=0,n=0;nt&&(t=i.height),i.depth>r&&(r=i.depth),i.maxFontSize>a&&(a=i.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=a},ta=function(e,t,r,a){var n=new ev(e,t,r,a);return tr(n),n},tn=(e,t,r,a)=>new ev(e,t,r,a),ti=function(e){var t=new J(e);return tr(t),t},ts=function(e){if("individualShift"===e.positionType){for(var t,r=e.children,a=[r[0]],n=-r[0].shift-r[0].elem.depth,i=n,s=1;s0)return te(n,l,a,t,i.concat(h));if(o){if("boldsymbol"===o){var m,c,p="textord"!==r&&e9(n,"Math-BoldItalic",a).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"};m=p.fontName,c=[p.fontClass]}else s?(m=tl[o].fontName,c=[o]):(m=to(o,t.fontWeight,t.fontShape),c=[o,t.fontWeight,t.fontShape]);if(e9(n,m,a).metrics)return te(n,m,a,t,i.concat(c));if(eG.hasOwnProperty(n)&&"Typewriter"===m.slice(0,10)){for(var u=[],d=0;d{var r=ta(["mspace"],[],t),a=ec(e,t);return r.style.marginRight=ep(a),r},staticSvg:function(e,t){var[r,a,n]=th[e],i=tn(["overlay"],[new ek([new eS(r)],{width:ep(a),height:ep(n),style:"width:"+ep(a),viewBox:"0 0 "+1e3*a+" "+1e3*n,preserveAspectRatio:"xMinYMin"})],t);return i.height=n,i.style.height=ep(n),i.style.width=ep(a),i},svgData:th,tryCombineChars:e=>{for(var t=0;t{var r=t.classes[0],a=e.classes[0];"mbin"===r&&H.contains(tz,a)?t.classes[0]="mord":"mbin"===a&&H.contains(tM,r)&&(e.classes[0]="mord")},{node:m},c,p),tC(n,(e,t)=>{var r=tI(t),a=tI(e),n=r&&a?e.hasClass("mtight")?tg[r][a]:td[r][a]:null;if(n)return tm.makeGlue(n,l)},{node:m},c,p),n},tC=function e(t,r,a,n,i){n&&t.push(n);for(var s=0;s{t.splice(n+1,0,e),s++})}n&&t.pop()},tq=function(e){return e instanceof J||e instanceof eb||e instanceof ev&&e.hasClass("enclosing")?e:null},tN=function e(t,r){var a=tq(t);if(a){var n=a.children;if(n.length){if("right"===r)return e(n[n.length-1],"right");if("left"===r)return e(n[0],"left")}}return t},tI=function(e,t){return e?(t&&(e=tN(e,t)),tT[e.classes[0]]||null):null},tH=function(e,t){var r=["nulldelimiter"].concat(e.baseSizingClasses());return tS(t.concat(r))},tR=function(e,t,r){if(!e)return tS();if(tv[e.type]){var a=tv[e.type](e,t);if(r&&t.size!==r.size){a=tS(t.sizingClasses(r),[a],t);var n=t.sizeMultiplier/r.sizeMultiplier;a.height*=n,a.depth*=n}return a}throw new i("Got group of unknown type: '"+e.type+"'")};function tO(e,t){var r=tS(["base"],e,t),a=tS(["strut"]);return a.style.height=ep(r.height+r.depth),r.depth&&(a.style.verticalAlign=ep(-r.depth)),r.children.unshift(a),r}function tE(e,t){var r,a,n=null;1===e.length&&"tag"===e[0].type&&(n=e[0].tag,e=e[0].body);var i=tB(e,t,"root");2===i.length&&i[1].hasClass("tag")&&(r=i.pop());for(var s=[],o=[],l=0;l0&&(s.push(tO(o,t)),o=[]),s.push(i[l]));o.length>0&&s.push(tO(o,t)),n?((a=tO(tB(n,t,!0))).classes=["tag"],s.push(a)):r&&s.push(r);var m=tS(["katex-html"],s);if(m.setAttribute("aria-hidden","true"),a){var c=a.children[0];c.style.height=ep(m.height+m.depth),m.depth&&(c.style.verticalAlign=ep(-m.depth))}return m}function tL(e){return new J(e)}class tD{constructor(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=eu(this.classes));for(var r=0;r0&&(e+=' class ="'+H.escape(eu(this.classes))+'"'),e+=">";for(var r=0;r"}toText(){return this.children.map(e=>e.toText()).join("")}}class tV{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return H.escape(this.toText())}toText(){return this.text}}class tP{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",ep(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var tF={MathNode:tD,TextNode:tV,SpaceNode:tP,newDocumentFragment:tL},tG=function(e,t,r){return eB[t][e]&&eB[t][e].replace&&55349!==e.charCodeAt(0)&&!(eG.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6)))&&(e=eB[t][e].replace),new tF.TextNode(e)},tU=function(e){return 1===e.length?e[0]:new tF.MathNode("mrow",e)},tY=function(e,t){if("texttt"===t.fontFamily)return"monospace";if("textsf"===t.fontFamily)return"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";if("textit"===t.fontShape)return"italic";if("textbf"===t.fontWeight)return"bold";var r=t.font;if(!r||"mathnormal"===r)return null;var a=e.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===e.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";else if("mathtt"===r)return"monospace";var n=e.text;return H.contains(["\\imath","\\jmath"],n)?null:(eB[a][n]&&eB[a][n].replace&&(n=eB[a][n].replace),er(n,tm.fontMap[r].fontName,a))?tm.fontMap[r].variant:null},tX=function(e,t,r){if(1===e.length){var a,n=t_(e[0],t);return r&&n instanceof tD&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}for(var i=[],s=0;s0&&(m.text=m.text.slice(0,1)+"̸"+m.text.slice(1),i.pop())}}}i.push(o),a=o}return i},tW=function(e,t,r){return tU(tX(e,t,r))},t_=function(e,t){if(!e)return new tF.MathNode("mrow");if(tb[e.type])return tb[e.type](e,t);throw new i("Got group of unknown type: '"+e.type+"'")};function tj(e,t,r,a,n){var i,s=tX(e,r);i=1===s.length&&s[0]instanceof tD&&H.contains(["mrow","mtable"],s[0].type)?s[0]:new tF.MathNode("mrow",s);var o=new tF.MathNode("annotation",[new tF.TextNode(t)]);o.setAttribute("encoding","application/x-tex");var l=new tF.MathNode("semantics",[i,o]),h=new tF.MathNode("math",[l]);return h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&h.setAttribute("display","block"),tm.makeSpan([n?"katex":"katex-mathml"],[h])}var t$=function(e){return new eo({style:e.displayMode?Y.DISPLAY:Y.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},tZ=function(e,t){if(t.displayMode){var r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=tm.makeSpan(r,[e])}return e},tK=function(e,t,r){var a,n=t$(r);if("mathml"===r.output)return tj(e,t,n,r.displayMode,!0);if("html"===r.output){var i=tE(e,n);a=tm.makeSpan(["katex"],[i])}else{var s=tj(e,t,n,r.displayMode,!1),o=tE(e,n);a=tm.makeSpan(["katex"],[s,o])}return tZ(a,r)},tJ=function(e,t,r){var a=tE(e,t$(r));return tZ(tm.makeSpan(["katex"],[a]),r)},tQ={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},t0={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},t1={encloseSpan:function(e,t,r,a,n){var i,s=e.height+e.depth+r+a;if(/fbox|color|angl/.test(t)){if(i=tm.makeSpan(["stretchy",t],[],n),"fbox"===t){var o=n.color&&n.getColor();o&&(i.style.borderColor=o)}}else{var l=[];/^[bx]cancel$/.test(t)&&l.push(new eM({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&l.push(new eM({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new ek(l,{width:"100%",height:ep(s)});i=tm.makeSvgSpan([],[h],n)}return i.height=s,i.style.height=ep(s),i},mathMLnode:function(e){var t=new tF.MathNode("mo",[new tF.TextNode(tQ[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},svgSpan:function(e,t){var{span:r,minWidth:a,height:n}=function(){var r=4e5,a=e.label.slice(1);if(H.contains(["widehat","widecheck","widetilde","utilde"],a)){var n,i,s,o,l="ordgroup"===(o=e.base).type?o.body.length:1;if(l>5)"widehat"===a||"widecheck"===a?(n=420,r=2364,s=.42,i=a+"4"):(n=312,r=2340,s=.34,i="tilde4");else{var h=[1,1,2,2,3,3][l];"widehat"===a||"widecheck"===a?(r=[0,1062,2364,2364,2364][h],n=[0,239,300,360,420][h],s=[0,.24,.3,.3,.36,.42][h],i=a+h):(r=[0,600,1033,2339,2340][h],n=[0,260,286,306,312][h],s=[0,.26,.286,.3,.306,.34][h],i="tilde"+h)}var m=new ek([new eS(i)],{width:"100%",height:ep(s),viewBox:"0 0 "+r+" "+n,preserveAspectRatio:"none"});return{span:tm.makeSvgSpan([],[m],t),minWidth:0,height:s}}var c,p,u=[],d=t0[a],[g,f,v]=d,b=v/1e3,y=g.length;if(1===y)c=["hide-tail"],p=[d[3]];else if(2===y)c=["halfarrow-left","halfarrow-right"],p=["xMinYMin","xMaxYMin"];else if(3===y)c=["brace-left","brace-center","brace-right"],p=["xMinYMin","xMidYMin","xMaxYMin"];else throw Error("Correct katexImagesData or update code here to support\n "+y+" children.");for(var x=0;x0&&(r.style.minWidth=ep(a)),r}};function t4(e,t){if(!e||e.type!==t)throw Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function t5(e){var t=t6(e);if(!t)throw Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function t6(e){return e&&("atom"===e.type||eT.hasOwnProperty(e.type))?e:null}var t7=(e,t)=>{e&&"supsub"===e.type?(o=(l=t4(e.base,"accent")).base,e.base=o,h=function(e){if(e instanceof ev)return e;throw Error("Expected span but got "+String(e)+".")}(tR(e,t)),e.base=l):o=(l=t4(e,"accent")).base;var r=tR(o,t.havingCrampedStyle()),a=l.isShifty&&H.isCharacterBox(o),n=0;a&&(n=ez(tR(H.getBaseElem(o),t.havingCrampedStyle())).skew);var i="\\c"===l.label,s=i?r.height+r.depth:Math.min(r.height,t.fontMetrics().xHeight);if(l.isStretchy)m=t1.svgSpan(l,t),m=tm.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"elem",elem:m,wrapperClasses:["svg-align"],wrapperStyle:n>0?{width:"calc(100% - "+ep(2*n)+")",marginLeft:ep(2*n)}:void 0}]},t);else{"\\vec"===l.label?(c=tm.staticSvg("vec",t),p=tm.svgData.vec[1]):((c=ez(c=tm.makeOrd({mode:l.mode,text:l.label},t,"textord"))).italic=0,p=c.width,i&&(s+=c.depth)),m=tm.makeSpan(["accent-body"],[c]);var o,l,h,m,c,p,u="\\textcircled"===l.label;u&&(m.classes.push("accent-full"),s=r.height);var d=n;u||(d-=p/2),m.style.left=ep(d),"\\textcircled"===l.label&&(m.style.top=".2em"),m=tm.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:-s},{type:"elem",elem:m}]},t)}var g=tm.makeSpan(["mord","accent"],[m],t);return h?(h.children[0]=g,h.height=Math.max(g.height,h.height),h.classes[0]="mord",h):g},t3=(e,t)=>{var r=e.isStretchy?t1.mathMLnode(e.label):new tF.MathNode("mo",[tG(e.label,e.mode)]),a=new tF.MathNode("mover",[t_(e.base,t),r]);return a.setAttribute("accent","true"),a},t8=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(e=>"\\"+e).join("|"));ty({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(e,t)=>{var r=tw(t[0]),a=!t8.test(e.funcName),n=!a||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:a,isShifty:n,base:r}},htmlBuilder:t7,mathmlBuilder:t3}),ty({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(e,t)=>{var r=t[0],a=e.parser.mode;return"math"===a&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:t7,mathmlBuilder:t3}),ty({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0];return{type:"accentUnder",mode:r.mode,label:a,base:n}},htmlBuilder:(e,t)=>{var r=tR(e.base,t),a=t1.svgSpan(e,t),n="\\utilde"===e.label?.12:0,i=tm.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:n},{type:"elem",elem:r}]},t);return tm.makeSpan(["mord","accentunder"],[i],t)},mathmlBuilder:(e,t)=>{var r=t1.mathMLnode(e.label),a=new tF.MathNode("munder",[t_(e.base,t),r]);return a.setAttribute("accentunder","true"),a}});var t2=e=>{var t=new tF.MathNode("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};ty({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){var{parser:a,funcName:n}=e;return{type:"xArrow",mode:a.mode,label:n,body:t[0],below:r[0]}},htmlBuilder(e,t){var r,a,n=t.style,i=t.havingStyle(n.sup()),s=tm.wrapFragment(tR(e.body,i,t),t),o="\\x"===e.label.slice(0,2)?"x":"cd";s.classes.push(o+"-arrow-pad"),e.below&&(i=t.havingStyle(n.sub()),(r=tm.wrapFragment(tR(e.below,i,t),t)).classes.push(o+"-arrow-pad"));var l=t1.svgSpan(e,t),h=-t.fontMetrics().axisHeight+.5*l.height,m=-t.fontMetrics().axisHeight-.5*l.height-.111;if((s.depth>.25||"\\xleftequilibrium"===e.label)&&(m-=s.depth),r){var c=-t.fontMetrics().axisHeight+r.height+.5*l.height+.111;a=tm.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:m},{type:"elem",elem:l,shift:h},{type:"elem",elem:r,shift:c}]},t)}else a=tm.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:m},{type:"elem",elem:l,shift:h}]},t);return a.children[0].children[0].children[1].classes.push("svg-align"),tm.makeSpan(["mrel","x-arrow"],[a],t)},mathmlBuilder(e,t){var r,a=t1.mathMLnode(e.label);if(a.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){var n=t2(t_(e.body,t));if(e.below){var i=t2(t_(e.below,t));r=new tF.MathNode("munderover",[a,i,n])}else r=new tF.MathNode("mover",[a,n])}else if(e.below){var s=t2(t_(e.below,t));r=new tF.MathNode("munder",[a,s])}else r=t2(),r=new tF.MathNode("mover",[a,r]);return r}});var t9=tm.makeSpan;function re(e,t){var r=tB(e.body,t,!0);return t9([e.mclass],r,t)}function rt(e,t){var r,a=tX(e.body,t);return"minner"===e.mclass?r=new tF.MathNode("mpadded",a):"mord"===e.mclass?e.isCharacterBox?(r=a[0]).type="mi":r=new tF.MathNode("mi",a):(e.isCharacterBox?(r=a[0]).type="mo":r=new tF.MathNode("mo",a),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}ty({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+a.slice(5),body:tk(n),isCharacterBox:H.isCharacterBox(n)}},htmlBuilder:re,mathmlBuilder:rt});var rr=e=>{var t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"===t.type&&("bin"===t.family||"rel"===t.family)?"m"+t.family:"mord"};ty({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(e,t){var{parser:r}=e;return{type:"mclass",mode:r.mode,mclass:rr(t[0]),body:tk(t[1]),isCharacterBox:H.isCharacterBox(t[1])}}}),ty({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(e,t){var r,{parser:a,funcName:n}=e,i=t[1],s=t[0];r="\\stackrel"!==n?rr(i):"mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==n,body:tk(i)},l={type:"supsub",mode:s.mode,base:o,sup:"\\underset"===n?null:s,sub:"\\underset"===n?s:null};return{type:"mclass",mode:a.mode,mclass:r,body:[l],isCharacterBox:H.isCharacterBox(l)}},htmlBuilder:re,mathmlBuilder:rt}),ty({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"pmb",mode:r.mode,mclass:rr(t[0]),body:tk(t[0])}},htmlBuilder(e,t){var r=tB(e.body,t,!0),a=tm.makeSpan([e.mclass],r,t);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(e,t){var r=tX(e.body,t),a=new tF.MathNode("mstyle",r);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var ra={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},rn=()=>({type:"styling",body:[],mode:"math",style:"display"}),ri=e=>"textord"===e.type&&"@"===e.text,rs=(e,t)=>("mathord"===e.type||"atom"===e.type)&&e.text===t;ty({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e;return{type:"cdlabel",mode:r.mode,side:a.slice(4),label:t[0]}},htmlBuilder(e,t){var r=t.havingStyle(t.style.sup()),a=tm.wrapFragment(tR(e.label,r,t),t);return a.classes.push("cd-label-"+e.side),a.style.bottom=ep(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(e,t){var r=new tF.MathNode("mrow",[t_(e.label,t)]);return(r=new tF.MathNode("mpadded",[r])).setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),(r=new tF.MathNode("mstyle",[r])).setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),ty({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(e,t){var{parser:r}=e;return{type:"cdlabelparent",mode:r.mode,fragment:t[0]}},htmlBuilder(e,t){var r=tm.wrapFragment(tR(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder:(e,t)=>new tF.MathNode("mrow",[t_(e.fragment,t)])}),ty({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(e,t){for(var r,{parser:a}=e,n=t4(t[0],"ordgroup").body,s="",o=0;o=1114111)throw new i("\\@char with invalid code point "+s);return l<=65535?r=String.fromCharCode(l):(l-=65536,r=String.fromCharCode((l>>10)+55296,(1023&l)+56320)),{type:"textord",mode:a.mode,text:r}}});var ro=(e,t)=>{var r=tB(e.body,t.withColor(e.color),!1);return tm.makeFragment(r)},rl=(e,t)=>{var r=tX(e.body,t.withColor(e.color)),a=new tF.MathNode("mstyle",r);return a.setAttribute("mathcolor",e.color),a};ty({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(e,t){var{parser:r}=e,a=t4(t[0],"color-token").color,n=t[1];return{type:"color",mode:r.mode,color:a,body:tk(n)}},htmlBuilder:ro,mathmlBuilder:rl}),ty({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(e,t){var{parser:r,breakOnTokenText:a}=e,n=t4(t[0],"color-token").color;r.gullet.macros.set("\\current@color",n);var i=r.parseExpression(!0,a);return{type:"color",mode:r.mode,color:n,body:i}},htmlBuilder:ro,mathmlBuilder:rl}),ty({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,r){var{parser:a}=e,n="["===a.gullet.future().text?a.parseSizeGroup(!0):null,i=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:i,size:n&&t4(n,"size").value}},htmlBuilder(e,t){var r=tm.makeSpan(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=ep(ec(e.size,t)))),r},mathmlBuilder(e,t){var r=new tF.MathNode("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",ep(ec(e.size,t)))),r}});var rh={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},rm=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new i("Expected a control sequence",e);return t},rc=e=>{var t=e.gullet.popToken();return"="===t.text&&" "===(t=e.gullet.popToken()).text&&(t=e.gullet.popToken()),t},rp=(e,t,r,a)=>{var n=e.gullet.macros.get(r.text);null==n&&(r.noexpand=!0,n={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,n,a)};ty({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(e){var{parser:t,funcName:r}=e;t.consumeSpaces();var a=t.fetch();if(rh[a.text])return("\\global"===r||"\\\\globallong"===r)&&(a.text=rh[a.text]),t4(t.parseFunction(),"internal");throw new i("Invalid token after macro prefix",a)}}),ty({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var t,{parser:r,funcName:a}=e,n=r.gullet.popToken(),s=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new i("Expected a control sequence",n);for(var o=0,l=[[]];"{"!==r.gullet.future().text;)if("#"===(n=r.gullet.popToken()).text){if("{"===r.gullet.future().text){t=r.gullet.future(),l[o].push("{");break}if(n=r.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new i('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==o+1)throw new i('Argument number "'+n.text+'" out of order');o++,l.push([])}else if("EOF"===n.text)throw new i("Expected a macro definition");else l[o].push(n.text);var{tokens:h}=r.gullet.consumeArg();return t&&h.unshift(t),("\\edef"===a||"\\xdef"===a)&&(h=r.gullet.expandTokens(h)).reverse(),r.gullet.macros.set(s,{tokens:h,numArgs:o,delimiters:l},a===rh[a]),{type:"internal",mode:r.mode}}}),ty({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:r}=e,a=rm(t.gullet.popToken());t.gullet.consumeSpaces();var n=rc(t);return rp(t,a,n,"\\\\globallet"===r),{type:"internal",mode:t.mode}}}),ty({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:r}=e,a=rm(t.gullet.popToken()),n=t.gullet.popToken(),i=t.gullet.popToken();return rp(t,a,i,"\\\\globalfuture"===r),t.gullet.pushToken(i),t.gullet.pushToken(n),{type:"internal",mode:t.mode}}});var ru=function(e,t,r){var a=er(eB.math[e]&&eB.math[e].replace||e,t,r);if(!a)throw Error("Unsupported symbol "+e+" and font size "+t+".");return a},rd=function(e,t,r,a){var n=r.havingBaseStyle(t),i=tm.makeSpan(a.concat(n.sizingClasses(r)),[e],r),s=n.sizeMultiplier/r.sizeMultiplier;return i.height*=s,i.depth*=s,i.maxFontSize=n.sizeMultiplier,i},rg=function(e,t,r){var a=t.havingBaseStyle(r),n=(1-t.sizeMultiplier/a.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=ep(n),e.height-=n,e.depth+=n},rf=function(e,t,r,a,n,i){var s=rd(tm.makeSymbol(e,"Main-Regular",n,a),t,a,i);return r&&rg(s,a,t),s},rv=function(e,t,r,a,n,i){var s=tm.makeSymbol(e,"Size"+t+"-Regular",n,a),o=rd(tm.makeSpan(["delimsizing","size"+t],[s],a),Y.TEXT,a,i);return r&&rg(o,a,Y.TEXT),o},rb=function(e,t,r){var a;return a="Size1-Regular"===t?"delim-size1":"delim-size4",{type:"elem",elem:tm.makeSpan(["delimsizinginner",a],[tm.makeSpan([],[tm.makeSymbol(e,t,r)])])}},ry=function(e,t,r){var a=Q["Size4-Regular"][e.charCodeAt(0)]?Q["Size4-Regular"][e.charCodeAt(0)][4]:Q["Size1-Regular"][e.charCodeAt(0)][4],n=new ek([new eS("inner",$(e,Math.round(1e3*t)))],{width:ep(a),height:ep(t),style:"width:"+ep(a),viewBox:"0 0 "+1e3*a+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),i=tm.makeSvgSpan([],[n],r);return i.height=t,i.style.height=ep(t),i.style.width=ep(a),{type:"elem",elem:i}},rx={type:"kern",size:-.008},rw=["|","\\lvert","\\rvert","\\vert"],rk=["\\|","\\lVert","\\rVert","\\Vert"],rS=function(e,t,r,a,n,i){var s,o,l,h,m="",c=0;s=l=h=e,o=null;var p="Size1-Regular";"\\uparrow"===e?l=h="⏐":"\\Uparrow"===e?l=h="‖":"\\downarrow"===e?s=l="⏐":"\\Downarrow"===e?s=l="‖":"\\updownarrow"===e?(s="\\uparrow",l="⏐",h="\\downarrow"):"\\Updownarrow"===e?(s="\\Uparrow",l="‖",h="\\Downarrow"):H.contains(rw,e)?(l="∣",m="vert",c=333):H.contains(rk,e)?(l="∥",m="doublevert",c=556):"["===e||"\\lbrack"===e?(s="⎡",l="⎢",h="⎣",p="Size4-Regular",m="lbrack",c=667):"]"===e||"\\rbrack"===e?(s="⎤",l="⎥",h="⎦",p="Size4-Regular",m="rbrack",c=667):"\\lfloor"===e||"⌊"===e?(l=s="⎢",h="⎣",p="Size4-Regular",m="lfloor",c=667):"\\lceil"===e||"⌈"===e?(s="⎡",l=h="⎢",p="Size4-Regular",m="lceil",c=667):"\\rfloor"===e||"⌋"===e?(l=s="⎥",h="⎦",p="Size4-Regular",m="rfloor",c=667):"\\rceil"===e||"⌉"===e?(s="⎤",l=h="⎥",p="Size4-Regular",m="rceil",c=667):"("===e||"\\lparen"===e?(s="⎛",l="⎜",h="⎝",p="Size4-Regular",m="lparen",c=875):")"===e||"\\rparen"===e?(s="⎞",l="⎟",h="⎠",p="Size4-Regular",m="rparen",c=875):"\\{"===e||"\\lbrace"===e?(s="⎧",o="⎨",h="⎩",l="⎪",p="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(s="⎫",o="⎬",h="⎭",l="⎪",p="Size4-Regular"):"\\lgroup"===e||"⟮"===e?(s="⎧",h="⎩",l="⎪",p="Size4-Regular"):"\\rgroup"===e||"⟯"===e?(s="⎫",h="⎭",l="⎪",p="Size4-Regular"):"\\lmoustache"===e||"⎰"===e?(s="⎧",h="⎭",l="⎪",p="Size4-Regular"):("\\rmoustache"===e||"⎱"===e)&&(s="⎫",h="⎩",l="⎪",p="Size4-Regular");var u=ru(s,p,n),d=u.height+u.depth,g=ru(l,p,n),f=g.height+g.depth,v=ru(h,p,n),b=v.height+v.depth,y=0,x=1;if(null!==o){var w=ru(o,p,n);y=w.height+w.depth,x=2}var k=d+b+y,S=Math.max(0,Math.ceil((t-k)/(x*f))),M=k+S*x*f,z=a.fontMetrics().axisHeight;r&&(z*=a.sizeMultiplier);var A=M/2-z,T=[];if(m.length>0){var B=Math.round(1e3*M),C=K(m,Math.round(1e3*(M-d-b))),q=new eS(m,C),N=(c/1e3).toFixed(3)+"em",I=(B/1e3).toFixed(3)+"em",R=new ek([q],{width:N,height:I,viewBox:"0 0 "+c+" "+B}),O=tm.makeSvgSpan([],[R],a);O.height=B/1e3,O.style.width=N,O.style.height=I,T.push({type:"elem",elem:O})}else{if(T.push(rb(h,p,n)),T.push(rx),null===o)T.push(ry(l,M-d-b+.016,a));else{var E=(M-d-b-y)/2+.016;T.push(ry(l,E,a)),T.push(rx),T.push(rb(o,p,n)),T.push(rx),T.push(ry(l,E,a))}T.push(rx),T.push(rb(s,p,n))}var L=a.havingBaseStyle(Y.TEXT),D=tm.makeVList({positionType:"bottom",positionData:A,children:T},L);return rd(tm.makeSpan(["delimsizing","mult"],[D],L),Y.TEXT,a,i)},rM=function(e,t,r,a,n){var i=j(e,a,r),s=new ek([new eS(e,i)],{width:"400em",height:ep(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return tm.makeSvgSpan(["hide-tail"],[s],n)},rz=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],rA=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],rT=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],rB=[0,1.2,1.8,2.4,3],rC=[{type:"small",style:Y.SCRIPTSCRIPT},{type:"small",style:Y.SCRIPT},{type:"small",style:Y.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],rq=[{type:"small",style:Y.SCRIPTSCRIPT},{type:"small",style:Y.SCRIPT},{type:"small",style:Y.TEXT},{type:"stack"}],rN=[{type:"small",style:Y.SCRIPTSCRIPT},{type:"small",style:Y.SCRIPT},{type:"small",style:Y.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],rI=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw Error("Add support for delim type '"+e.type+"' here.")},rH=function(e,t,r,a){for(var n=Math.min(2,3-a.style.size),i=n;it)return r[i]}return r[r.length-1]},rR=function(e,t,r,a,n,i){"<"===e||"\\lt"===e||"⟨"===e?e="\\langle":(">"===e||"\\gt"===e||"⟩"===e)&&(e="\\rangle"),s=H.contains(rT,e)?rC:H.contains(rz,e)?rN:rq;var s,o=rH(e,t,s,a);return"small"===o.type?rf(e,o.style,r,a,n,i):"large"===o.type?rv(e,o.size,r,a,n,i):rS(e,t,r,a,n,i)},rO={sqrtImage:function(e,t){var r,a,n=t.havingBaseSizing(),i=rH("\\surd",e*n.sizeMultiplier,rN,n),s=n.sizeMultiplier,o=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),l=0,h=0,m=0;return"small"===i.type?(m=1e3+1e3*o+80,e<1?s=1:e<1.4&&(s=.7),l=(1+o+.08)/s,h=(1+o)/s,(r=rM("sqrtMain",l,m,o,t)).style.minWidth="0.853em",a=.833/s):"large"===i.type?(m=1080*rB[i.size],h=(rB[i.size]+o)/s,l=(rB[i.size]+o+.08)/s,(r=rM("sqrtSize"+i.size,l,m,o,t)).style.minWidth="1.02em",a=1/s):(l=e+o+.08,h=e+o,(r=rM("sqrtTall",l,m=Math.floor(1e3*e+o)+80,o,t)).style.minWidth="0.742em",a=1.056),r.height=h,r.style.height=ep(l),{span:r,advanceWidth:a,ruleWidth:(t.fontMetrics().sqrtRuleThickness+o)*s}},sizedDelim:function(e,t,r,a,n){if("<"===e||"\\lt"===e||"⟨"===e?e="\\langle":(">"===e||"\\gt"===e||"⟩"===e)&&(e="\\rangle"),H.contains(rz,e)||H.contains(rT,e))return rv(e,t,!1,r,a,n);if(H.contains(rA,e))return rS(e,rB[t],!1,r,a,n);throw new i("Illegal delimiter: '"+e+"'")},sizeToMaxHeight:rB,customSizedDelim:rR,leftRightDelim:function(e,t,r,a,n,i){var s=a.fontMetrics().axisHeight*a.sizeMultiplier,o=5/a.fontMetrics().ptPerEm,l=Math.max(t-s,r+s);return rR(e,Math.max(l/500*901,2*l-o),!0,a,n,i)}},rE={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},rL=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function rD(e,t){var r=t6(e);if(r&&H.contains(rL,r.text))return r;if(r)throw new i("Invalid delimiter '"+r.text+"' after '"+t.funcName+"'",e);throw new i("Invalid delimiter type '"+e.type+"'",e)}function rV(e){if(!e.body)throw Error("Bug: The leftright ParseNode wasn't fully parsed.")}ty({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(e,t)=>{var r=rD(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:rE[e.funcName].size,mclass:rE[e.funcName].mclass,delim:r.text}},htmlBuilder:(e,t)=>"."===e.delim?tm.makeSpan([e.mclass]):rO.sizedDelim(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];"."!==e.delim&&t.push(tG(e.delim,e.mode));var r=new tF.MathNode("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var a=ep(rO.sizeToMaxHeight[e.size]);return r.setAttribute("minsize",a),r.setAttribute("maxsize",a),r}}),ty({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new i("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:rD(t[0],e).text,color:r}}}),ty({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=rD(t[0],e),a=e.parser;++a.leftrightDepth;var n=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var i=t4(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:n,left:r.text,right:i.delim,rightColor:i.color}},htmlBuilder:(e,t)=>{rV(e);for(var r,a,n=tB(e.body,t,!0,["mopen","mclose"]),i=0,s=0,o=!1,l=0;l{rV(e);var r=tX(e.body,t);if("."!==e.left){var a=new tF.MathNode("mo",[tG(e.left,e.mode)]);a.setAttribute("fence","true"),r.unshift(a)}if("."!==e.right){var n=new tF.MathNode("mo",[tG(e.right,e.mode)]);n.setAttribute("fence","true"),e.rightColor&&n.setAttribute("mathcolor",e.rightColor),r.push(n)}return tU(r)}}),ty({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=rD(t[0],e);if(!e.parser.leftrightDepth)throw new i("\\middle without preceding \\left",r);return{type:"middle",mode:e.parser.mode,delim:r.text}},htmlBuilder:(e,t)=>{var r;if("."===e.delim)r=tH(t,[]);else{r=rO.sizedDelim(e.delim,1,t,e.mode,[]);var a={delim:e.delim,options:t};r.isMiddle=a}return r},mathmlBuilder:(e,t)=>{var r="\\vert"===e.delim||"|"===e.delim?tG("|","text"):tG(e.delim,e.mode),a=new tF.MathNode("mo",[r]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var rP=(e,t)=>{var r,a,n=tm.wrapFragment(tR(e.body,t),t),i=e.label.slice(1),s=t.sizeMultiplier,o=0,l=H.isCharacterBox(e.body);if("sout"===i)(r=tm.makeSpan(["stretchy","sout"])).height=t.fontMetrics().defaultRuleThickness/s,o=-.5*t.fontMetrics().xHeight;else if("phase"===i){var h=ec({number:.6,unit:"pt"},t),m=ec({number:.35,unit:"ex"},t);s/=t.havingBaseSizing().sizeMultiplier;var c=n.height+n.depth+h+m;n.style.paddingLeft=ep(c/2+h);var p=Math.floor(1e3*c*s),u=new ek([new eS("phase","M400000 "+p+" H0 L"+p/2+" 0 l65 45 L145 "+(p-80)+" H400000z")],{width:"400em",height:ep(p/1e3),viewBox:"0 0 400000 "+p,preserveAspectRatio:"xMinYMin slice"});(r=tm.makeSvgSpan(["hide-tail"],[u],t)).style.height=ep(c),o=n.depth+h+m}else{/cancel/.test(i)?l||n.classes.push("cancel-pad"):"angl"===i?n.classes.push("anglpad"):n.classes.push("boxpad");var d=0,g=0,f=0;/box/.test(i)?(f=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),g=d=t.fontMetrics().fboxsep+("colorbox"===i?0:f)):"angl"===i?(d=4*(f=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness)),g=Math.max(0,.25-n.depth)):g=d=l?.2:0,r=t1.encloseSpan(n,i,d,g,t),/fbox|boxed|fcolorbox/.test(i)?(r.style.borderStyle="solid",r.style.borderWidth=ep(f)):"angl"===i&&.049!==f&&(r.style.borderTopWidth=ep(f),r.style.borderRightWidth=ep(f)),o=n.depth+g,e.backgroundColor&&(r.style.backgroundColor=e.backgroundColor,e.borderColor&&(r.style.borderColor=e.borderColor))}if(e.backgroundColor)a=tm.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:o},{type:"elem",elem:n,shift:0}]},t);else{var v=/cancel|phase/.test(i)?["svg-align"]:[];a=tm.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:0},{type:"elem",elem:r,shift:o,wrapperClasses:v}]},t)}return(/cancel/.test(i)&&(a.height=n.height,a.depth=n.depth),/cancel/.test(i)&&!l)?tm.makeSpan(["mord","cancel-lap"],[a],t):tm.makeSpan(["mord"],[a],t)},rF=(e,t)=>{var r=0,a=new tF.MathNode(e.label.indexOf("colorbox")>-1?"mpadded":"menclose",[t_(e.body,t)]);switch(e.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*r+"pt"),a.setAttribute("height","+"+2*r+"pt"),a.setAttribute("lspace",r+"pt"),a.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){var n=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);a.setAttribute("style","border: "+n+"em solid "+String(e.borderColor))}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&a.setAttribute("mathbackground",e.backgroundColor),a};ty({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(e,t,r){var{parser:a,funcName:n}=e,i=t4(t[0],"color-token").color,s=t[1];return{type:"enclose",mode:a.mode,label:n,backgroundColor:i,body:s}},htmlBuilder:rP,mathmlBuilder:rF}),ty({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(e,t,r){var{parser:a,funcName:n}=e,i=t4(t[0],"color-token").color,s=t4(t[1],"color-token").color,o=t[2];return{type:"enclose",mode:a.mode,label:n,backgroundColor:s,borderColor:i,body:o}},htmlBuilder:rP,mathmlBuilder:rF}),ty({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\fbox",body:t[0]}}}),ty({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"enclose",mode:r.mode,label:a,body:n}},htmlBuilder:rP,mathmlBuilder:rF}),ty({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(e,t){var{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\angl",body:t[0]}}});var rG={};function rU(e){for(var{type:t,names:r,props:a,handler:n,htmlBuilder:i,mathmlBuilder:s}=e,o={type:t,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:n},l=0;l{if(!e.parser.settings.displayMode)throw new i("{"+e.envName+"} can be used only in display mode.")};function r_(e){if(-1===e.indexOf("ed"))return -1===e.indexOf("*")}function rj(e,t,r){var{hskipBeforeAndAfter:a,addJot:s,cols:o,arraystretch:l,colSeparationType:h,autoTag:m,singleRow:c,emptySingleRow:p,maxNumCols:u,leqno:d}=t;if(e.gullet.beginGroup(),c||e.gullet.macros.set("\\cr","\\\\\\relax"),!l){var g=e.gullet.expandMacroAsText("\\arraystretch");if(null==g)l=1;else if(!(l=parseFloat(g))||l<0)throw new i("Invalid \\arraystretch: "+g)}e.gullet.beginGroup();var f=[],v=[f],b=[],y=[],x=null!=m?[]:void 0;function w(){m&&e.gullet.macros.set("\\@eqnsw","1",!0)}function k(){x&&(e.gullet.macros.get("\\df@tag")?(x.push(e.subparse([new n("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):x.push(!!m&&"1"===e.gullet.macros.get("\\@eqnsw")))}for(w(),y.push(rX(e));;){var S=e.parseExpression(!1,c?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup(),S={type:"ordgroup",mode:e.mode,body:S},r&&(S={type:"styling",mode:e.mode,style:r,body:[S]}),f.push(S);var M=e.fetch().text;if("&"===M){if(u&&f.length===u){if(c||h)throw new i("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else if("\\end"===M){k(),1===f.length&&"styling"===S.type&&0===S.body[0].body.length&&(v.length>1||!p)&&v.pop(),y.length0&&(x+=.25),c.push({pos:x,isDashed:e[t]})}for(w(l[0]),r=0;r0&&(M<(B+=y)&&(M=B),B=0),e.addJot&&(M+=f),z.height=S,z.depth=M,x+=S,z.pos=x,x+=M+B,m[r]=z,w(l[r+1])}var C=x/2+t.fontMetrics().axisHeight,q=e.cols||[],N=[],I=[];if(e.tags&&e.tags.some(e=>e))for(r=0;r=h)){var U=void 0;(a>0||e.hskipBeforeAndAfter)&&0!==(U=H.deflt(D.pregap,d))&&((n=tm.makeSpan(["arraycolsep"],[])).style.width=ep(U),N.push(n));var X=[];for(r=0;r0){for(var $=tm.makeLineSpan("hline",t,p),Z=tm.makeLineSpan("hdashline",t,p),K=[{type:"elem",elem:m,shift:0}];c.length>0;){var J=c.pop(),Q=J.pos-C;J.isDashed?K.push({type:"elem",elem:Z,shift:Q}):K.push({type:"elem",elem:$,shift:Q})}m=tm.makeVList({positionType:"individualShift",children:K},t)}if(0===I.length)return tm.makeSpan(["mord"],[m],t);var ee=tm.makeVList({positionType:"individualShift",children:I},t);return ee=tm.makeSpan(["tag"],[ee],t),tm.makeFragment([m,ee])},rK={c:"center ",l:"left ",r:"right "},rJ=function(e,t){for(var r=[],a=new tF.MathNode("mtd",[],["mtr-glue"]),n=new tF.MathNode("mtd",[],["mml-eqn-num"]),i=0;i0){var u=e.cols,d="",g=!1,f=0,v=u.length;"separator"===u[0].type&&(c+="top ",f=1),"separator"===u[u.length-1].type&&(c+="bottom ",v-=1);for(var b=f;b0?"left ":"")+(S[S.length-1].length>0?"right ":"");for(var M=1;M-1?"alignat":"align",s="split"===e.envName,o=rj(e.parser,{cols:a,addJot:!0,autoTag:s?void 0:r_(e.envName),emptySingleRow:!0,colSeparationType:n,maxNumCols:s?2:void 0,leqno:e.parser.settings.leqno},"display"),l=0,h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){for(var m="",c=0;c0&&p&&(g=1),a[u]={type:"align",align:d,pregap:g,postgap:0}}return o.colSeparationType=p?"align":"alignat",o};rU({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){var r=(t6(t[0])?[t[0]]:t4(t[0],"ordgroup").body).map(function(e){var t=t5(e).text;if(-1!=="lcr".indexOf(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new i("Unknown column alignment: "+t,e)}),a={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return rj(e.parser,a,r$(e.envName))},htmlBuilder:rZ,mathmlBuilder:rJ}),rU({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],r="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){var n=e.parser;if(n.consumeSpaces(),"["===n.fetch().text){if(n.consume(),n.consumeSpaces(),r=n.fetch().text,-1==="lcr".indexOf(r))throw new i("Expected l or c or r",n.nextToken);n.consume(),n.consumeSpaces(),n.expect("]"),n.consume(),a.cols=[{type:"align",align:r}]}}var s=rj(e.parser,a,r$(e.envName)),o=Math.max(0,...s.body.map(e=>e.length));return s.cols=Array(o).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[s],left:t[0],right:t[1],rightColor:void 0}:s},htmlBuilder:rZ,mathmlBuilder:rJ}),rU({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){var t=rj(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:rZ,mathmlBuilder:rJ}),rU({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){var r=(t6(t[0])?[t[0]]:t4(t[0],"ordgroup").body).map(function(e){var t=t5(e).text;if(-1!=="lc".indexOf(t))return{type:"align",align:t};throw new i("Unknown column alignment: "+t,e)});if(r.length>1)throw new i("{subarray} can contain only one column");var a={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if((a=rj(e.parser,a,"script")).body.length>0&&a.body[0].length>1)throw new i("{subarray} can contain only one column");return a},htmlBuilder:rZ,mathmlBuilder:rJ}),rU({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){var t=rj(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r$(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.indexOf("r")>-1?".":"\\{",right:e.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:rZ,mathmlBuilder:rJ}),rU({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:rQ,htmlBuilder:rZ,mathmlBuilder:rJ}),rU({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){H.contains(["gather","gather*"],e.envName)&&rW(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:r_(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return rj(e.parser,t,"display")},htmlBuilder:rZ,mathmlBuilder:rJ}),rU({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:rQ,htmlBuilder:rZ,mathmlBuilder:rJ}),rU({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){rW(e);var t={autoTag:r_(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return rj(e.parser,t,"display")},htmlBuilder:rZ,mathmlBuilder:rJ}),rU({type:"array",names:["CD"],props:{numArgs:0},handler:e=>(rW(e),function(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();var r=e.fetch().text;if("&"===r||"\\\\"===r)e.consume();else if("\\end"===r){0===t[t.length-1].length&&t.pop();break}else throw new i("Expected \\\\ or \\cr or \\end",e.nextToken)}for(var a=[],n=[a],s=0;s-1);else if("<>AV".indexOf(m)>-1)for(var p=0;p<2;p++){for(var u=!0,d=h+1;dAV=|." after @',o[h]);var g={type:"styling",body:[function(e,t,r){var a=ra[e];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(a,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":var n=r.callFunction("\\\\cdleft",[t[0]],[]),i=r.callFunction("\\Big",[{type:"atom",text:a,mode:"math",family:"rel"}],[]),s=r.callFunction("\\\\cdright",[t[1]],[]);return r.callFunction("\\\\cdparent",[{type:"ordgroup",mode:"math",body:[n,i,s]}],[]);case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return r.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}(m,c,e)],mode:"math",style:"display"};a.push(g),l=rn()}else l.body.push(o[h]);s%2==0?a.push(l):a.shift(),a=[],n.push(a)}e.gullet.endGroup(),e.gullet.endGroup();var f=Array(n[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:n,arraystretch:1,addJot:!0,rowGaps:[null],cols:f,colSeparationType:"CD",hLinesBeforeRow:Array(n.length+1).fill([])}}(e.parser)),htmlBuilder:rZ,mathmlBuilder:rJ}),rY["\\nonumber"]="\\gdef\\@eqnsw{0}",rY["\\notag"]="\\nonumber",ty({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(e,t){throw new i(e.funcName+" valid only within array environment")}}),ty({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];if("ordgroup"!==n.type)throw new i("Invalid environment name",n);for(var s="",o=0;o{var r=e.font,a=t.withFont(r);return tR(e.body,a)},r1=(e,t)=>{var r=e.font,a=t.withFont(r);return t_(e.body,a)},r4={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};ty({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=tw(t[0]),i=a;return i in r4&&(i=r4[i]),{type:"font",mode:r.mode,font:i.slice(1),body:n}},htmlBuilder:r0,mathmlBuilder:r1}),ty({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(e,t)=>{var{parser:r}=e,a=t[0],n=H.isCharacterBox(a);return{type:"mclass",mode:r.mode,mclass:rr(a),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:a}],isCharacterBox:n}}}),ty({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{parser:r,funcName:a,breakOnTokenText:n}=e,{mode:i}=r,s=r.parseExpression(!0,n);return{type:"font",mode:i,font:"math"+a.slice(1),body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:r0,mathmlBuilder:r1});var r5=(e,t)=>{var r=t;return"display"===e?r=r.id>=Y.SCRIPT.id?r.text():Y.DISPLAY:"text"===e&&r.size===Y.DISPLAY.size?r=Y.TEXT:"script"===e?r=Y.SCRIPT:"scriptscript"===e&&(r=Y.SCRIPTSCRIPT),r},r6=(e,t)=>{var r,a,n,i,s,o,l,h,m,c,p,u=r5(e.size,t.style),d=u.fracNum(),g=u.fracDen();r=t.havingStyle(d);var f=tR(e.numer,r,t);if(e.continued){var v=8.5/t.fontMetrics().ptPerEm,b=3.5/t.fontMetrics().ptPerEm;f.height=f.height0?3*i:7*i,l=t.fontMetrics().denom1):(n>0?(s=t.fontMetrics().num2,o=i):(s=t.fontMetrics().num3,o=3*i),l=t.fontMetrics().denom2),a){var x=t.fontMetrics().axisHeight;s-f.depth-(x+.5*n){var r=new tF.MathNode("mfrac",[t_(e.numer,t),t_(e.denom,t)]);if(e.hasBarLine){if(e.barSize){var a=ec(e.barSize,t);r.setAttribute("linethickness",ep(a))}}else r.setAttribute("linethickness","0px");var n=r5(e.size,t.style);if(n.size!==t.style.size){r=new tF.MathNode("mstyle",[r]);var i=n.size===Y.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",i),r.setAttribute("scriptlevel","0")}if(null!=e.leftDelim||null!=e.rightDelim){var s=[];if(null!=e.leftDelim){var o=new tF.MathNode("mo",[new tF.TextNode(e.leftDelim.replace("\\",""))]);o.setAttribute("fence","true"),s.push(o)}if(s.push(r),null!=e.rightDelim){var l=new tF.MathNode("mo",[new tF.TextNode(e.rightDelim.replace("\\",""))]);l.setAttribute("fence","true"),s.push(l)}return tU(s)}return r};ty({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{var r,{parser:a,funcName:n}=e,i=t[0],s=t[1],o=null,l=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":r=!0;break;case"\\\\atopfrac":r=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":r=!1,o="(",l=")";break;case"\\\\bracefrac":r=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":r=!1,o="[",l="]";break;default:throw Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text"}return{type:"genfrac",mode:a.mode,continued:!1,numer:i,denom:s,hasBarLine:r,leftDelim:o,rightDelim:l,size:h,barSize:null}},htmlBuilder:r6,mathmlBuilder:r7}),ty({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0],i=t[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:n,denom:i,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),ty({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(e){var t,{parser:r,funcName:a,token:n}=e;switch(a){case"\\over":t="\\frac";break;case"\\choose":t="\\binom";break;case"\\atop":t="\\\\atopfrac";break;case"\\brace":t="\\\\bracefrac";break;case"\\brack":t="\\\\brackfrac";break;default:throw Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:t,token:n}}});var r3=["display","text","script","scriptscript"],r8=function(e){var t=null;return e.length>0&&(t="."===(t=e)?null:t),t};ty({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(e,t){var r,{parser:a}=e,n=t[4],i=t[5],s=tw(t[0]),o="atom"===s.type&&"open"===s.family?r8(s.text):null,l=tw(t[1]),h="atom"===l.type&&"close"===l.family?r8(l.text):null,m=t4(t[2],"size"),c=null;r=!!m.isBlank||(c=m.value).number>0;var p="auto",u=t[3];return"ordgroup"===u.type?u.body.length>0&&(p=r3[Number(t4(u.body[0],"textord").text)]):p=r3[Number((u=t4(u,"textord")).text)],{type:"genfrac",mode:a.mode,numer:n,denom:i,continued:!1,hasBarLine:r,barSize:c,leftDelim:o,rightDelim:h,size:p}},htmlBuilder:r6,mathmlBuilder:r7}),ty({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(e,t){var{parser:r,funcName:a,token:n}=e;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:t4(t[0],"size").value,token:n}}}),ty({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0],i=I(t4(t[1],"infix").size),s=t[2],o=i.number>0;return{type:"genfrac",mode:r.mode,numer:n,denom:s,continued:!1,hasBarLine:o,barSize:i,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:r6,mathmlBuilder:r7});var r2=(e,t)=>{var r,a,n,i=t.style;"supsub"===e.type?(r=e.sup?tR(e.sup,t.havingStyle(i.sup()),t):tR(e.sub,t.havingStyle(i.sub()),t),a=t4(e.base,"horizBrace")):a=t4(e,"horizBrace");var s=tR(a.base,t.havingBaseStyle(Y.DISPLAY)),o=t1.svgSpan(a,t);if(a.isOver?(n=tm.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},t)).children[0].children[0].children[1].classes.push("svg-align"):(n=tm.makeVList({positionType:"bottom",positionData:s.depth+.1+o.height,children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},t)).children[0].children[0].children[0].classes.push("svg-align"),r){var l=tm.makeSpan(["mord",a.isOver?"mover":"munder"],[n],t);n=a.isOver?tm.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]},t):tm.makeVList({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]},t)}return tm.makeSpan(["mord",a.isOver?"mover":"munder"],[n],t)};ty({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e;return{type:"horizBrace",mode:r.mode,label:a,isOver:/^\\over/.test(a),base:t[0]}},htmlBuilder:r2,mathmlBuilder:(e,t)=>{var r=t1.mathMLnode(e.label);return new tF.MathNode(e.isOver?"mover":"munder",[t_(e.base,t),r])}}),ty({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[1],n=t4(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:n})?{type:"href",mode:r.mode,href:n,body:tk(a)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{var r=tB(e.body,t,!1);return tm.makeAnchor(e.href,[],r,t)},mathmlBuilder:(e,t)=>{var r=tW(e.body,t);return r instanceof tD||(r=new tD("mrow",[r])),r.setAttribute("href",e.href),r}}),ty({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t4(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:a}))return r.formatUnsupportedCmd("\\url");for(var n=[],i=0;inew tF.MathNode("mrow",tX(e.body,t))}),ty({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(e,t)=>{var r,{parser:a,funcName:n,token:s}=e,o=t4(t[0],"raw").string,l=t[1];a.settings.strict&&a.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var h={};switch(n){case"\\htmlClass":h.class=o,r={command:"\\htmlClass",class:o};break;case"\\htmlId":h.id=o,r={command:"\\htmlId",id:o};break;case"\\htmlStyle":h.style=o,r={command:"\\htmlStyle",style:o};break;case"\\htmlData":for(var m=o.split(","),c=0;c{var r=tB(e.body,t,!1),a=["enclosing"];e.attributes.class&&a.push(...e.attributes.class.trim().split(/\s+/));var n=tm.makeSpan(a,r,t);for(var i in e.attributes)"class"!==i&&e.attributes.hasOwnProperty(i)&&n.setAttribute(i,e.attributes[i]);return n},mathmlBuilder:(e,t)=>tW(e.body,t)}),ty({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e;return{type:"htmlmathml",mode:r.mode,html:tk(t[0]),mathml:tk(t[1])}},htmlBuilder:(e,t)=>{var r=tB(e.html,t,!1);return tm.makeFragment(r)},mathmlBuilder:(e,t)=>tW(e.mathml,t)});var r9=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new i("Invalid size: '"+e+"' in \\includegraphics");var r={number:+(t[1]+t[2]),unit:t[3]};if(!em(r))throw new i("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r};ty({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(e,t,r)=>{var{parser:a}=e,n={number:0,unit:"em"},s={number:.9,unit:"em"},o={number:0,unit:"em"},l="";if(r[0])for(var h=t4(r[0],"raw").string.split(","),m=0;m{var r=ec(e.height,t),a=0;e.totalheight.number>0&&(a=ec(e.totalheight,t)-r);var n=0;e.width.number>0&&(n=ec(e.width,t));var i={height:ep(r+a)};n>0&&(i.width=ep(n)),a>0&&(i.verticalAlign=ep(-a));var s=new ey(e.src,e.alt,i);return s.height=r,s.depth=a,s},mathmlBuilder:(e,t)=>{var r=new tF.MathNode("mglyph",[]);r.setAttribute("alt",e.alt);var a=ec(e.height,t),n=0;if(e.totalheight.number>0&&(n=ec(e.totalheight,t)-a,r.setAttribute("valign",ep(-n))),r.setAttribute("height",ep(a+n)),e.width.number>0){var i=ec(e.width,t);r.setAttribute("width",ep(i))}return r.setAttribute("src",e.src),r}}),ty({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(e,t){var{parser:r,funcName:a}=e,n=t4(t[0],"size");if(r.settings.strict){var i="m"===a[1],s="mu"===n.value.unit;i?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, not "+n.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:n.value}},htmlBuilder:(e,t)=>tm.makeGlue(e.dimension,t),mathmlBuilder(e,t){var r=ec(e.dimension,t);return new tF.SpaceNode(r)}}),ty({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0];return{type:"lap",mode:r.mode,alignment:a.slice(5),body:n}},htmlBuilder:(e,t)=>{"clap"===e.alignment?(r=tm.makeSpan([],[tR(e.body,t)]),r=tm.makeSpan(["inner"],[r],t)):r=tm.makeSpan(["inner"],[tR(e.body,t)]);var r,a=tm.makeSpan(["fix"],[]),n=tm.makeSpan([e.alignment],[r,a],t),i=tm.makeSpan(["strut"]);return i.style.height=ep(n.height+n.depth),n.depth&&(i.style.verticalAlign=ep(-n.depth)),n.children.unshift(i),n=tm.makeSpan(["thinbox"],[n],t),tm.makeSpan(["mord","vbox"],[n],t)},mathmlBuilder:(e,t)=>{var r=new tF.MathNode("mpadded",[t_(e.body,t)]);if("rlap"!==e.alignment){var a="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",a+"width")}return r.setAttribute("width","0px"),r}}),ty({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){var{funcName:r,parser:a}=e,n=a.mode;a.switchMode("math");var i="\\("===r?"\\)":"$",s=a.parseExpression(!1,i);return a.expect(i),a.switchMode(n),{type:"styling",mode:a.mode,style:"text",body:s}}}),ty({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new i("Mismatched "+e.funcName)}});var ae=(e,t)=>{switch(t.style.size){case Y.DISPLAY.size:return e.display;case Y.TEXT.size:return e.text;case Y.SCRIPT.size:return e.script;case Y.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};ty({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(e,t)=>{var{parser:r}=e;return{type:"mathchoice",mode:r.mode,display:tk(t[0]),text:tk(t[1]),script:tk(t[2]),scriptscript:tk(t[3])}},htmlBuilder:(e,t)=>{var r=tB(ae(e,t),t,!1);return tm.makeFragment(r)},mathmlBuilder:(e,t)=>tW(ae(e,t),t)});var at=(e,t,r,a,n,i,s)=>{e=tm.makeSpan([],[e]);var o,l,h,m=r&&H.isCharacterBox(r);if(t){var c=tR(t,a.havingStyle(n.sup()),a);l={elem:c,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-c.depth)}}if(r){var p=tR(r,a.havingStyle(n.sub()),a);o={elem:p,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-p.height)}}if(l&&o){var u=a.fontMetrics().bigOpSpacing5+o.elem.height+o.elem.depth+o.kern+e.depth+s;h=tm.makeVList({positionType:"bottom",positionData:u,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:ep(-i)},{type:"kern",size:o.kern},{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:ep(i)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else if(o){var d=e.height-s;h=tm.makeVList({positionType:"top",positionData:d,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:ep(-i)},{type:"kern",size:o.kern},{type:"elem",elem:e}]},a)}else{if(!l)return e;var g=e.depth+s;h=tm.makeVList({positionType:"bottom",positionData:g,children:[{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:ep(i)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}var f=[h];if(o&&0!==i&&!m){var v=tm.makeSpan(["mspace"],[],a);v.style.marginRight=ep(i),f.unshift(v)}return tm.makeSpan(["mop","op-limits"],f,a)},ar=["\\smallint"],aa=(e,t)=>{var r,a,n,i,s=!1;"supsub"===e.type?(r=e.sup,a=e.sub,n=t4(e.base,"op"),s=!0):n=t4(e,"op");var o=t.style,l=!1;if(o.size===Y.DISPLAY.size&&n.symbol&&!H.contains(ar,n.name)&&(l=!0),n.symbol){var h=l?"Size2-Regular":"Size1-Regular",m="";if(("\\oiint"===n.name||"\\oiiint"===n.name)&&(m=n.name.slice(1),n.name="oiint"===m?"\\iint":"\\iiint"),i=tm.makeSymbol(n.name,h,"math",t,["mop","op-symbol",l?"large-op":"small-op"]),m.length>0){var c=i.italic,p=tm.staticSvg(m+"Size"+(l?"2":"1"),t);i=tm.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},t),n.name="\\"+m,i.classes.unshift("mop"),i.italic=c}}else if(n.body){var u=tB(n.body,t,!0);1===u.length&&u[0]instanceof ew?(i=u[0]).classes[0]="mop":i=tm.makeSpan(["mop"],u,t)}else{for(var d=[],g=1;g{var r;if(e.symbol)r=new tD("mo",[tG(e.name,e.mode)]),H.contains(ar,e.name)&&r.setAttribute("largeop","false");else if(e.body)r=new tD("mo",tX(e.body,t));else{r=new tD("mi",[new tV(e.name.slice(1))]);var a=new tD("mo",[tG("⁡","text")]);r=e.parentIsSupSub?new tD("mrow",[r,a]):tL([r,a])}return r},ai={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};ty({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=a;return 1===n.length&&(n=ai[n]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:aa,mathmlBuilder:an}),ty({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:tk(a)}},htmlBuilder:aa,mathmlBuilder:an});var as={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};ty({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(e){var{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:aa,mathmlBuilder:an}),ty({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(e){var{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:aa,mathmlBuilder:an}),ty({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(e){var{parser:t,funcName:r}=e,a=r;return 1===a.length&&(a=as[a]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:aa,mathmlBuilder:an});var ao=(e,t)=>{var r,a,n,i,s=!1;if("supsub"===e.type?(r=e.sup,a=e.sub,n=t4(e.base,"operatorname"),s=!0):n=t4(e,"operatorname"),n.body.length>0){for(var o=tB(n.body.map(e=>{var t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e}),t.withFont("mathrm"),!0),l=0;l{var{parser:r,funcName:a}=e,n=t[0];return{type:"operatorname",mode:r.mode,body:tk(n),alwaysHandleSupSub:"\\operatornamewithlimits"===a,limits:!1,parentIsSupSub:!1}},htmlBuilder:ao,mathmlBuilder:(e,t)=>{for(var r=tX(e.body,t.withFont("mathrm")),a=!0,n=0;ne.toText()).join("");r=[new tF.TextNode(o)]}var l=new tF.MathNode("mi",r);l.setAttribute("mathvariant","normal");var h=new tF.MathNode("mo",[tG("⁡","text")]);return e.parentIsSupSub?new tF.MathNode("mrow",[l,h]):tF.newDocumentFragment([l,h])}}),rY["\\operatorname"]="\\@ifstar\\operatornamewithlimits\\operatorname@",tx({type:"ordgroup",htmlBuilder:(e,t)=>e.semisimple?tm.makeFragment(tB(e.body,t,!1)):tm.makeSpan(["mord"],tB(e.body,t,!0),t),mathmlBuilder:(e,t)=>tW(e.body,t,!0)}),ty({type:"overline",names:["\\overline"],props:{numArgs:1},handler(e,t){var{parser:r}=e,a=t[0];return{type:"overline",mode:r.mode,body:a}},htmlBuilder(e,t){var r=tR(e.body,t.havingCrampedStyle()),a=tm.makeLineSpan("overline-line",t),n=t.fontMetrics().defaultRuleThickness,i=tm.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*n},{type:"elem",elem:a},{type:"kern",size:n}]},t);return tm.makeSpan(["mord","overline"],[i],t)},mathmlBuilder(e,t){var r=new tF.MathNode("mo",[new tF.TextNode("‾")]);r.setAttribute("stretchy","true");var a=new tF.MathNode("mover",[t_(e.body,t),r]);return a.setAttribute("accent","true"),a}}),ty({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"phantom",mode:r.mode,body:tk(a)}},htmlBuilder:(e,t)=>{var r=tB(e.body,t.withPhantom(),!1);return tm.makeFragment(r)},mathmlBuilder:(e,t)=>{var r=tX(e.body,t);return new tF.MathNode("mphantom",r)}}),ty({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"hphantom",mode:r.mode,body:a}},htmlBuilder:(e,t)=>{var r=tm.makeSpan([],[tR(e.body,t.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var a=0;a{var r=tX(tk(e.body),t),a=new tF.MathNode("mphantom",r),n=new tF.MathNode("mpadded",[a]);return n.setAttribute("height","0px"),n.setAttribute("depth","0px"),n}}),ty({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"vphantom",mode:r.mode,body:a}},htmlBuilder:(e,t)=>{var r=tm.makeSpan(["inner"],[tR(e.body,t.withPhantom())]),a=tm.makeSpan(["fix"],[]);return tm.makeSpan(["mord","rlap"],[r,a],t)},mathmlBuilder:(e,t)=>{var r=tX(tk(e.body),t),a=new tF.MathNode("mphantom",r),n=new tF.MathNode("mpadded",[a]);return n.setAttribute("width","0px"),n}}),ty({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(e,t){var{parser:r}=e,a=t4(t[0],"size").value,n=t[1];return{type:"raisebox",mode:r.mode,dy:a,body:n}},htmlBuilder(e,t){var r=tR(e.body,t),a=ec(e.dy,t);return tm.makeVList({positionType:"shift",positionData:-a,children:[{type:"elem",elem:r}]},t)},mathmlBuilder(e,t){var r=new tF.MathNode("mpadded",[t_(e.body,t)]),a=e.dy.number+e.dy.unit;return r.setAttribute("voffset",a),r}}),ty({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(e){var{parser:t}=e;return{type:"internal",mode:t.mode}}}),ty({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(e,t,r){var{parser:a}=e,n=r[0],i=t4(t[0],"size"),s=t4(t[1],"size");return{type:"rule",mode:a.mode,shift:n&&t4(n,"size").value,width:i.value,height:s.value}},htmlBuilder(e,t){var r=tm.makeSpan(["mord","rule"],[],t),a=ec(e.width,t),n=ec(e.height,t),i=e.shift?ec(e.shift,t):0;return r.style.borderRightWidth=ep(a),r.style.borderTopWidth=ep(n),r.style.bottom=ep(i),r.width=a,r.height=n+i,r.depth=-i,r.maxFontSize=1.125*n*t.sizeMultiplier,r},mathmlBuilder(e,t){var r=ec(e.width,t),a=ec(e.height,t),n=e.shift?ec(e.shift,t):0,i=t.color&&t.getColor()||"black",s=new tF.MathNode("mspace");s.setAttribute("mathbackground",i),s.setAttribute("width",ep(r)),s.setAttribute("height",ep(a));var o=new tF.MathNode("mpadded",[s]);return n>=0?o.setAttribute("height",ep(n)):(o.setAttribute("height",ep(n)),o.setAttribute("depth",ep(-n))),o.setAttribute("voffset",ep(n)),o}});var ah=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];ty({type:"sizing",names:ah,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{breakOnTokenText:r,funcName:a,parser:n}=e,i=n.parseExpression(!1,r);return{type:"sizing",mode:n.mode,size:ah.indexOf(a)+1,body:i}},htmlBuilder:(e,t)=>{var r=t.havingSize(e.size);return al(e.body,r,t)},mathmlBuilder:(e,t)=>{var r=t.havingSize(e.size),a=tX(e.body,r),n=new tF.MathNode("mstyle",a);return n.setAttribute("mathsize",ep(r.sizeMultiplier)),n}}),ty({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,r)=>{var{parser:a}=e,n=!1,i=!1,s=r[0]&&t4(r[0],"ordgroup");if(s)for(var o="",l=0;l{var r=tm.makeSpan([],[tR(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return r;if(e.smashHeight&&(r.height=0,r.children))for(var a=0;a{var r=new tF.MathNode("mpadded",[t_(e.body,t)]);return e.smashHeight&&r.setAttribute("height","0px"),e.smashDepth&&r.setAttribute("depth","0px"),r}}),ty({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){var{parser:a}=e,n=r[0],i=t[0];return{type:"sqrt",mode:a.mode,body:i,index:n}},htmlBuilder(e,t){var r=tR(e.body,t.havingCrampedStyle());0===r.height&&(r.height=t.fontMetrics().xHeight),r=tm.wrapFragment(r,t);var a=t.fontMetrics().defaultRuleThickness,n=a;t.style.idr.height+r.depth+i&&(i=(i+m-r.height-r.depth)/2);var c=o.height-r.height-i-l;r.style.paddingLeft=ep(h);var p=tm.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+c)},{type:"elem",elem:o},{type:"kern",size:l}]},t);if(!e.index)return tm.makeSpan(["mord","sqrt"],[p],t);var u=t.havingStyle(Y.SCRIPTSCRIPT),d=tR(e.index,u,t),g=.6*(p.height-p.depth),f=tm.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:d}]},t),v=tm.makeSpan(["root"],[f]);return tm.makeSpan(["mord","sqrt"],[v,p],t)},mathmlBuilder(e,t){var{body:r,index:a}=e;return a?new tF.MathNode("mroot",[t_(r,t),t_(a,t)]):new tF.MathNode("msqrt",[t_(r,t)])}});var am={display:Y.DISPLAY,text:Y.TEXT,script:Y.SCRIPT,scriptscript:Y.SCRIPTSCRIPT};ty({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){var{breakOnTokenText:r,funcName:a,parser:n}=e,i=n.parseExpression(!0,r),s=a.slice(1,a.length-5);return{type:"styling",mode:n.mode,style:s,body:i}},htmlBuilder(e,t){var r=am[e.style],a=t.havingStyle(r).withFont("");return al(e.body,a,t)},mathmlBuilder(e,t){var r=am[e.style],a=t.havingStyle(r),n=tX(e.body,a),i=new tF.MathNode("mstyle",n),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return i.setAttribute("scriptlevel",s[0]),i.setAttribute("displaystyle",s[1]),i}});var ac=function(e,t){var r=e.base;return r?"op"===r.type?r.limits&&(t.style.size===Y.DISPLAY.size||r.alwaysHandleSupSub)?aa:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(t.style.size===Y.DISPLAY.size||r.limits)?ao:null:"accent"===r.type?H.isCharacterBox(r.base)?t7:null:"horizBrace"===r.type?!e.sub===r.isOver?r2:null:null:null};tx({type:"supsub",htmlBuilder(e,t){var r,a,n,i,s=ac(e,t);if(s)return s(e,t);var{base:o,sup:l,sub:h}=e,m=tR(o,t),c=t.fontMetrics(),p=0,u=0,d=o&&H.isCharacterBox(o);if(l){var g=t.havingStyle(t.style.sup());r=tR(l,g,t),d||(p=m.height-g.fontMetrics().supDrop*g.sizeMultiplier/t.sizeMultiplier)}if(h){var f=t.havingStyle(t.style.sub());a=tR(h,f,t),d||(u=m.depth+f.fontMetrics().subDrop*f.sizeMultiplier/t.sizeMultiplier)}n=t.style===Y.DISPLAY?c.sup1:t.style.cramped?c.sup3:c.sup2;var v=t.sizeMultiplier,b=ep(.5/c.ptPerEm/v),y=null;if(a){var x=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(m instanceof ew||x)&&(y=ep(-m.italic))}if(r&&a){p=Math.max(p,n,r.depth+.25*c.xHeight),u=Math.max(u,c.sub2);var w=4*c.defaultRuleThickness;if(p-r.depth-(a.height-u)0&&(p+=k,u-=k)}var S=[{type:"elem",elem:a,shift:u,marginRight:b,marginLeft:y},{type:"elem",elem:r,shift:-p,marginRight:b}];i=tm.makeVList({positionType:"individualShift",children:S},t)}else if(a){u=Math.max(u,c.sub1,a.height-.8*c.xHeight);var M=[{type:"elem",elem:a,marginLeft:y,marginRight:b}];i=tm.makeVList({positionType:"shift",positionData:u,children:M},t)}else if(r)p=Math.max(p,n,r.depth+.25*c.xHeight),i=tm.makeVList({positionType:"shift",positionData:-p,children:[{type:"elem",elem:r,marginRight:b}]},t);else throw Error("supsub must have either sup or sub.");var z=tI(m,"right")||"mord";return tm.makeSpan([z],[m,tm.makeSpan(["msupsub"],[i])],t)},mathmlBuilder(e,t){var r,a,n=!1;e.base&&"horizBrace"===e.base.type&&!!e.sup===e.base.isOver&&(n=!0,r=e.base.isOver),e.base&&("op"===e.base.type||"operatorname"===e.base.type)&&(e.base.parentIsSupSub=!0);var i=[t_(e.base,t)];if(e.sub&&i.push(t_(e.sub,t)),e.sup&&i.push(t_(e.sup,t)),n)a=r?"mover":"munder";else if(e.sub){if(e.sup){var s=e.base;a=s&&"op"===s.type&&s.limits&&t.style===Y.DISPLAY?"munderover":s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(t.style===Y.DISPLAY||s.limits)?"munderover":"msubsup"}else{var o=e.base;a=o&&"op"===o.type&&o.limits&&(t.style===Y.DISPLAY||o.alwaysHandleSupSub)?"munder":o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(o.limits||t.style===Y.DISPLAY)?"munder":"msub"}}else{var l=e.base;a=l&&"op"===l.type&&l.limits&&(t.style===Y.DISPLAY||l.alwaysHandleSupSub)?"mover":l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||t.style===Y.DISPLAY)?"mover":"msup"}return new tF.MathNode(a,i)}}),tx({type:"atom",htmlBuilder:(e,t)=>tm.mathsym(e.text,e.mode,t,["m"+e.family]),mathmlBuilder(e,t){var r=new tF.MathNode("mo",[tG(e.text,e.mode)]);if("bin"===e.family){var a=tY(e,t);"bold-italic"===a&&r.setAttribute("mathvariant",a)}else"punct"===e.family?r.setAttribute("separator","true"):("open"===e.family||"close"===e.family)&&r.setAttribute("stretchy","false");return r}});var ap={mi:"italic",mn:"normal",mtext:"normal"};tx({type:"mathord",htmlBuilder:(e,t)=>tm.makeOrd(e,t,"mathord"),mathmlBuilder(e,t){var r=new tF.MathNode("mi",[tG(e.text,e.mode,t)]),a=tY(e,t)||"italic";return a!==ap[r.type]&&r.setAttribute("mathvariant",a),r}}),tx({type:"textord",htmlBuilder:(e,t)=>tm.makeOrd(e,t,"textord"),mathmlBuilder(e,t){var r,a=tG(e.text,e.mode,t),n=tY(e,t)||"normal";return n!==ap[(r="text"===e.mode?new tF.MathNode("mtext",[a]):/[0-9]/.test(e.text)?new tF.MathNode("mn",[a]):"\\prime"===e.text?new tF.MathNode("mo",[a]):new tF.MathNode("mi",[a])).type]&&r.setAttribute("mathvariant",n),r}});var au={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},ad={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};tx({type:"spacing",htmlBuilder(e,t){if(ad.hasOwnProperty(e.text)){var r=ad[e.text].className||"";if("text"!==e.mode)return tm.makeSpan(["mspace",r],[tm.mathsym(e.text,e.mode,t)],t);var a=tm.makeOrd(e,t,"textord");return a.classes.push(r),a}if(au.hasOwnProperty(e.text))return tm.makeSpan(["mspace",au[e.text]],[],t);throw new i('Unknown type of space "'+e.text+'"')},mathmlBuilder(e,t){var r;if(ad.hasOwnProperty(e.text))r=new tF.MathNode("mtext",[new tF.TextNode("\xa0")]);else if(au.hasOwnProperty(e.text))return new tF.MathNode("mspace");else throw new i('Unknown type of space "'+e.text+'"');return r}});var ag=()=>{var e=new tF.MathNode("mtd",[]);return e.setAttribute("width","50%"),e};tx({type:"tag",mathmlBuilder(e,t){var r=new tF.MathNode("mtable",[new tF.MathNode("mtr",[ag(),new tF.MathNode("mtd",[tW(e.body,t)]),ag(),new tF.MathNode("mtd",[tW(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});var af={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},av={"\\textbf":"textbf","\\textmd":"textmd"},ab={"\\textit":"textit","\\textup":"textup"},ay=(e,t)=>{var r=e.font;return r?af[r]?t.withTextFontFamily(af[r]):av[r]?t.withTextFontWeight(av[r]):t.withTextFontShape(ab[r]):t};ty({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"text",mode:r.mode,body:tk(n),font:a}},htmlBuilder(e,t){var r=ay(e,t),a=tB(e.body,r,!0);return tm.makeSpan(["mord","text"],a,r)},mathmlBuilder(e,t){var r=ay(e,t);return tW(e.body,r)}}),ty({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"underline",mode:r.mode,body:t[0]}},htmlBuilder(e,t){var r=tR(e.body,t),a=tm.makeLineSpan("underline-line",t),n=t.fontMetrics().defaultRuleThickness,i=tm.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:n},{type:"elem",elem:a},{type:"kern",size:3*n},{type:"elem",elem:r}]},t);return tm.makeSpan(["mord","underline"],[i],t)},mathmlBuilder(e,t){var r=new tF.MathNode("mo",[new tF.TextNode("‾")]);r.setAttribute("stretchy","true");var a=new tF.MathNode("munder",[t_(e.body,t),r]);return a.setAttribute("accentunder","true"),a}}),ty({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(e,t){var{parser:r}=e;return{type:"vcenter",mode:r.mode,body:t[0]}},htmlBuilder(e,t){var r=tR(e.body,t),a=t.fontMetrics().axisHeight,n=.5*(r.height-a-(r.depth+a));return tm.makeVList({positionType:"shift",positionData:n,children:[{type:"elem",elem:r}]},t)},mathmlBuilder:(e,t)=>new tF.MathNode("mpadded",[t_(e.body,t)],["vcenter"])}),ty({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(e,t,r){throw new i("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){for(var r=ax(e),a=[],n=t.havingStyle(t.style.text()),i=0;ie.body.replace(/ /g,e.star?"␣":"\xa0"),aw="[ \r\n ]",ak="[̀-ͯ]",aS=RegExp(ak+"+$"),aM="("+aw+"+)|\\\\(\n|[ \r ]+\n?)[ \r ]*|([!-\\[\\]-‧‪-퟿豈-￿]"+ak+"*|[\uD800-\uDBFF][\uDC00-\uDFFF]"+ak+"*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|(\\\\[a-zA-Z@]+)"+aw+"*|\\\\[^\uD800-\uDFFF])";class az{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=RegExp(aM,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new n("EOF",new a(this,t,t));var r=this.tokenRegex.exec(e);if(null===r||r.index!==t)throw new i("Unexpected character: '"+e[t]+"'",new n(e[t],new a(this,t,t+1)));var s=r[6]||r[3]||(r[2]?"\\ ":" ");if(14===this.catcodes[s]){var o=e.indexOf("\n",this.tokenRegex.lastIndex);return -1===o?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=o+1,this.lex()}return new n(s,new a(this,t,this.tokenRegex.lastIndex))}}class aA{constructor(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new i("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(null==e[t]?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,r){if(void 0===r&&(r=!1),r){for(var a=0;a0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var n=this.undefStack[this.undefStack.length-1];n&&!n.hasOwnProperty(e)&&(n[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}}s=function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}},rY["\\noexpand"]=s,o=function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}},rY["\\expandafter"]=o,l=function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}},rY["\\@firstoftwo"]=l,h=function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}},rY["\\@secondoftwo"]=h,m=function(e){var t=e.consumeArgs(3);e.consumeSpaces();var r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}},rY["\\@ifnextchar"]=m,rY["\\@ifstar"]="\\@ifnextchar *{\\@firstoftwo{#1}}",c=function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}},rY["\\TextOrMath"]=c;var aT={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};p=function(e){var t,r,a=e.popToken(),n="";if("'"===a.text)t=8,a=e.popToken();else if('"'===a.text)t=16,a=e.popToken();else if("`"===a.text){if("\\"===(a=e.popToken()).text[0])n=a.text.charCodeAt(1);else if("EOF"===a.text)throw new i("\\char` missing argument");else n=a.text.charCodeAt(0)}else t=10;if(t){if(null==(n=aT[a.text])||n>=t)throw new i("Invalid base-"+t+" digit "+a.text);for(;null!=(r=aT[e.future().text])&&r{var a=e.consumeArg().tokens;if(1!==a.length)throw new i("\\newcommand's first argument must be a macro name");var n=a[0].text,s=e.isDefined(n);if(s&&!t)throw new i("\\newcommand{"+n+"} attempting to redefine "+n+"; use \\renewcommand");if(!s&&!r)throw new i("\\renewcommand{"+n+"} when command "+n+" does not yet exist; use \\newcommand");var o=0;if(1===(a=e.consumeArg().tokens).length&&"["===a[0].text){for(var l="",h=e.expandNextToken();"]"!==h.text&&"EOF"!==h.text;)l+=h.text,h=e.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new i("Invalid number of arguments: "+l);o=parseInt(l),a=e.consumeArg().tokens}return e.macros.set(n,{tokens:a,numArgs:o}),""};u=e=>aB(e,!1,!0),rY["\\newcommand"]=u,d=e=>aB(e,!0,!1),rY["\\renewcommand"]=d,g=e=>aB(e,!0,!0),rY["\\providecommand"]=g,f=e=>(console.log(e.consumeArgs(1)[0].reverse().map(e=>e.text).join("")),""),rY["\\message"]=f,v=e=>(console.error(e.consumeArgs(1)[0].reverse().map(e=>e.text).join("")),""),rY["\\errmessage"]=v,b=e=>{var t=e.popToken(),r=t.text;return console.log(t,e.macros.get(r),tf[r],eB.math[r],eB.text[r]),""},rY["\\show"]=b,rY["\\bgroup"]="{",rY["\\egroup"]="}",rY["~"]="\\nobreakspace",rY["\\lq"]="`",rY["\\rq"]="'",rY["\\aa"]="\\r a",rY["\\AA"]="\\r A",rY["\\textcopyright"]="\\html@mathml{\\textcircled{c}}{\\char`\xa9}",rY["\\copyright"]="\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}",rY["\\textregistered"]="\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}",rY["ℬ"]="\\mathscr{B}",rY["ℰ"]="\\mathscr{E}",rY["ℱ"]="\\mathscr{F}",rY["ℋ"]="\\mathscr{H}",rY["ℐ"]="\\mathscr{I}",rY["ℒ"]="\\mathscr{L}",rY["ℳ"]="\\mathscr{M}",rY["ℛ"]="\\mathscr{R}",rY["ℭ"]="\\mathfrak{C}",rY["ℌ"]="\\mathfrak{H}",rY["ℨ"]="\\mathfrak{Z}",rY["\\Bbbk"]="\\Bbb{k}",rY["\xb7"]="\\cdotp",rY["\\llap"]="\\mathllap{\\textrm{#1}}",rY["\\rlap"]="\\mathrlap{\\textrm{#1}}",rY["\\clap"]="\\mathclap{\\textrm{#1}}",rY["\\mathstrut"]="\\vphantom{(}",rY["\\underbar"]="\\underline{\\text{#1}}",rY["\\not"]='\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}',rY["\\neq"]="\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}",rY["\\ne"]="\\neq",rY["≠"]="\\neq",rY["\\notin"]="\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}",rY["∉"]="\\notin",rY["≘"]="\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}",rY["≙"]="\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}",rY["≚"]="\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}",rY["≛"]="\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}",rY["≝"]="\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}",rY["≞"]="\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}",rY["≟"]="\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}",rY["⟂"]="\\perp",rY["‼"]="\\mathclose{!\\mkern-0.8mu!}",rY["∌"]="\\notni",rY["⌜"]="\\ulcorner",rY["⌝"]="\\urcorner",rY["⌞"]="\\llcorner",rY["⌟"]="\\lrcorner",rY["\xa9"]="\\copyright",rY["\xae"]="\\textregistered",rY["️"]="\\textregistered",rY["\\ulcorner"]='\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}',rY["\\urcorner"]='\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}',rY["\\llcorner"]='\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}',rY["\\lrcorner"]='\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}',rY["\\vdots"]="\\mathord{\\varvdots\\rule{0pt}{15pt}}",rY["⋮"]="\\vdots",rY["\\varGamma"]="\\mathit{\\Gamma}",rY["\\varDelta"]="\\mathit{\\Delta}",rY["\\varTheta"]="\\mathit{\\Theta}",rY["\\varLambda"]="\\mathit{\\Lambda}",rY["\\varXi"]="\\mathit{\\Xi}",rY["\\varPi"]="\\mathit{\\Pi}",rY["\\varSigma"]="\\mathit{\\Sigma}",rY["\\varUpsilon"]="\\mathit{\\Upsilon}",rY["\\varPhi"]="\\mathit{\\Phi}",rY["\\varPsi"]="\\mathit{\\Psi}",rY["\\varOmega"]="\\mathit{\\Omega}",rY["\\substack"]="\\begin{subarray}{c}#1\\end{subarray}",rY["\\colon"]="\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax",rY["\\boxed"]="\\fbox{$\\displaystyle{#1}$}",rY["\\iff"]="\\DOTSB\\;\\Longleftrightarrow\\;",rY["\\implies"]="\\DOTSB\\;\\Longrightarrow\\;",rY["\\impliedby"]="\\DOTSB\\;\\Longleftarrow\\;";var aC={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};y=function(e){var t="\\dotso",r=e.expandAfterFuture().text;return r in aC?t=aC[r]:"\\not"===r.slice(0,4)?t="\\dotsb":r in eB.math&&H.contains(["bin","rel"],eB.math[r].group)&&(t="\\dotsb"),t},rY["\\dots"]=y;var aq={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};x=function(e){return e.future().text in aq?"\\ldots\\,":"\\ldots"},rY["\\dotso"]=x,w=function(e){var t=e.future().text;return t in aq&&","!==t?"\\ldots\\,":"\\ldots"},rY["\\dotsc"]=w,k=function(e){return e.future().text in aq?"\\@cdots\\,":"\\@cdots"},rY["\\cdots"]=k,rY["\\dotsb"]="\\cdots",rY["\\dotsm"]="\\cdots",rY["\\dotsi"]="\\!\\cdots",rY["\\dotsx"]="\\ldots\\,",rY["\\DOTSI"]="\\relax",rY["\\DOTSB"]="\\relax",rY["\\DOTSX"]="\\relax",rY["\\tmspace"]="\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax",rY["\\,"]="\\tmspace+{3mu}{.1667em}",rY["\\thinspace"]="\\,",rY["\\>"]="\\mskip{4mu}",rY["\\:"]="\\tmspace+{4mu}{.2222em}",rY["\\medspace"]="\\:",rY["\\;"]="\\tmspace+{5mu}{.2777em}",rY["\\thickspace"]="\\;",rY["\\!"]="\\tmspace-{3mu}{.1667em}",rY["\\negthinspace"]="\\!",rY["\\negmedspace"]="\\tmspace-{4mu}{.2222em}",rY["\\negthickspace"]="\\tmspace-{5mu}{.277em}",rY["\\enspace"]="\\kern.5em ",rY["\\enskip"]="\\hskip.5em\\relax",rY["\\quad"]="\\hskip1em\\relax",rY["\\qquad"]="\\hskip2em\\relax",rY["\\tag"]="\\@ifstar\\tag@literal\\tag@paren",rY["\\tag@paren"]="\\tag@literal{({#1})}",S=e=>{if(e.macros.get("\\df@tag"))throw new i("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"},rY["\\tag@literal"]=S,rY["\\bmod"]="\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}",rY["\\pod"]="\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)",rY["\\pmod"]="\\pod{{\\rm mod}\\mkern6mu#1}",rY["\\mod"]="\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1",rY["\\newline"]="\\\\\\relax",rY["\\TeX"]="\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}";var aN=ep(Q["Main-Regular"][84][1]-.7*Q["Main-Regular"][65][1]);M="\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+aN+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}",rY["\\LaTeX"]=M,z="\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+aN+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}",rY["\\KaTeX"]=z,rY["\\hspace"]="\\@ifstar\\@hspacer\\@hspace",rY["\\@hspace"]="\\hskip #1\\relax",rY["\\@hspacer"]="\\rule{0pt}{0pt}\\hskip #1\\relax",rY["\\ordinarycolon"]=":",rY["\\vcentcolon"]="\\mathrel{\\mathop\\ordinarycolon}",rY["\\dblcolon"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}',rY["\\coloneqq"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}',rY["\\Coloneqq"]='\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}',rY["\\coloneq"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}',rY["\\Coloneq"]='\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}',rY["\\eqqcolon"]='\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}',rY["\\Eqqcolon"]='\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}',rY["\\eqcolon"]='\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}',rY["\\Eqcolon"]='\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}',rY["\\colonapprox"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}',rY["\\Colonapprox"]='\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}',rY["\\colonsim"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}',rY["\\Colonsim"]='\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}',rY["∷"]="\\dblcolon",rY["∹"]="\\eqcolon",rY["≔"]="\\coloneqq",rY["≕"]="\\eqqcolon",rY["⩴"]="\\Coloneqq",rY["\\ratio"]="\\vcentcolon",rY["\\coloncolon"]="\\dblcolon",rY["\\colonequals"]="\\coloneqq",rY["\\coloncolonequals"]="\\Coloneqq",rY["\\equalscolon"]="\\eqqcolon",rY["\\equalscoloncolon"]="\\Eqqcolon",rY["\\colonminus"]="\\coloneq",rY["\\coloncolonminus"]="\\Coloneq",rY["\\minuscolon"]="\\eqcolon",rY["\\minuscoloncolon"]="\\Eqcolon",rY["\\coloncolonapprox"]="\\Colonapprox",rY["\\coloncolonsim"]="\\Colonsim",rY["\\simcolon"]="\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}",rY["\\simcoloncolon"]="\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}",rY["\\approxcolon"]="\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}",rY["\\approxcoloncolon"]="\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}",rY["\\notni"]="\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}",rY["\\limsup"]="\\DOTSB\\operatorname*{lim\\,sup}",rY["\\liminf"]="\\DOTSB\\operatorname*{lim\\,inf}",rY["\\injlim"]="\\DOTSB\\operatorname*{inj\\,lim}",rY["\\projlim"]="\\DOTSB\\operatorname*{proj\\,lim}",rY["\\varlimsup"]="\\DOTSB\\operatorname*{\\overline{lim}}",rY["\\varliminf"]="\\DOTSB\\operatorname*{\\underline{lim}}",rY["\\varinjlim"]="\\DOTSB\\operatorname*{\\underrightarrow{lim}}",rY["\\varprojlim"]="\\DOTSB\\operatorname*{\\underleftarrow{lim}}",rY["\\gvertneqq"]="\\html@mathml{\\@gvertneqq}{≩}",rY["\\lvertneqq"]="\\html@mathml{\\@lvertneqq}{≨}",rY["\\ngeqq"]="\\html@mathml{\\@ngeqq}{≱}",rY["\\ngeqslant"]="\\html@mathml{\\@ngeqslant}{≱}",rY["\\nleqq"]="\\html@mathml{\\@nleqq}{≰}",rY["\\nleqslant"]="\\html@mathml{\\@nleqslant}{≰}",rY["\\nshortmid"]="\\html@mathml{\\@nshortmid}{∤}",rY["\\nshortparallel"]="\\html@mathml{\\@nshortparallel}{∦}",rY["\\nsubseteqq"]="\\html@mathml{\\@nsubseteqq}{⊈}",rY["\\nsupseteqq"]="\\html@mathml{\\@nsupseteqq}{⊉}",rY["\\varsubsetneq"]="\\html@mathml{\\@varsubsetneq}{⊊}",rY["\\varsubsetneqq"]="\\html@mathml{\\@varsubsetneqq}{⫋}",rY["\\varsupsetneq"]="\\html@mathml{\\@varsupsetneq}{⊋}",rY["\\varsupsetneqq"]="\\html@mathml{\\@varsupsetneqq}{⫌}",rY["\\imath"]="\\html@mathml{\\@imath}{ı}",rY["\\jmath"]="\\html@mathml{\\@jmath}{ȷ}",rY["\\llbracket"]="\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}",rY["\\rrbracket"]="\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}",rY["⟦"]="\\llbracket",rY["⟧"]="\\rrbracket",rY["\\lBrace"]="\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}",rY["\\rBrace"]="\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}",rY["⦃"]="\\lBrace",rY["⦄"]="\\rBrace",rY["\\minuso"]="\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}",rY["⦵"]="\\minuso",rY["\\darr"]="\\downarrow",rY["\\dArr"]="\\Downarrow",rY["\\Darr"]="\\Downarrow",rY["\\lang"]="\\langle",rY["\\rang"]="\\rangle",rY["\\uarr"]="\\uparrow",rY["\\uArr"]="\\Uparrow",rY["\\Uarr"]="\\Uparrow",rY["\\N"]="\\mathbb{N}",rY["\\R"]="\\mathbb{R}",rY["\\Z"]="\\mathbb{Z}",rY["\\alef"]="\\aleph",rY["\\alefsym"]="\\aleph",rY["\\Alpha"]="\\mathrm{A}",rY["\\Beta"]="\\mathrm{B}",rY["\\bull"]="\\bullet",rY["\\Chi"]="\\mathrm{X}",rY["\\clubs"]="\\clubsuit",rY["\\cnums"]="\\mathbb{C}",rY["\\Complex"]="\\mathbb{C}",rY["\\Dagger"]="\\ddagger",rY["\\diamonds"]="\\diamondsuit",rY["\\empty"]="\\emptyset",rY["\\Epsilon"]="\\mathrm{E}",rY["\\Eta"]="\\mathrm{H}",rY["\\exist"]="\\exists",rY["\\harr"]="\\leftrightarrow",rY["\\hArr"]="\\Leftrightarrow",rY["\\Harr"]="\\Leftrightarrow",rY["\\hearts"]="\\heartsuit",rY["\\image"]="\\Im",rY["\\infin"]="\\infty",rY["\\Iota"]="\\mathrm{I}",rY["\\isin"]="\\in",rY["\\Kappa"]="\\mathrm{K}",rY["\\larr"]="\\leftarrow",rY["\\lArr"]="\\Leftarrow",rY["\\Larr"]="\\Leftarrow",rY["\\lrarr"]="\\leftrightarrow",rY["\\lrArr"]="\\Leftrightarrow",rY["\\Lrarr"]="\\Leftrightarrow",rY["\\Mu"]="\\mathrm{M}",rY["\\natnums"]="\\mathbb{N}",rY["\\Nu"]="\\mathrm{N}",rY["\\Omicron"]="\\mathrm{O}",rY["\\plusmn"]="\\pm",rY["\\rarr"]="\\rightarrow",rY["\\rArr"]="\\Rightarrow",rY["\\Rarr"]="\\Rightarrow",rY["\\real"]="\\Re",rY["\\reals"]="\\mathbb{R}",rY["\\Reals"]="\\mathbb{R}",rY["\\Rho"]="\\mathrm{P}",rY["\\sdot"]="\\cdot",rY["\\sect"]="\\S",rY["\\spades"]="\\spadesuit",rY["\\sub"]="\\subset",rY["\\sube"]="\\subseteq",rY["\\supe"]="\\supseteq",rY["\\Tau"]="\\mathrm{T}",rY["\\thetasym"]="\\vartheta",rY["\\weierp"]="\\wp",rY["\\Zeta"]="\\mathrm{Z}",rY["\\argmin"]="\\DOTSB\\operatorname*{arg\\,min}",rY["\\argmax"]="\\DOTSB\\operatorname*{arg\\,max}",rY["\\plim"]="\\DOTSB\\mathop{\\operatorname{plim}}\\limits",rY["\\bra"]="\\mathinner{\\langle{#1}|}",rY["\\ket"]="\\mathinner{|{#1}\\rangle}",rY["\\braket"]="\\mathinner{\\langle{#1}\\rangle}",rY["\\Bra"]="\\left\\langle#1\\right|",rY["\\Ket"]="\\left|#1\\right\\rangle";var aI=e=>t=>{var r=t.consumeArg().tokens,a=t.consumeArg().tokens,n=t.consumeArg().tokens,i=t.consumeArg().tokens,s=t.macros.get("|"),o=t.macros.get("\\|");t.macros.beginGroup();var l=t=>r=>{e&&(r.macros.set("|",s),n.length&&r.macros.set("\\|",o));var i=t;return!t&&n.length&&"|"===r.future().text&&(r.popToken(),i=!0),{tokens:i?n:a,numArgs:0}};t.macros.set("|",l(!1)),n.length&&t.macros.set("\\|",l(!0));var h=t.consumeArg().tokens,m=t.expandTokens([...i,...h,...r]);return t.macros.endGroup(),{tokens:m.reverse(),numArgs:0}};A=aI(!1),rY["\\bra@ket"]=A,T=aI(!0),rY["\\bra@set"]=T,rY["\\Braket"]="\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}",rY["\\Set"]="\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}",rY["\\set"]="\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}",rY["\\angln"]="{\\angl n}",rY["\\blue"]="\\textcolor{##6495ed}{#1}",rY["\\orange"]="\\textcolor{##ffa500}{#1}",rY["\\pink"]="\\textcolor{##ff00af}{#1}",rY["\\red"]="\\textcolor{##df0030}{#1}",rY["\\green"]="\\textcolor{##28ae7b}{#1}",rY["\\gray"]="\\textcolor{gray}{#1}",rY["\\purple"]="\\textcolor{##9d38bd}{#1}",rY["\\blueA"]="\\textcolor{##ccfaff}{#1}",rY["\\blueB"]="\\textcolor{##80f6ff}{#1}",rY["\\blueC"]="\\textcolor{##63d9ea}{#1}",rY["\\blueD"]="\\textcolor{##11accd}{#1}",rY["\\blueE"]="\\textcolor{##0c7f99}{#1}",rY["\\tealA"]="\\textcolor{##94fff5}{#1}",rY["\\tealB"]="\\textcolor{##26edd5}{#1}",rY["\\tealC"]="\\textcolor{##01d1c1}{#1}",rY["\\tealD"]="\\textcolor{##01a995}{#1}",rY["\\tealE"]="\\textcolor{##208170}{#1}",rY["\\greenA"]="\\textcolor{##b6ffb0}{#1}",rY["\\greenB"]="\\textcolor{##8af281}{#1}",rY["\\greenC"]="\\textcolor{##74cf70}{#1}",rY["\\greenD"]="\\textcolor{##1fab54}{#1}",rY["\\greenE"]="\\textcolor{##0d923f}{#1}",rY["\\goldA"]="\\textcolor{##ffd0a9}{#1}",rY["\\goldB"]="\\textcolor{##ffbb71}{#1}",rY["\\goldC"]="\\textcolor{##ff9c39}{#1}",rY["\\goldD"]="\\textcolor{##e07d10}{#1}",rY["\\goldE"]="\\textcolor{##a75a05}{#1}",rY["\\redA"]="\\textcolor{##fca9a9}{#1}",rY["\\redB"]="\\textcolor{##ff8482}{#1}",rY["\\redC"]="\\textcolor{##f9685d}{#1}",rY["\\redD"]="\\textcolor{##e84d39}{#1}",rY["\\redE"]="\\textcolor{##bc2612}{#1}",rY["\\maroonA"]="\\textcolor{##ffbde0}{#1}",rY["\\maroonB"]="\\textcolor{##ff92c6}{#1}",rY["\\maroonC"]="\\textcolor{##ed5fa6}{#1}",rY["\\maroonD"]="\\textcolor{##ca337c}{#1}",rY["\\maroonE"]="\\textcolor{##9e034e}{#1}",rY["\\purpleA"]="\\textcolor{##ddd7ff}{#1}",rY["\\purpleB"]="\\textcolor{##c6b9fc}{#1}",rY["\\purpleC"]="\\textcolor{##aa87ff}{#1}",rY["\\purpleD"]="\\textcolor{##7854ab}{#1}",rY["\\purpleE"]="\\textcolor{##543b78}{#1}",rY["\\mintA"]="\\textcolor{##f5f9e8}{#1}",rY["\\mintB"]="\\textcolor{##edf2df}{#1}",rY["\\mintC"]="\\textcolor{##e0e5cc}{#1}",rY["\\grayA"]="\\textcolor{##f6f7f7}{#1}",rY["\\grayB"]="\\textcolor{##f0f1f2}{#1}",rY["\\grayC"]="\\textcolor{##e3e5e6}{#1}",rY["\\grayD"]="\\textcolor{##d6d8da}{#1}",rY["\\grayE"]="\\textcolor{##babec2}{#1}",rY["\\grayF"]="\\textcolor{##888d93}{#1}",rY["\\grayG"]="\\textcolor{##626569}{#1}",rY["\\grayH"]="\\textcolor{##3b3e40}{#1}",rY["\\grayI"]="\\textcolor{##21242c}{#1}",rY["\\kaBlue"]="\\textcolor{##314453}{#1}",rY["\\kaGreen"]="\\textcolor{##71B307}{#1}";var aH={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class aR{constructor(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new aA(rY,t.macros),this.mode=r,this.stack=[]}feed(e){this.lexer=new az(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,r,a;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken(),{tokens:a,end:r}=this.consumeArg(["]"])}else({tokens:a,start:t,end:r}=this.consumeArg());return this.pushToken(new n("EOF",r.loc)),this.pushTokens(a),t.range(r,"")}consumeSpaces(){for(;;)if(" "===this.future().text)this.stack.pop();else break}consumeArg(e){var t,r=[],a=e&&e.length>0;a||this.consumeSpaces();var n=this.future(),s=0,o=0;do{if(t=this.popToken(),r.push(t),"{"===t.text)++s;else if("}"===t.text){if(-1==--s)throw new i("Extra }",t)}else if("EOF"===t.text)throw new i("Unexpected end of input in a macro argument, expected '"+(e&&a?e[o]:"}")+"'",t);if(e&&a){if((0===s||1===s&&"{"===e[o])&&t.text===e[o]){if(++o===e.length){r.splice(-o,o);break}}else o=0}}while(0!==s||a);return"{"===n.text&&"}"===r[r.length-1].text&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:n,end:t}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new i("The length of delimiters doesn't match the number of args!");for(var r=t[0],a=0;athis.settings.maxExpand)throw new i("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),r=t.text,a=t.noexpand?null:this._getExpansion(r);if(null==a||e&&a.unexpandable){if(e&&null==a&&"\\"===r[0]&&!this.isDefined(r))throw new i("Undefined control sequence: "+r);return this.pushToken(t),!1}this.countExpansion(1);var n=a.tokens,s=this.consumeArgs(a.numArgs,a.delimiters);if(a.numArgs){n=n.slice();for(var o=n.length-1;o>=0;--o){var l=n[o];if("#"===l.text){if(0===o)throw new i("Incomplete placeholder at end of macro body",l);if("#"===(l=n[--o]).text)n.splice(o+1,1);else if(/^[1-9]$/.test(l.text))n.splice(o,2,...s[+l.text-1]);else throw new i("Not a valid argument number",l)}}}return this.pushTokens(n),n.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(!1===this.expandOnce()){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw Error()}expandMacro(e){return this.macros.has(e)?this.expandTokens([new n(e)]):void 0}expandTokens(e){var t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){var a=this.stack.pop();a.treatAsRelax&&(a.noexpand=!1,a.treatAsRelax=!1),t.push(a)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t?t.map(e=>e.text).join(""):t}_getExpansion(e){var t=this.macros.get(e);if(null==t)return t;if(1===e.length){var r=this.lexer.catcodes[e];if(null!=r&&13!==r)return}var a="function"==typeof t?t(this):t;if("string"==typeof a){var n=0;if(-1!==a.indexOf("#"))for(var i=a.replace(/##/g,"");-1!==i.indexOf("#"+(n+1));)++n;for(var s=new az(a,this.settings),o=[],l=s.lex();"EOF"!==l.text;)o.push(l),l=s.lex();return o.reverse(),{tokens:o,numArgs:n}}return a}isDefined(e){return this.macros.has(e)||tf.hasOwnProperty(e)||eB.math.hasOwnProperty(e)||eB.text.hasOwnProperty(e)||aH.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:tf.hasOwnProperty(e)&&!tf[e].primitive}}var aO=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,aE=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9",ₐ:"a",ₑ:"e",ₕ:"h",ᵢ:"i",ⱼ:"j",ₖ:"k",ₗ:"l",ₘ:"m",ₙ:"n",ₒ:"o",ₚ:"p",ᵣ:"r",ₛ:"s",ₜ:"t",ᵤ:"u",ᵥ:"v",ₓ:"x",ᵦ:"β",ᵧ:"γ",ᵨ:"ρ",ᵩ:"ϕ",ᵪ:"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","\xb9":"1","\xb2":"2","\xb3":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9",ᴬ:"A",ᴮ:"B",ᴰ:"D",ᴱ:"E",ᴳ:"G",ᴴ:"H",ᴵ:"I",ᴶ:"J",ᴷ:"K",ᴸ:"L",ᴹ:"M",ᴺ:"N",ᴼ:"O",ᴾ:"P",ᴿ:"R",ᵀ:"T",ᵁ:"U",ⱽ:"V",ᵂ:"W",ᵃ:"a",ᵇ:"b",ᶜ:"c",ᵈ:"d",ᵉ:"e",ᶠ:"f",ᵍ:"g",ʰ:"h",ⁱ:"i",ʲ:"j",ᵏ:"k",ˡ:"l",ᵐ:"m",ⁿ:"n",ᵒ:"o",ᵖ:"p",ʳ:"r",ˢ:"s",ᵗ:"t",ᵘ:"u",ᵛ:"v",ʷ:"w",ˣ:"x",ʸ:"y",ᶻ:"z",ᵝ:"β",ᵞ:"γ",ᵟ:"δ",ᵠ:"ϕ",ᵡ:"χ",ᶿ:"θ"}),aL={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},aD={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class aV{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new aR(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new i("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new n("}")),this.gullet.pushTokens(e);var r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r}parseExpression(e,t){for(var r=[];;){"math"===this.mode&&this.consumeSpaces();var a=this.fetch();if(-1!==aV.endOfExpression.indexOf(a.text)||t&&a.text===t||e&&tf[a.text]&&tf[a.text].infix)break;var n=this.parseAtom(t);if(n){if("internal"===n.type)continue}else break;r.push(n)}return"text"===this.mode&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){for(var t=-1,r=0;r=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var o,l=eB[this.mode][t].group,h=a.range(e);o=eA.hasOwnProperty(l)?{type:"atom",mode:this.mode,family:l,loc:h,text:t}:{type:l,mode:this.mode,loc:h,text:t}}else{if(!(t.charCodeAt(0)>=128))return null;this.settings.strict&&(_(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),o={type:"textord",mode:"text",loc:a.range(e),text:t}}if(this.consume(),s)for(var m=0;m-1)return s;var c=s.match(a);if(!c)return s;var l=c[0];return n.test(l)?e.Rq:s}},7484:function(t){var e;e=function(){"use strict";var t="millisecond",e="second",n="minute",r="hour",i="week",o="month",a="quarter",u="year",s="date",c="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},p="en",d={};d[p]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||"th")+"]"}};var _="$isDayjsObject",g=function(t){return t instanceof b||!(!t||!t[_])},y=function t(e,n,r){var i;if(!e)return p;if("string"==typeof e){var o=e.toLowerCase();d[o]&&(i=o),n&&(d[o]=n,i=o);var a=e.split("-");if(!i&&a.length>1)return t(a[0])}else{var u=e.name;d[u]=e,i=u}return!r&&i&&(p=i),i||!r&&p},m=function(t,e){if(g(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new b(n)},v={s:f,z:function(t){var e=-t.utcOffset(),n=Math.abs(e);return(e<=0?"+":"-")+f(Math.floor(n/60),2,"0")+":"+f(n%60,2,"0")},m:function t(e,n){if(e.date()1?n-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:p;e&&e(t,null);let o=r.length;for(;o--;){let e=r[o];if("string"==typeof e){let t=i(e);t!==e&&(n(r)||(r[o]=t),e=t)}t[e]=!0}return t}function T(e){let n=u(null);for(let[r,i]of t(e))v(e,r)&&(Array.isArray(i)?n[r]=function(t){for(let e=0;e/gm),F=a(/\${[\w\W]*}/gm),I=a(/^data-[\-\w.\u00B7-\uFFFF]/),P=a(/^aria-[\-\w]+$/),H=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),z=a(/^(?:\w+script|data):/i),Y=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),q=a(/^html$/i);var B,W=Object.freeze({__proto__:null,MUSTACHE_EXPR:j,ERB_EXPR:R,TMPLIT_EXPR:F,DATA_ATTR:I,ARIA_ATTR:P,IS_ALLOWED_URI:H,IS_SCRIPT_OR_DATA:z,ATTR_WHITESPACE:Y,DOCTYPE_NAME:q,CUSTOM_ELEMENT:a(/^[a-z][.\w]*(-[.\w]+)+$/i)});let G={element:1,text:3,progressingInstruction:7,comment:8,document:9},X=function(t,e){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let n=null,r="data-tt-policy-suffix";e&&e.hasAttribute(r)&&(n=e.getAttribute(r));let i="dompurify"+(n?"#"+n:"");try{return t.createPolicy(i,{createHTML:t=>t,createScriptURL:t=>t})}catch(t){return console.warn("TrustedTypes policy "+i+" could not be created."),null}};return function e(){let n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"undefined"==typeof window?null:window,i=t=>e(t);if(i.version="3.1.5",i.removed=[],!r||!r.document||r.document.nodeType!==G.document)return i.isSupported=!1,i;let{document:a}=r,s=a,c=s.currentScript,{DocumentFragment:w,HTMLTemplateElement:j,Node:R,Element:F,NodeFilter:I,NamedNodeMap:P=r.NamedNodeMap||r.MozNamedAttrMap,HTMLFormElement:z,DOMParser:Y,trustedTypes:B}=r,V=F.prototype,Q=k(V,"cloneNode"),J=k(V,"nextSibling"),K=k(V,"childNodes"),tt=k(V,"parentNode");if("function"==typeof j){let t=a.createElement("template");t.content&&t.content.ownerDocument&&(a=t.content.ownerDocument)}let te="",{implementation:tn,createNodeIterator:tr,createDocumentFragment:ti,getElementsByTagName:to}=a,{importNode:ta}=s,tu={};i.isSupported="function"==typeof t&&"function"==typeof tt&&tn&&void 0!==tn.createHTMLDocument;let{MUSTACHE_EXPR:ts,ERB_EXPR:tc,TMPLIT_EXPR:tl,DATA_ATTR:th,ARIA_ATTR:tf,IS_SCRIPT_OR_DATA:tp,ATTR_WHITESPACE:td,CUSTOM_ELEMENT:t_}=W,{IS_ALLOWED_URI:tg}=W,ty=null,tm=M({},[...A,...S,...Z,...E,...$]),tv=null,tb=M({},[...D,...O,...L,...U]),tx=Object.seal(u(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),tw=null,tM=null,tT=!0,tk=!0,tA=!1,tS=!0,tZ=!1,tN=!0,tE=!1,tC=!1,t$=!1,tD=!1,tO=!1,tL=!1,tU=!0,tj=!1,tR=!0,tF=!1,tI={},tP=null,tH=M({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),tz=null,tY=M({},["audio","video","img","source","image","track"]),tq=null,tB=M({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),tW="http://www.w3.org/1998/Math/MathML",tG="http://www.w3.org/2000/svg",tX="http://www.w3.org/1999/xhtml",tV=tX,tQ=!1,tJ=null,tK=M({},[tW,tG,tX],d),t0=null,t1=["application/xhtml+xml","text/html"],t2=null,t3=null,t5=a.createElement("form"),t4=function(t){return t instanceof RegExp||t instanceof Function},t6=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!t3||t3!==t){if(t&&"object"==typeof t||(t={}),t=T(t),t2="application/xhtml+xml"===(t0=-1===t1.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE)?d:p,ty=v(t,"ALLOWED_TAGS")?M({},t.ALLOWED_TAGS,t2):tm,tv=v(t,"ALLOWED_ATTR")?M({},t.ALLOWED_ATTR,t2):tb,tJ=v(t,"ALLOWED_NAMESPACES")?M({},t.ALLOWED_NAMESPACES,d):tK,tq=v(t,"ADD_URI_SAFE_ATTR")?M(T(tB),t.ADD_URI_SAFE_ATTR,t2):tB,tz=v(t,"ADD_DATA_URI_TAGS")?M(T(tY),t.ADD_DATA_URI_TAGS,t2):tY,tP=v(t,"FORBID_CONTENTS")?M({},t.FORBID_CONTENTS,t2):tH,tw=v(t,"FORBID_TAGS")?M({},t.FORBID_TAGS,t2):{},tM=v(t,"FORBID_ATTR")?M({},t.FORBID_ATTR,t2):{},tI=!!v(t,"USE_PROFILES")&&t.USE_PROFILES,tT=!1!==t.ALLOW_ARIA_ATTR,tk=!1!==t.ALLOW_DATA_ATTR,tA=t.ALLOW_UNKNOWN_PROTOCOLS||!1,tS=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,tZ=t.SAFE_FOR_TEMPLATES||!1,tN=!1!==t.SAFE_FOR_XML,tE=t.WHOLE_DOCUMENT||!1,tD=t.RETURN_DOM||!1,tO=t.RETURN_DOM_FRAGMENT||!1,tL=t.RETURN_TRUSTED_TYPE||!1,t$=t.FORCE_BODY||!1,tU=!1!==t.SANITIZE_DOM,tj=t.SANITIZE_NAMED_PROPS||!1,tR=!1!==t.KEEP_CONTENT,tF=t.IN_PLACE||!1,tg=t.ALLOWED_URI_REGEXP||H,tV=t.NAMESPACE||tX,tx=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&t4(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(tx.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&t4(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(tx.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(tx.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),tZ&&(tk=!1),tO&&(tD=!0),tI&&(ty=M({},$),tv=[],!0===tI.html&&(M(ty,A),M(tv,D)),!0===tI.svg&&(M(ty,S),M(tv,O),M(tv,U)),!0===tI.svgFilters&&(M(ty,Z),M(tv,O),M(tv,U)),!0===tI.mathMl&&(M(ty,E),M(tv,L),M(tv,U))),t.ADD_TAGS&&(ty===tm&&(ty=T(ty)),M(ty,t.ADD_TAGS,t2)),t.ADD_ATTR&&(tv===tb&&(tv=T(tv)),M(tv,t.ADD_ATTR,t2)),t.ADD_URI_SAFE_ATTR&&M(tq,t.ADD_URI_SAFE_ATTR,t2),t.FORBID_CONTENTS&&(tP===tH&&(tP=T(tP)),M(tP,t.FORBID_CONTENTS,t2)),tR&&(ty["#text"]=!0),tE&&M(ty,["html","head","body"]),ty.table&&(M(ty,["tbody"]),delete tw.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw x('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw x('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');te=(n=t.TRUSTED_TYPES_POLICY).createHTML("")}else void 0===n&&(n=X(B,c)),null!==n&&"string"==typeof te&&(te=n.createHTML(""));o&&o(t),t3=t}},t8=M({},["mi","mo","mn","ms","mtext"]),t7=M({},["foreignobject","annotation-xml"]),t9=M({},["title","style","font","a","script"]),et=M({},[...S,...Z,...N]),ee=M({},[...E,...C]),en=function(t){let e=tt(t);e&&e.tagName||(e={namespaceURI:tV,tagName:"template"});let n=p(t.tagName),r=p(e.tagName);return!!tJ[t.namespaceURI]&&(t.namespaceURI===tG?e.namespaceURI===tX?"svg"===n:e.namespaceURI===tW?"svg"===n&&("annotation-xml"===r||t8[r]):!!et[n]:t.namespaceURI===tW?e.namespaceURI===tX?"math"===n:e.namespaceURI===tG?"math"===n&&t7[r]:!!ee[n]:t.namespaceURI===tX?(e.namespaceURI!==tG||!!t7[r])&&(e.namespaceURI!==tW||!!t8[r])&&!ee[n]&&(t9[n]||!et[n]):"application/xhtml+xml"===t0&&!!tJ[t.namespaceURI])},er=function(t){f(i.removed,{element:t});try{t.parentNode.removeChild(t)}catch(e){t.remove()}},ei=function(t,e){try{f(i.removed,{attribute:e.getAttributeNode(t),from:e})}catch(t){f(i.removed,{attribute:null,from:e})}if(e.removeAttribute(t),"is"===t&&!tv[t]){if(tD||tO)try{er(e)}catch(t){}else try{e.setAttribute(t,"")}catch(t){}}},eo=function(t){let e=null,r=null;if(t$)t=""+t;else{let e=_(t,/^[\r\n\t ]+/);r=e&&e[0]}"application/xhtml+xml"===t0&&tV===tX&&(t=''+t+"");let i=n?n.createHTML(t):t;if(tV===tX)try{e=new Y().parseFromString(i,t0)}catch(t){}if(!e||!e.documentElement){e=tn.createDocument(tV,"template",null);try{e.documentElement.innerHTML=tQ?te:i}catch(t){}}let o=e.body||e.documentElement;return(t&&r&&o.insertBefore(a.createTextNode(r),o.childNodes[0]||null),tV===tX)?to.call(e,tE?"html":"body")[0]:tE?e.documentElement:o},ea=function(t){return tr.call(t.ownerDocument||t,t,I.SHOW_ELEMENT|I.SHOW_COMMENT|I.SHOW_TEXT|I.SHOW_PROCESSING_INSTRUCTION|I.SHOW_CDATA_SECTION,null)},eu=function(t){return t instanceof z&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||!(t.attributes instanceof P)||"function"!=typeof t.removeAttribute||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes)},es=function(t){return"function"==typeof R&&t instanceof R},ec=function(t,e,n){tu[t]&&l(tu[t],t=>{t.call(i,e,n,t3)})},el=function(t){let e=null;if(ec("beforeSanitizeElements",t,null),eu(t))return er(t),!0;let n=t2(t.nodeName);if(ec("uponSanitizeElement",t,{tagName:n,allowedTags:ty}),t.hasChildNodes()&&!es(t.firstElementChild)&&b(/<[/\w]/g,t.innerHTML)&&b(/<[/\w]/g,t.textContent)||t.nodeType===G.progressingInstruction||tN&&t.nodeType===G.comment&&b(/<[/\w]/g,t.data))return er(t),!0;if(!ty[n]||tw[n]){if(!tw[n]&&ef(n)&&(tx.tagNameCheck instanceof RegExp&&b(tx.tagNameCheck,n)||tx.tagNameCheck instanceof Function&&tx.tagNameCheck(n)))return!1;if(tR&&!tP[n]){let e=tt(t)||t.parentNode,n=K(t)||t.childNodes;if(n&&e){let r=n.length;for(let i=r-1;i>=0;--i){let r=Q(n[i],!0);r.__removalCount=(t.__removalCount||0)+1,e.insertBefore(r,J(t))}}}return er(t),!0}return t instanceof F&&!en(t)||("noscript"===n||"noembed"===n||"noframes"===n)&&b(/<\/no(script|embed|frames)/i,t.innerHTML)?(er(t),!0):(tZ&&t.nodeType===G.text&&(e=t.textContent,l([ts,tc,tl],t=>{e=g(e,t," ")}),t.textContent!==e&&(f(i.removed,{element:t.cloneNode()}),t.textContent=e)),ec("afterSanitizeElements",t,null),!1)},eh=function(t,e,n){if(tU&&("id"===e||"name"===e)&&(n in a||n in t5))return!1;if(tk&&!tM[e]&&b(th,e));else if(tT&&b(tf,e));else if(!tv[e]||tM[e]){if(!(ef(t)&&(tx.tagNameCheck instanceof RegExp&&b(tx.tagNameCheck,t)||tx.tagNameCheck instanceof Function&&tx.tagNameCheck(t))&&(tx.attributeNameCheck instanceof RegExp&&b(tx.attributeNameCheck,e)||tx.attributeNameCheck instanceof Function&&tx.attributeNameCheck(e))||"is"===e&&tx.allowCustomizedBuiltInElements&&(tx.tagNameCheck instanceof RegExp&&b(tx.tagNameCheck,n)||tx.tagNameCheck instanceof Function&&tx.tagNameCheck(n))))return!1}else if(tq[e]);else if(b(tg,g(n,td,"")));else if(("src"===e||"xlink:href"===e||"href"===e)&&"script"!==t&&0===y(n,"data:")&&tz[t]);else if(tA&&!b(tp,g(n,td,"")));else if(n)return!1;return!0},ef=function(t){return"annotation-xml"!==t&&_(t,t_)},ep=function(t){ec("beforeSanitizeAttributes",t,null);let{attributes:e}=t;if(!e)return;let r={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:tv},o=e.length;for(;o--;){let{name:a,namespaceURI:u,value:s}=e[o],c=t2(a),f="value"===a?s:m(s);if(r.attrName=c,r.attrValue=f,r.keepAttr=!0,r.forceKeepAttr=void 0,ec("uponSanitizeAttribute",t,r),f=r.attrValue,r.forceKeepAttr||(ei(a,t),!r.keepAttr))continue;if(!tS&&b(/\/>/i,f)||tN&&b(/((--!?|])>)|<\/(style|title)/i,f)){ei(a,t);continue}tZ&&l([ts,tc,tl],t=>{f=g(f,t," ")});let p=t2(t.nodeName);if(eh(p,c,f)){if(tj&&("id"===c||"name"===c)&&(ei(a,t),f="user-content-"+f),n&&"object"==typeof B&&"function"==typeof B.getAttributeType){if(u);else switch(B.getAttributeType(p,c)){case"TrustedHTML":f=n.createHTML(f);break;case"TrustedScriptURL":f=n.createScriptURL(f)}}try{u?t.setAttributeNS(u,a,f):t.setAttribute(a,f),eu(t)?er(t):h(i.removed)}catch(t){}}}ec("afterSanitizeAttributes",t,null)},ed=function t(e){let n=null,r=ea(e);for(ec("beforeSanitizeShadowDOM",e,null);n=r.nextNode();)ec("uponSanitizeShadowNode",n,null),el(n)||(n.content instanceof w&&t(n.content),ep(n));ec("afterSanitizeShadowDOM",e,null)};return i.sanitize=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,o=null,a=null,u=null;if((tQ=!t)&&(t=""),"string"!=typeof t&&!es(t)){if("function"==typeof t.toString){if("string"!=typeof(t=t.toString()))throw x("dirty is not a string, aborting")}else throw x("toString is not a function")}if(!i.isSupported)return t;if(tC||t6(e),i.removed=[],"string"==typeof t&&(tF=!1),tF){if(t.nodeName){let e=t2(t.nodeName);if(!ty[e]||tw[e])throw x("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof R)(o=(r=eo("")).ownerDocument.importNode(t,!0)).nodeType===G.element&&"BODY"===o.nodeName?r=o:"HTML"===o.nodeName?r=o:r.appendChild(o);else{if(!tD&&!tZ&&!tE&&-1===t.indexOf("<"))return n&&tL?n.createHTML(t):t;if(!(r=eo(t)))return tD?null:tL?te:""}r&&t$&&er(r.firstChild);let c=ea(tF?t:r);for(;a=c.nextNode();)el(a)||(a.content instanceof w&&ed(a.content),ep(a));if(tF)return t;if(tD){if(tO)for(u=ti.call(r.ownerDocument);r.firstChild;)u.appendChild(r.firstChild);else u=r;return(tv.shadowroot||tv.shadowrootmode)&&(u=ta.call(s,u,!0)),u}let h=tE?r.outerHTML:r.innerHTML;return tE&&ty["!doctype"]&&r.ownerDocument&&r.ownerDocument.doctype&&r.ownerDocument.doctype.name&&b(q,r.ownerDocument.doctype.name)&&(h="\n"+h),tZ&&l([ts,tc,tl],t=>{h=g(h,t," ")}),n&&tL?n.createHTML(h):h},i.setConfig=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t6(t),tC=!0},i.clearConfig=function(){t3=null,tC=!1},i.isValidAttribute=function(t,e,n){return t3||t6({}),eh(t2(t),t2(e),n)},i.addHook=function(t,e){"function"==typeof e&&(tu[t]=tu[t]||[],f(tu[t],e))},i.removeHook=function(t){if(tu[t])return h(tu[t])},i.removeHooks=function(t){tu[t]&&(tu[t]=[])},i.removeAllHooks=function(){tu={}},i}()},t.exports=e()},8464:function(t,e,n){"use strict";function r(t){for(var e=[],n=1;n{let n=document.documentElement,r=new MutationObserver(i);return r.observe(n,{attributes:!0}),i(),()=>{r.disconnect()};async function i(){let r=n.classList.contains("dark")||n.attributes.getNamedItem("data-theme")?.value==="dark";try{o.N.initialize({startOnLoad:!1,securityLevel:"loose",fontFamily:"inherit",themeCSS:"margin: 1.5rem auto 0;",theme:r?"dark":"default"});let{svg:n}=await o.N.render(e.replaceAll(":",""),t);a(n)}catch(t){console.error("Error while rendering mermaid",t)}}},[t]),(0,r.jsx)("div",{dangerouslySetInnerHTML:{__html:n}})}},4218:function(t,e,n){"use strict";function r(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n=i)&&(n=i)}return n}function i(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function o(t){return t}function a(t){return"translate("+t+",0)"}function u(t){return"translate(0,"+t+")"}function s(){return!this.__axis}function c(t,e){var n=[],r=null,i=null,c=6,l=6,h=3,f="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,p=1===t||4===t?-1:1,d=4===t||2===t?"x":"y",_=1===t||3===t?a:u;function g(a){var u=null==r?e.ticks?e.ticks.apply(e,n):e.domain():r,g=null==i?e.tickFormat?e.tickFormat.apply(e,n):o:i,y=Math.max(c,0)+h,m=e.range(),v=+m[0]+f,b=+m[m.length-1]+f,x=(e.bandwidth?function(t,e){return e=Math.max(0,t.bandwidth()-2*e)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}:function(t){return e=>+t(e)})(e.copy(),f),w=a.selection?a.selection():a,M=w.selectAll(".domain").data([null]),T=w.selectAll(".tick").data(u,e).order(),k=T.exit(),A=T.enter().append("g").attr("class","tick"),S=T.select("line"),Z=T.select("text");M=M.merge(M.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),T=T.merge(A),S=S.merge(A.append("line").attr("stroke","currentColor").attr(d+"2",p*c)),Z=Z.merge(A.append("text").attr("fill","currentColor").attr(d,p*y).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),a!==w&&(M=M.transition(a),T=T.transition(a),S=S.transition(a),Z=Z.transition(a),k=k.transition(a).attr("opacity",1e-6).attr("transform",function(t){return isFinite(t=x(t))?_(t+f):this.getAttribute("transform")}),A.attr("opacity",1e-6).attr("transform",function(t){var e=this.parentNode.__axis;return _((e&&isFinite(e=e(t))?e:x(t))+f)})),k.remove(),M.attr("d",4===t||2===t?l?"M"+p*l+","+v+"H"+f+"V"+b+"H"+p*l:"M"+f+","+v+"V"+b:l?"M"+v+","+p*l+"V"+f+"H"+b+"V"+p*l:"M"+v+","+f+"H"+b),T.attr("opacity",1).attr("transform",function(t){return _(x(t)+f)}),S.attr(d+"2",p*c),Z.attr(d,p*y).text(g),w.filter(s).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),w.each(function(){this.__axis=x})}return g.scale=function(t){return arguments.length?(e=t,g):e},g.ticks=function(){return n=Array.from(arguments),g},g.tickArguments=function(t){return arguments.length?(n=null==t?[]:Array.from(t),g):n.slice()},g.tickValues=function(t){return arguments.length?(r=null==t?null:Array.from(t),g):r&&r.slice()},g.tickFormat=function(t){return arguments.length?(i=t,g):i},g.tickSize=function(t){return arguments.length?(c=l=+t,g):c},g.tickSizeInner=function(t){return arguments.length?(c=+t,g):c},g.tickSizeOuter=function(t){return arguments.length?(l=+t,g):l},g.tickPadding=function(t){return arguments.length?(h=+t,g):h},g.offset=function(t){return arguments.length?(f=+t,g):f},g}function l(t){return c(1,t)}function h(t){return c(3,t)}function f(){}function p(t){return null==t?f:function(){return this.querySelector(t)}}function d(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function _(){return[]}function g(t){return null==t?_:function(){return this.querySelectorAll(t)}}function y(t){return function(){return this.matches(t)}}function m(t){return function(e){return e.matches(t)}}n.d(e,{Nb1:function(){return iI},LLu:function(){return h},F5q:function(){return l},$0Z:function(){return iK},Dts:function(){return i1},WQY:function(){return i3},qpX:function(){return i4},u93:function(){return i6},tFB:function(){return i7},YY7:function(){return oe},OvA:function(){return or},dCK:function(){return oo},zgE:function(){return os},fGX:function(){return ol},$m7:function(){return of},c_6:function(){return iz},fxm:function(){return od},FdL:function(){return ox},ak_:function(){return ow},SxZ:function(){return ok},eA_:function(){return oS},jsv:function(){return oN},iJ:function(){return oZ},JHv:function(){return eQ},jvg:function(){return iB},Fp7:function(){return r},VV$:function(){return i},ve8:function(){return iX},tiA:function(){return function t(){var e,n,r=e3().unknown(void 0),i=r.domain,o=r.range,a=0,u=1,s=!1,c=0,l=0,h=.5;function f(){var t=i().length,r=u0))return[];if(t===e)return[t];let r=e=i))return[];let u=o-i+1,s=Array(u);if(r){if(a<0)for(let t=0;t0;){if((i=e7(s,c,t))===r)return o[a]=s,o[u]=c,e(o);if(i>0)s=Math.floor(s/i)*i,c=Math.ceil(c/i)*i;else if(i<0)s=Math.ceil(s*i)/i,c=Math.floor(c*i)/i;else break;r=i}return n},n}},PKp:function(){return e3},Xf:function(){return ih},K2I:function(){return ip},Ys:function(){return id},td_:function(){return i_},YPS:function(){return eO},rr1:function(){return nO},i$Z:function(){return tl},y2j:function(){return nz},WQD:function(){return n$},U8T:function(){return nZ},Z_i:function(){return nE},Ox9:function(){return nF},F0B:function(){return nK},LqH:function(){return nY},S1K:function(){return nN},Zyz:function(){return nR},Igq:function(){return nH},YDX:function(){return nI},EFj:function(){return nP}});var v=Array.prototype.find;function b(){return this.firstElementChild}var x=Array.prototype.filter;function w(){return Array.from(this.children)}function M(t){return Array(t.length)}function T(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function k(t,e,n,r,i,o){for(var a,u=0,s=e.length,c=o.length;ue?1:t>=e?0:NaN}T.prototype={constructor:T,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var N="http://www.w3.org/1999/xhtml",E={svg:"http://www.w3.org/2000/svg",xhtml:N,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function C(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),E.hasOwnProperty(e)?{space:E[e],local:t}:t}function $(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function D(t,e){return t.style.getPropertyValue(e)||$(t).getComputedStyle(t,null).getPropertyValue(e)}function O(t){return t.trim().split(/^|\s+/)}function L(t){return t.classList||new U(t)}function U(t){this._node=t,this._names=O(t.getAttribute("class")||"")}function j(t,e){for(var n=L(t),r=-1,i=e.length;++rthis._names.indexOf(t)&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var Q=[null];function J(t,e){this._groups=t,this._parents=e}function K(){return new J([[document.documentElement]],Q)}J.prototype=K.prototype={constructor:J,select:function(t){"function"!=typeof t&&(t=p(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i=w&&(w=x+1);!(b=g[w])&&++w=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=Z);for(var n=this._groups,r=n.length,i=Array(r),o=0;o1?this.each((null==e?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof e?function(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}:function(t,e,n){return function(){this.style.setProperty(t,e,n)}})(t,e,null==n?"":n)):D(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?function(t){return function(){delete this[t]}}:"function"==typeof e?function(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}:function(t,e){return function(){this[t]=e}})(t,e)):this.node()[t]},classed:function(t,e){var n=O(t+"");if(arguments.length<2){for(var r=L(this.node()),i=-1,o=n.length;++i=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}),a=o.length;if(arguments.length<2){var u=this.node().__on;if(u){for(var s,c=0,l=u.length;c{}};function te(){for(var t,e=0,n=arguments.length,r={};e=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!r.hasOwnProperty(t))throw Error("unknown type: "+t);return{type:t,name:e}}),o=-1,a=i.length;if(arguments.length<2){for(;++o0)for(var n,r,i=Array(n),o=0;o=0&&e._call.call(void 0,t),e=e._next;--tp}()}finally{tp=0,function(){for(var t,e,n=th,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:th=e);tf=t,tS(r)}(),ty=0}}function tA(){var t=tv.now(),e=t-tg;e>1e3&&(tm-=e,tg=t)}function tS(t){!tp&&(td&&(td=clearTimeout(td)),t-ty>24?(t<1/0&&(td=setTimeout(tk,t-tv.now()-tm)),t_&&(t_=clearInterval(t_))):(t_||(tg=tv.now(),t_=setInterval(tA,1e3)),tp=1,tb(tk)))}function tZ(t,e,n){var r=new tM;return e=null==e?0:+e,r.restart(n=>{r.stop(),t(n+e)},e,n),r}tM.prototype=tT.prototype={constructor:tM,restart:function(t,e,n){if("function"!=typeof t)throw TypeError("callback is not a function");n=(null==n?tx():+n)+(null==e?0:+e),this._next||tf===this||(tf?tf._next=this:th=this,tf=this),this._call=t,this._time=n,tS()},stop:function(){this._call&&(this._call=null,this._time=1/0,tS())}};var tN=te("start","end","cancel","interrupt"),tE=[];function tC(t,e,n,r,i,o){var a=t.__transition;if(a){if(n in a)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function o(s){var c,l,h,f;if(1!==n.state)return u();for(c in i)if((f=i[c]).name===n.name){if(3===f.state)return tZ(o);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[c]):+c0)throw Error("too late; already scheduled");return n}function tD(t,e){var n=tO(t,e);if(n.state>3)throw Error("too late; already running");return n}function tO(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw Error("transition not found");return n}function tL(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}var tU=180/Math.PI,tj={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function tR(t,e,n,r,i,o){var a,u,s;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(s=t*n+e*r)&&(n-=t*s,r-=e*s),(u=Math.sqrt(n*n+r*r))&&(n/=u,r/=u,s/=u),t*r180?s+=360:s-u>180&&(u+=360),f.push({i:h.push(i(h)+"rotate(",null,r)-2,x:tL(u,s)})):s&&h.push(i(h)+"rotate("+s+r),(c=o.skewX)!==(l=a.skewX)?f.push({i:h.push(i(h)+"skewX(",null,r)-2,x:tL(c,l)}):l&&h.push(i(h)+"skewX("+l+r),!function(t,e,n,r,o,a){if(t!==n||e!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:tL(t,n)},{i:u-2,x:tL(e,r)})}else(1!==n||1!==r)&&o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,h,f),o=a=null,function(t){for(var e,n=-1,r=f.length;++n>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?t8(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?t8(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=tV.exec(t))?new et(e[1],e[2],e[3],1):(e=tQ.exec(t))?new et(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=tJ.exec(t))?t8(e[1],e[2],e[3],e[4]):(e=tK.exec(t))?t8(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=t0.exec(t))?ea(e[1],e[2]/100,e[3]/100,1):(e=t1.exec(t))?ea(e[1],e[2]/100,e[3]/100,e[4]):t2.hasOwnProperty(t)?t6(t2[t]):"transparent"===t?new et(NaN,NaN,NaN,0):null}function t6(t){return new et(t>>16&255,t>>8&255,255&t,1)}function t8(t,e,n,r){return r<=0&&(t=e=n=NaN),new et(t,e,n,r)}function t7(t){return(t instanceof tq||(t=t4(t)),t)?new et((t=t.rgb()).r,t.g,t.b,t.opacity):new et}function t9(t,e,n,r){return 1==arguments.length?t7(t):new et(t,e,n,null==r?1:r)}function et(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function ee(){return`#${eo(this.r)}${eo(this.g)}${eo(this.b)}`}function en(){let t=er(this.opacity);return`${1===t?"rgb(":"rgba("}${ei(this.r)}, ${ei(this.g)}, ${ei(this.b)}${1===t?")":`, ${t})`}`}function er(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ei(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function eo(t){return((t=ei(t))<16?"0":"")+t.toString(16)}function ea(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new es(t,e,n,r)}function eu(t){if(t instanceof es)return new es(t.h,t.s,t.l,t.opacity);if(t instanceof tq||(t=t4(t)),!t)return new es;if(t instanceof es)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,u=o-i,s=(o+i)/2;return u?(a=e===o?(n-r)/u+(n0&&s<1?0:a,new es(a,u,s,t.opacity)}function es(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function ec(t){return(t=(t||0)%360)<0?t+360:t}function el(t){return Math.max(0,Math.min(1,t||0))}function eh(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}function ef(t,e,n,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*n+(1+3*t+3*o-3*a)*r+a*i)/6}tz(tq,t4,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:t3,formatHex:t3,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return eu(this).formatHsl()},formatRgb:t5,toString:t5}),tz(et,t9,tY(tq,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new et(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new et(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new et(ei(this.r),ei(this.g),ei(this.b),er(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ee,formatHex:ee,formatHex8:function(){return`#${eo(this.r)}${eo(this.g)}${eo(this.b)}${eo((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:en,toString:en})),tz(es,function(t,e,n,r){return 1==arguments.length?eu(t):new es(t,e,n,null==r?1:r)},tY(tq,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new es(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new es(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new et(eh(t>=240?t-240:t+120,i,r),eh(t,i,r),eh(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new es(ec(this.h),el(this.s),el(this.l),er(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=er(this.opacity);return`${1===t?"hsl(":"hsla("}${ec(this.h)}, ${100*el(this.s)}%, ${100*el(this.l)}%${1===t?")":`, ${t})`}`}}));var ep=t=>()=>t;function ed(t,e){return function(n){return t+n*e}}function e_(t,e){var n=e-t;return n?ed(t,n):ep(isNaN(t)?e:t)}var eg=function t(e){var n,r=1==(n=+(n=e))?e_:function(t,e){var r,i,o;return e-t?(r=t,i=e,r=Math.pow(r,o=n),i=Math.pow(i,o)-r,o=1/o,function(t){return Math.pow(r+t*i,o)}):ep(isNaN(t)?e:t)};function i(t,e){var n=r((t=t9(t)).r,(e=t9(e)).r),i=r(t.g,e.g),o=r(t.b,e.b),a=e_(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=o(e),t.opacity=a(e),t+""}}return i.gamma=t,i}(1);function ey(t){return function(e){var n,r,i=e.length,o=Array(i),a=Array(i),u=Array(i);for(n=0;n=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,u=ru&&(a=e.slice(u,a),c[s]?c[s]+=a:c[++s]=a),(i=i[0])===(o=o[0])?c[s]?c[s]+=o:c[++s]=o:(c[++s]=null,l.push({i:s,x:tL(i,o)})),u=ev.lastIndex;return u=0&&(t=t.slice(0,e)),!t||"start"===t})?t$:tD,function(){var a=i(this,o),u=a.on;u!==n&&(r=(n=u).copy()).on(t,e),a.on=r}))},attr:function(t,e){var n=C(t),r="transform"===n?tP:ex;return this.attrTween(t,"function"==typeof e?(n.local?function(t,e,n){var r,i,o;return function(){var a,u,s=n(this);return null==s?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local))===(u=s+"")?null:a===r&&u===i?o:(i=u,o=e(r=a,s))}}:function(t,e,n){var r,i,o;return function(){var a,u,s=n(this);return null==s?void this.removeAttribute(t):(a=this.getAttribute(t))===(u=s+"")?null:a===r&&u===i?o:(i=u,o=e(r=a,s))}})(n,r,tH(this,"attr."+t,e)):null==e?(n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(n):(n.local?function(t,e,n){var r,i,o=n+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=e(r=a,n)}}:function(t,e,n){var r,i,o=n+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=e(r=a,n)}})(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw Error();var r=C(t);return this.tween(n,(r.local?function(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e){this.setAttributeNS(t.space,t.local,i.call(this,e))}),n}return i._value=e,i}:function(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e){this.setAttribute(t,i.call(this,e))}),n}return i._value=e,i})(r,e))},style:function(t,e,n){var r,i,o,a,u,s,c,l,h,f,p,d,_,g,y,m,v,b,x,w,M,T="transform"==(t+="")?tI:ex;return null==e?this.styleTween(t,(r=t,function(){var t=D(this,r),e=(this.style.removeProperty(r),D(this,r));return t===e?null:t===i&&e===o?a:a=T(i=t,o=e)})).on("end.style."+t,eM(t)):"function"==typeof e?this.styleTween(t,(u=t,s=tH(this,"style."+t,e),function(){var t=D(this,u),e=s(this),n=e+"";return null==e&&(this.style.removeProperty(u),n=e=D(this,u)),t===n?null:t===c&&n===l?h:(l=n,h=T(c=t,e))})).each((f=this._id,v="end."+(m="style."+(p=t)),function(){var t=tD(this,f),e=t.on,n=null==t.value[m]?y||(y=eM(p)):void 0;(e!==d||g!==n)&&(_=(d=e).copy()).on(v,g=n),t.on=_})):this.styleTween(t,(b=t,M=e+"",function(){var t=D(this,b);return t===M?null:t===x?w:w=T(x=t,e)}),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw Error();return this.tween(r,function(t,e,n){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&function(e){this.style.setProperty(t,o.call(this,e),n)}),r}return o._value=e,o}(t,e,null==n?"":n))},text:function(t){var e,n;return this.tween("text","function"==typeof t?(e=tH(this,"text",t),function(){var t=e(this);this.textContent=null==t?"":t}):(n=null==t?"":t+"",function(){this.textContent=n}))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw Error();return this.tween(e,function(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&function(t){this.textContent=r.call(this,t)}),e}return r._value=t,r}(t))},remove:function(){var t;return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=tO(this.node(),n).tween,o=0,a=i.length;o2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete o[i]}a&&delete t.__transition}}(this,t)})},K.prototype.transition=function(t){var e,n;t instanceof ek?(e=t._id,t=t._name):(e=++eT,(n=eS).time=tx(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;ofetch(e,n).then(e$).then(e=>(new DOMParser).parseFromString(e,t))}["w","e"].map(eC),["n","s"].map(eC),["n","w","e","s","nw","ne","sw","se"].map(eC),eD("application/xml"),eD("text/html");var eO=eD("image/svg+xml");let eL=Math.PI/180,eU=180/Math.PI,ej=4/29,eR=6/29,eF=6/29*3*(6/29),eI=6/29*(6/29)*(6/29);function eP(t){if(t instanceof eH)return new eH(t.l,t.a,t.b,t.opacity);if(t instanceof eG)return eX(t);t instanceof et||(t=t7(t));var e,n,r=eB(t.r),i=eB(t.g),o=eB(t.b),a=ez((.2225045*r+.7168786*i+.0606169*o)/1);return r===i&&i===o?e=n=a:(e=ez((.4360747*r+.3850649*i+.1430804*o)/.96422),n=ez((.0139322*r+.0971045*i+.7141733*o)/.82521)),new eH(116*a-16,500*(e-a),200*(a-n),t.opacity)}function eH(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function ez(t){return t>eI?Math.pow(t,1/3):t/eF+ej}function eY(t){return t>eR?t*t*t:eF*(t-ej)}function eq(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function eB(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function eW(t,e,n,r){return 1==arguments.length?function(t){if(t instanceof eG)return new eG(t.h,t.c,t.l,t.opacity);if(t instanceof eH||(t=eP(t)),0===t.a&&0===t.b)return new eG(NaN,0180||n<-180?n-360*Math.round(n/360):n):ep(isNaN(t)?e:t)});function eJ(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}eV(e_);class eK extends Map{constructor(t,e=e1){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(let[e,n]of t)this.set(e,n)}get(t){return super.get(e0(this,t))}has(t){return super.has(e0(this,t))}set(t,e){return super.set(function({_intern:t,_key:e},n){let r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}(this,t),e)}delete(t){return super.delete(function({_intern:t,_key:e},n){let r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}(this,t))}}function e0({_intern:t,_key:e},n){let r=e(n);return t.has(r)?t.get(r):n}function e1(t){return null!==t&&"object"==typeof t?t.valueOf():t}let e2=Symbol("implicit");function e3(){var t=new eK,e=[],n=[],r=e2;function i(i){let o=t.get(i);if(void 0===o){if(r!==e2)return r;t.set(i,o=e.push(i)-1)}return n[o%n.length]}return i.domain=function(n){if(!arguments.length)return e.slice();for(let r of(e=[],t=new eK,n))t.has(r)||t.set(r,e.push(r)-1);return i},i.range=function(t){return arguments.length?(n=Array.from(t),i):n.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return e3(e,n).unknown(r)},eJ.apply(i,arguments),i}let e5=Math.sqrt(50),e4=Math.sqrt(10),e6=Math.sqrt(2);function e8(t,e,n){let r,i,o;let a=(e-t)/Math.max(0,n),u=Math.floor(Math.log10(a)),s=a/Math.pow(10,u),c=s>=e5?10:s>=e4?5:s>=e6?2:1;return(u<0?(r=Math.round(t*(o=Math.pow(10,-u)/c)),i=Math.round(e*o),r/oe&&--i,o=-o):(r=Math.round(t/(o=Math.pow(10,u)*c)),i=Math.round(e/o),r*oe&&--i),ie?1:t>=e?0:NaN}function ne(t,e){return null==t||null==e?NaN:et?1:e>=t?0:NaN}function nn(t){let e,n,r;function i(t,r,i=0,o=t.length){if(i>>1;0>n(t[e],r)?i=e+1:o=e}while(int(t(e),n),r=(e,n)=>t(e)-n):(e=t===nt||t===ne?t:nr,n=t,r=t),{left:i,center:function(t,e,n=0,o=t.length){let a=i(t,e,n,o-1);return a>n&&r(t[a-1],e)>-r(t[a],e)?a-1:a},right:function(t,r,i=0,o=t.length){if(i>>1;0>=n(t[e],r)?i=e+1:o=e}while(ie&&(n=t,t=e,e=n),c=function(n){return Math.max(t,Math.min(e,n))}),r=s>2?nf:nh,i=o=null,h}function h(e){return null==e||isNaN(e=+e)?n:(i||(i=r(a.map(t),u,s)))(t(c(e)))}return h.invert=function(n){return c(e((o||(o=r(u,a.map(t),tL)))(n)))},h.domain=function(t){return arguments.length?(a=Array.from(t,nu),l()):a.slice()},h.range=function(t){return arguments.length?(u=Array.from(t),l()):u.slice()},h.rangeRound=function(t){return u=Array.from(t),s=na,l()},h.clamp=function(t){return arguments.length?(c=!!t||nc,l()):c!==nc},h.interpolate=function(t){return arguments.length?(s=t,l()):s},h.unknown=function(t){return arguments.length?(n=t,h):n},function(n,r){return t=n,e=r,l()}})()(nc,nc)}var n_=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ng(t){var e;if(!(e=n_.exec(t)))throw Error("invalid format: "+t);return new ny({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function ny(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function nm(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function nv(t){return(t=nm(Math.abs(t)))?t[1]:NaN}function nb(t,e){var n=nm(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+Array(i-r.length+2).join("0")}ng.prototype=ny.prototype,ny.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var nx={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>nb(100*t,e),r:nb,s:function(t,e){var n=nm(t,e);if(!n)return t+"";var r=n[0],i=n[1],o=i-(to=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+Array(1-o).join("0")+nm(t,Math.max(0,e+o-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function nw(t){return t}var nM=Array.prototype.map,nT=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];tu=(ta=function(t){var e,n,r,i=void 0===t.grouping||void 0===t.thousands?nw:(e=nM.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,o=[],a=0,u=e[0],s=0;i>0&&u>0&&(s+u+1>r&&(u=Math.max(1,r-s)),o.push(t.substring(i-=u,i+u)),!((s+=u+1)>r));)u=e[a=(a+1)%e.length];return o.reverse().join(n)}),o=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",u=void 0===t.decimal?".":t.decimal+"",s=void 0===t.numerals?nw:(r=nM.call(t.numerals,String),function(t){return t.replace(/[0-9]/g,function(t){return r[+t]})}),c=void 0===t.percent?"%":t.percent+"",l=void 0===t.minus?"−":t.minus+"",h=void 0===t.nan?"NaN":t.nan+"";function f(t){var e=(t=ng(t)).fill,n=t.align,r=t.sign,f=t.symbol,p=t.zero,d=t.width,_=t.comma,g=t.precision,y=t.trim,m=t.type;"n"===m?(_=!0,m="g"):nx[m]||(void 0===g&&(g=12),y=!0,m="g"),(p||"0"===e&&"="===n)&&(p=!0,e="0",n="=");var v="$"===f?o:"#"===f&&/[boxX]/.test(m)?"0"+m.toLowerCase():"",b="$"===f?a:/[%p]/.test(m)?c:"",x=nx[m],w=/[defgprs%]/.test(m);function M(t){var o,a,c,f=v,M=b;if("c"===m)M=x(t)+M,t="";else{var T=(t=+t)<0||1/t<0;if(t=isNaN(t)?h:x(Math.abs(t),g),y&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),T&&0==+t&&"+"!==r&&(T=!1),f=(T?"("===r?r:l:"-"===r||"("===r?"":r)+f,M=("s"===m?nT[8+to/3]:"")+M+(T&&"("===r?")":""),w){for(o=-1,a=t.length;++o(c=t.charCodeAt(o))||c>57){M=(46===c?u+t.slice(o+1):t.slice(o))+M,t=t.slice(0,o);break}}}_&&!p&&(t=i(t,1/0));var k=f.length+t.length+M.length,A=k>1)+f+t+M+A.slice(k);break;default:t=A+f+t+M}return s(t)}return g=void 0===g?6:/[gprs]/.test(m)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g)),M.toString=function(){return t+""},M}return{format:f,formatPrefix:function(t,e){var n=f(((t=ng(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(nv(e)/3))),i=Math.pow(10,-r),o=nT[8+r/3];return function(t){return n(i*t)+o}}}}({thousands:",",grouping:[3],currency:["$",""]})).format,ts=ta.formatPrefix;let nk=new Date,nA=new Date;function nS(t,e,n,r){function i(e){return t(e=0==arguments.length?new Date:new Date(+e)),e}return i.floor=e=>(t(e=new Date(+e)),e),i.ceil=n=>(t(n=new Date(n-1)),e(n,1),t(n),n),i.round=t=>{let e=i(t),n=i.ceil(t);return t-e(e(t=new Date(+t),null==n?1:Math.floor(n)),t),i.range=(n,r,o)=>{let a;let u=[];if(n=i.ceil(n),o=null==o?1:Math.floor(o),!(n0))return u;do u.push(a=new Date(+n)),e(n,o),t(n);while(anS(e=>{if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)},(t,r)=>{if(t>=t){if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}}),n&&(i.count=(e,r)=>(nk.setTime(+e),nA.setTime(+r),t(nk),t(nA),Math.floor(n(nk,nA))),i.every=t=>isFinite(t=Math.floor(t))&&t>0?t>1?i.filter(r?e=>r(e)%t==0:e=>i.count(0,e)%t==0):i:null),i}let nZ=nS(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);nZ.every=t=>isFinite(t=Math.floor(t))&&t>0?t>1?nS(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):nZ:null,nZ.range;let nN=nS(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+1e3*e)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds());nN.range;let nE=nS(t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())},(t,e)=>{t.setTime(+t+6e4*e)},(t,e)=>(e-t)/6e4,t=>t.getMinutes());nE.range;let nC=nS(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+6e4*e)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes());nC.range;let n$=nS(t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())},(t,e)=>{t.setTime(+t+36e5*e)},(t,e)=>(e-t)/36e5,t=>t.getHours());n$.range;let nD=nS(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+36e5*e)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours());nD.range;let nO=nS(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1);nO.range;let nL=nS(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1);nL.range;let nU=nS(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5));function nj(t){return nS(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(t,e)=>{t.setDate(t.getDate()+7*e)},(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}nU.range;let nR=nj(0),nF=nj(1),nI=nj(2),nP=nj(3),nH=nj(4),nz=nj(5),nY=nj(6);function nq(t){return nS(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)},(t,e)=>(e-t)/6048e5)}nR.range,nF.range,nI.range,nP.range,nH.range,nz.range,nY.range;let nB=nq(0),nW=nq(1),nG=nq(2),nX=nq(3),nV=nq(4),nQ=nq(5),nJ=nq(6);nB.range,nW.range,nG.range,nX.range,nV.range,nQ.range,nJ.range;let nK=nS(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());nK.range;let n0=nS(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());n0.range;let n1=nS(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());n1.every=t=>isFinite(t=Math.floor(t))&&t>0?nS(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)}):null,n1.range;let n2=nS(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());function n3(t,e,n,r,i,o){let a=[[nN,1,1e3],[nN,5,5e3],[nN,15,15e3],[nN,30,3e4],[o,1,6e4],[o,5,3e5],[o,15,9e5],[o,30,18e5],[i,1,36e5],[i,3,108e5],[i,6,216e5],[i,12,432e5],[r,1,864e5],[r,2,1728e5],[n,1,6048e5],[e,1,2592e6],[e,3,7776e6],[t,1,31536e6]];function u(e,n,r){let i=Math.abs(n-e)/r,o=nn(([,,t])=>t).right(a,i);if(o===a.length)return t.every(e9(e/31536e6,n/31536e6,r));if(0===o)return nZ.every(Math.max(e9(e,n,r),1));let[u,s]=a[i/a[o-1][2]isFinite(t=Math.floor(t))&&t>0?nS(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)}):null,n2.range;let[n5,n4]=n3(n2,n0,nB,nU,nD,nC),[n6,n8]=n3(n1,nK,nR,nO,n$,nE);function n7(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function n9(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function rt(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}var re={"-":"",_:" ",0:"0"},rn=/^\s*\d+/,rr=/^%/,ri=/[\\^$*+?|[\]().{}]/g;function ro(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o[t.toLowerCase(),e]))}function rc(t,e,n){var r=rn.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function rl(t,e,n){var r=rn.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function rh(t,e,n){var r=rn.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function rf(t,e,n){var r=rn.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function rp(t,e,n){var r=rn.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function rd(t,e,n){var r=rn.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function r_(t,e,n){var r=rn.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function rg(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function ry(t,e,n){var r=rn.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function rm(t,e,n){var r=rn.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function rv(t,e,n){var r=rn.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function rb(t,e,n){var r=rn.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function rx(t,e,n){var r=rn.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function rw(t,e,n){var r=rn.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function rM(t,e,n){var r=rn.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function rT(t,e,n){var r=rn.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function rk(t,e,n){var r=rn.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function rA(t,e,n){var r=rr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function rS(t,e,n){var r=rn.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function rZ(t,e,n){var r=rn.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function rN(t,e){return ro(t.getDate(),e,2)}function rE(t,e){return ro(t.getHours(),e,2)}function rC(t,e){return ro(t.getHours()%12||12,e,2)}function r$(t,e){return ro(1+nO.count(n1(t),t),e,3)}function rD(t,e){return ro(t.getMilliseconds(),e,3)}function rO(t,e){return rD(t,e)+"000"}function rL(t,e){return ro(t.getMonth()+1,e,2)}function rU(t,e){return ro(t.getMinutes(),e,2)}function rj(t,e){return ro(t.getSeconds(),e,2)}function rR(t){var e=t.getDay();return 0===e?7:e}function rF(t,e){return ro(nR.count(n1(t)-1,t),e,2)}function rI(t){var e=t.getDay();return e>=4||0===e?nH(t):nH.ceil(t)}function rP(t,e){return t=rI(t),ro(nH.count(n1(t),t)+(4===n1(t).getDay()),e,2)}function rH(t){return t.getDay()}function rz(t,e){return ro(nF.count(n1(t)-1,t),e,2)}function rY(t,e){return ro(t.getFullYear()%100,e,2)}function rq(t,e){return ro((t=rI(t)).getFullYear()%100,e,2)}function rB(t,e){return ro(t.getFullYear()%1e4,e,4)}function rW(t,e){var n=t.getDay();return ro((t=n>=4||0===n?nH(t):nH.ceil(t)).getFullYear()%1e4,e,4)}function rG(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+ro(e/60|0,"0",2)+ro(e%60,"0",2)}function rX(t,e){return ro(t.getUTCDate(),e,2)}function rV(t,e){return ro(t.getUTCHours(),e,2)}function rQ(t,e){return ro(t.getUTCHours()%12||12,e,2)}function rJ(t,e){return ro(1+nL.count(n2(t),t),e,3)}function rK(t,e){return ro(t.getUTCMilliseconds(),e,3)}function r0(t,e){return rK(t,e)+"000"}function r1(t,e){return ro(t.getUTCMonth()+1,e,2)}function r2(t,e){return ro(t.getUTCMinutes(),e,2)}function r3(t,e){return ro(t.getUTCSeconds(),e,2)}function r5(t){var e=t.getUTCDay();return 0===e?7:e}function r4(t,e){return ro(nB.count(n2(t)-1,t),e,2)}function r6(t){var e=t.getUTCDay();return e>=4||0===e?nV(t):nV.ceil(t)}function r8(t,e){return t=r6(t),ro(nV.count(n2(t),t)+(4===n2(t).getUTCDay()),e,2)}function r7(t){return t.getUTCDay()}function r9(t,e){return ro(nW.count(n2(t)-1,t),e,2)}function it(t,e){return ro(t.getUTCFullYear()%100,e,2)}function ie(t,e){return ro((t=r6(t)).getUTCFullYear()%100,e,2)}function ir(t,e){return ro(t.getUTCFullYear()%1e4,e,4)}function ii(t,e){var n=t.getUTCDay();return ro((t=n>=4||0===n?nV(t):nV.ceil(t)).getUTCFullYear()%1e4,e,4)}function io(){return"+0000"}function ia(){return"%"}function iu(t){return+t}function is(t){return Math.floor(+t/1e3)}function ic(t){return new Date(t)}function il(t){return t instanceof Date?+t:+new Date(+t)}function ih(){return eJ.apply((function t(e,n,r,i,o,a,u,s,c,l){var h=nd(),f=h.invert,p=h.domain,d=l(".%L"),_=l(":%S"),g=l("%I:%M"),y=l("%I %p"),m=l("%a %d"),v=l("%b %d"),b=l("%B"),x=l("%Y");function w(t){return(c(t)=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:iu,s:is,S:rj,u:rR,U:rF,V:rP,w:rH,W:rz,x:null,X:null,y:rY,Y:rB,Z:rG,"%":ia},b={a:function(t){return a[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return s[t.getUTCMonth()]},B:function(t){return u[t.getUTCMonth()]},c:null,d:rX,e:rX,f:r0,g:ie,G:ii,H:rV,I:rQ,j:rJ,L:rK,m:r1,M:r2,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:iu,s:is,S:r3,u:r5,U:r4,V:r8,w:r7,W:r9,x:null,X:null,y:it,Y:ir,Z:io,"%":ia},x={a:function(t,e,n){var r=p.exec(e.slice(n));return r?(t.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=f.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=m.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=_.exec(e.slice(n));return r?(t.m=g.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return T(t,e,n,r)},d:rv,e:rv,f:rk,g:r_,G:rd,H:rx,I:rx,j:rb,L:rT,m:rm,M:rw,p:function(t,e,n){var r=c.exec(e.slice(n));return r?(t.p=l.get(r[0].toLowerCase()),n+r[0].length):-1},q:ry,Q:rS,s:rZ,S:rM,u:rl,U:rh,V:rf,w:rc,W:rp,x:function(t,e,r){return T(t,n,e,r)},X:function(t,e,n){return T(t,r,e,n)},y:r_,Y:rd,Z:rg,"%":rA};function w(t,e){return function(n){var r,i,o,a=[],u=-1,s=0,c=t.length;for(n instanceof Date||(n=new Date(+n));++u53)return null;"w"in o||(o.w=1),"Z"in o?(r=(i=(r=n9(rt(o.y,0,1))).getUTCDay())>4||0===i?nW.ceil(r):nW(r),r=nL.offset(r,(o.V-1)*7),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(r=(i=(r=n7(rt(o.y,0,1))).getDay())>4||0===i?nF.ceil(r):nF(r),r=nO.offset(r,(o.V-1)*7),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),i="Z"in o?n9(rt(o.y,0,1)).getUTCDay():n7(rt(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,n9(o)):n7(o)}}function T(t,e,n,r){for(var i,o,a=0,u=e.length,s=n.length;a=s)return -1;if(37===(i=e.charCodeAt(a++))){if(!(o=x[(i=e.charAt(a++))in re?e.charAt(a++):i])||(r=o(t,n,r))<0)return -1}else if(i!=n.charCodeAt(r++))return -1}return r}return v.x=w(n,v),v.X=w(r,v),v.c=w(e,v),b.x=w(n,b),b.X=w(r,b),b.c=w(e,b),{format:function(t){var e=w(t+="",v);return e.toString=function(){return t},e},parse:function(t){var e=M(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=w(t+="",b);return e.toString=function(){return t},e},utcParse:function(t){var e=M(t+="",!0);return e.toString=function(){return t},e}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]})).format,tc.parse,tc.utcFormat,tc.utcParse;var ip=function(t){for(var e=t.length/6|0,n=Array(e),r=0;r=1?ik:t<=-1?-ik:Math.asin(t)}let iZ=Math.PI,iN=2*iZ,iE=iN-1e-6;function iC(t){this._+=t[0];for(let e=1,n=t.length;e=0))throw Error(`invalid digits: ${t}`);if(e>15)return iC;let n=10**e;return function(t){this._+=t[0];for(let e=1,r=t.length;e1e-6){if(Math.abs(l*u-s*c)>1e-6&&i){let f=n-o,p=r-a,d=u*u+s*s,_=Math.sqrt(d),g=Math.sqrt(h),y=i*Math.tan((iZ-Math.acos((d+h-(f*f+p*p))/(2*_*g)))/2),m=y/g,v=y/_;Math.abs(m-1)>1e-6&&this._append`L${t+m*c},${e+m*l}`,this._append`A${i},${i},0,0,${+(l*f>c*p)},${this._x1=t+v*u},${this._y1=e+v*s}`}else this._append`L${this._x1=t},${this._y1=e}`}}arc(t,e,n,r,i,o){if(t=+t,e=+e,o=!!o,(n=+n)<0)throw Error(`negative radius: ${n}`);let a=n*Math.cos(r),u=n*Math.sin(r),s=t+a,c=e+u,l=1^o,h=o?r-i:i-r;null===this._x1?this._append`M${s},${c}`:(Math.abs(this._x1-s)>1e-6||Math.abs(this._y1-c)>1e-6)&&this._append`L${s},${c}`,n&&(h<0&&(h=h%iN+iN),h>iE?this._append`A${n},${n},0,1,${l},${t-a},${e-u}A${n},${n},0,1,${l},${this._x1=s},${this._y1=c}`:h>1e-6&&this._append`A${n},${n},0,${+(h>=iZ)},${l},${this._x1=t+n*Math.cos(i)},${this._y1=e+n*Math.sin(i)}`)}rect(t,e,n,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}}function iD(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(null==n)e=null;else{let t=Math.floor(n);if(!(t>=0))throw RangeError(`invalid digits: ${n}`);e=t}return t},()=>new i$(e)}function iO(t){return t.innerRadius}function iL(t){return t.outerRadius}function iU(t){return t.startAngle}function ij(t){return t.endAngle}function iR(t){return t&&t.padAngle}function iF(t,e,n,r,i,o,a){var u=t-n,s=e-r,c=(a?o:-o)/iM(u*u+s*s),l=c*s,h=-c*u,f=t+l,p=e+h,d=n+l,_=r+h,g=(f+d)/2,y=(p+_)/2,m=d-f,v=_-p,b=m*m+v*v,x=i-o,w=f*_-d*p,M=(v<0?-1:1)*iM(ib(0,x*x*b-w*w)),T=(w*v-m*M)/b,k=(-w*m-v*M)/b,A=(w*v+m*M)/b,S=(-w*m+v*M)/b,Z=T-g,N=k-y,E=A-g,C=S-y;return Z*Z+N*N>E*E+C*C&&(T=A,k=S),{cx:T,cy:k,x01:-l,y01:-h,x11:T*(i/x-1),y11:k*(i/x-1)}}function iI(){var t=iO,e=iL,n=ig(0),r=null,i=iU,o=ij,a=iR,u=null,s=iD(c);function c(){var c,l,h=+t.apply(this,arguments),f=+e.apply(this,arguments),p=i.apply(this,arguments)-ik,d=o.apply(this,arguments)-ik,_=iy(d-p),g=d>p;if(u||(u=c=s()),f1e-12){if(_>iA-1e-12)u.moveTo(f*iv(p),f*iw(p)),u.arc(0,0,f,p,d,!g),h>1e-12&&(u.moveTo(h*iv(d),h*iw(d)),u.arc(0,0,h,d,p,g));else{var y,m,v=p,b=d,x=p,w=d,M=_,T=_,k=a.apply(this,arguments)/2,A=k>1e-12&&(r?+r.apply(this,arguments):iM(h*h+f*f)),S=ix(iy(f-h)/2,+n.apply(this,arguments)),Z=S,N=S;if(A>1e-12){var E=iS(A/h*iw(k)),C=iS(A/f*iw(k));(M-=2*E)>1e-12?(E*=g?1:-1,x+=E,w-=E):(M=0,x=w=(p+d)/2),(T-=2*C)>1e-12?(C*=g?1:-1,v+=C,b-=C):(T=0,v=b=(p+d)/2)}var $=f*iv(v),D=f*iw(v),O=h*iv(w),L=h*iw(w);if(S>1e-12){var U,j=f*iv(b),R=f*iw(b),F=h*iv(x),I=h*iw(x);if(_1?0:P<-1?iT:Math.acos(P))/2),W=iM(U[0]*U[0]+U[1]*U[1]);Z=ix(S,(h-W)/(B-1)),N=ix(S,(f-W)/(B+1))}else Z=N=0}}T>1e-12?N>1e-12?(y=iF(F,I,$,D,f,N,g),m=iF(j,R,O,L,f,N,g),u.moveTo(y.cx+y.x01,y.cy+y.y01),N1e-12&&M>1e-12?Z>1e-12?(y=iF(O,L,j,R,h,-Z,g),m=iF($,D,F,I,h,-Z,g),u.lineTo(y.cx+y.x01,y.cy+y.y01),Zt?1:e>=t?0:NaN}function iG(t){return t}function iX(){var t=iG,e=iW,n=null,r=ig(0),i=ig(iA),o=ig(0);function a(a){var u,s,c,l,h,f=(a=iP(a)).length,p=0,d=Array(f),_=Array(f),g=+r.apply(this,arguments),y=Math.min(iA,Math.max(-iA,i.apply(this,arguments)-g)),m=Math.min(Math.abs(y)/f,o.apply(this,arguments)),v=m*(y<0?-1:1);for(u=0;u0&&(p+=h);for(null!=e?d.sort(function(t,n){return e(_[t],_[n])}):null!=n&&d.sort(function(t,e){return n(a[t],a[e])}),u=0,c=p?(y-f*v)/p:0;u0?h*c:0)+v,_[s]={data:a[s],index:u,value:h,startAngle:g,endAngle:l,padAngle:m};return _}return a.value=function(e){return arguments.length?(t="function"==typeof e?e:ig(+e),a):t},a.sortValues=function(t){return arguments.length?(e=t,n=null,a):e},a.sort=function(t){return arguments.length?(n=t,e=null,a):n},a.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:ig(+t),a):r},a.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:ig(+t),a):i},a.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:ig(+t),a):o},a}function iV(){}function iQ(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function iJ(t){this._context=t}function iK(t){return new iJ(t)}function i0(t){this._context=t}function i1(t){return new i0(t)}function i2(t){this._context=t}function i3(t){return new i2(t)}i$.prototype,Array.prototype.slice,iH.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}},iJ.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:iQ(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:iQ(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},i0.prototype={areaStart:iV,areaEnd:iV,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:iQ(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},i2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:iQ(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};class i5{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function i4(t){return new i5(t,!0)}function i6(t){return new i5(t,!1)}function i8(t,e){this._basis=new iJ(t),this._beta=e}i8.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],o=e[0],a=t[n]-i,u=e[n]-o,s=-1;++s<=n;)r=s/n,this._basis.point(this._beta*t[s]+(1-this._beta)*(i+r*a),this._beta*e[s]+(1-this._beta)*(o+r*u));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var i7=function t(e){function n(t){return 1===e?new iJ(t):new i8(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function i9(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function ot(t,e){this._context=t,this._k=(1-e)/6}ot.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:i9(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:i9(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var oe=function t(e){function n(t){return new ot(t,e)}return n.tension=function(e){return t(+e)},n}(0);function on(t,e){this._context=t,this._k=(1-e)/6}on.prototype={areaStart:iV,areaEnd:iV,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:i9(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var or=function t(e){function n(t){return new on(t,e)}return n.tension=function(e){return t(+e)},n}(0);function oi(t,e){this._context=t,this._k=(1-e)/6}oi.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:i9(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var oo=function t(e){function n(t){return new oi(t,e)}return n.tension=function(e){return t(+e)},n}(0);function oa(t,e,n){var r=t._x1,i=t._y1,o=t._x2,a=t._y2;if(t._l01_a>1e-12){var u=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,s=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*u-t._x0*t._l12_2a+t._x2*t._l01_2a)/s,i=(i*u-t._y0*t._l12_2a+t._y2*t._l01_2a)/s}if(t._l23_a>1e-12){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*c+t._x1*t._l23_2a-e*t._l12_2a)/l,a=(a*c+t._y1*t._l23_2a-n*t._l12_2a)/l}t._context.bezierCurveTo(r,i,o,a,t._x2,t._y2)}function ou(t,e){this._context=t,this._alpha=e}ou.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:oa(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var os=function t(e){function n(t){return e?new ou(t,e):new ot(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function oc(t,e){this._context=t,this._alpha=e}oc.prototype={areaStart:iV,areaEnd:iV,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:oa(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var ol=function t(e){function n(t){return e?new oc(t,e):new on(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function oh(t,e){this._context=t,this._alpha=e}oh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:oa(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var of=function t(e){function n(t){return e?new oh(t,e):new oi(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function op(t){this._context=t}function od(t){return new op(t)}function o_(t,e,n){var r=t._x1-t._x0,i=e-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),a=(n-t._y1)/(i||r<0&&-0);return((o<0?-1:1)+(a<0?-1:1))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs((o*i+a*r)/(r+i)))||0}function og(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function oy(t,e,n){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,u=(o-r)/3;t._context.bezierCurveTo(r+u,i+u*e,o-u,a-u*n,o,a)}function om(t){this._context=t}function ov(t){this._context=new ob(t)}function ob(t){this._context=t}function ox(t){return new om(t)}function ow(t){return new ov(t)}function oM(t){this._context=t}function oT(t){var e,n,r=t.length-1,i=Array(r),o=Array(r),a=Array(r);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(a[e]-i[e+1])/o[e];for(e=0,o[r-1]=(t[r]+i[r-1])/2;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}},oE.prototype={constructor:oE,scale:function(t){return 1===t?this:new oE(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new oE(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},new oE(1,0,0),oE.prototype},1883:function(t,e,n){"use strict";n.d(e,{Z:function(){return u}});var r=n(1691),i=n(2142);class o{constructor(){this.type=i.w.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=i.w.ALL}is(t){return this.type===t}}class a{constructor(t,e){this.color=e,this.changed=!1,this.data=t,this.type=new o}set(t,e){return this.color=e,this.changed=!1,this.data=t,this.type.type=i.w.ALL,this}_ensureHSL(){let t=this.data,{h:e,s:n,l:i}=t;void 0===e&&(t.h=r.Z.channel.rgb2hsl(t,"h")),void 0===n&&(t.s=r.Z.channel.rgb2hsl(t,"s")),void 0===i&&(t.l=r.Z.channel.rgb2hsl(t,"l"))}_ensureRGB(){let t=this.data,{r:e,g:n,b:i}=t;void 0===e&&(t.r=r.Z.channel.hsl2rgb(t,"r")),void 0===n&&(t.g=r.Z.channel.hsl2rgb(t,"g")),void 0===i&&(t.b=r.Z.channel.hsl2rgb(t,"b"))}get r(){let t=this.data,e=t.r;return this.type.is(i.w.HSL)||void 0===e?(this._ensureHSL(),r.Z.channel.hsl2rgb(t,"r")):e}get g(){let t=this.data,e=t.g;return this.type.is(i.w.HSL)||void 0===e?(this._ensureHSL(),r.Z.channel.hsl2rgb(t,"g")):e}get b(){let t=this.data,e=t.b;return this.type.is(i.w.HSL)||void 0===e?(this._ensureHSL(),r.Z.channel.hsl2rgb(t,"b")):e}get h(){let t=this.data,e=t.h;return this.type.is(i.w.RGB)||void 0===e?(this._ensureRGB(),r.Z.channel.rgb2hsl(t,"h")):e}get s(){let t=this.data,e=t.s;return this.type.is(i.w.RGB)||void 0===e?(this._ensureRGB(),r.Z.channel.rgb2hsl(t,"s")):e}get l(){let t=this.data,e=t.l;return this.type.is(i.w.RGB)||void 0===e?(this._ensureRGB(),r.Z.channel.rgb2hsl(t,"l")):e}get a(){return this.data.a}set r(t){this.type.set(i.w.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(i.w.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(i.w.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(i.w.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(i.w.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(i.w.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}var u=new a({r:0,g:0,b:0,a:0},"transparent")},1610:function(t,e,n){"use strict";n.d(e,{Z:function(){return l}});var r=n(1883),i=n(2142);let o={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(35!==t.charCodeAt(0))return;let e=t.match(o.re);if(!e)return;let n=e[1],i=parseInt(n,16),a=n.length,u=a%4==0,s=a>4,c=s?1:17,l=s?8:4,h=u?0:-1,f=s?255:15;return r.Z.set({r:(i>>l*(h+3)&f)*c,g:(i>>l*(h+2)&f)*c,b:(i>>l*(h+1)&f)*c,a:u?(i&f)*c/255:1},t)},stringify:t=>{let{r:e,g:n,b:r,a:o}=t;return o<1?`#${i.Q[Math.round(e)]}${i.Q[Math.round(n)]}${i.Q[Math.round(r)]}${i.Q[Math.round(255*o)]}`:`#${i.Q[Math.round(e)]}${i.Q[Math.round(n)]}${i.Q[Math.round(r)]}`}};var a=n(1691);let u={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{let e=t.match(u.hueRe);if(e){let[,t,n]=e;switch(n){case"grad":return a.Z.channel.clamp.h(.9*parseFloat(t));case"rad":return a.Z.channel.clamp.h(180*parseFloat(t)/Math.PI);case"turn":return a.Z.channel.clamp.h(360*parseFloat(t))}}return a.Z.channel.clamp.h(parseFloat(t))},parse:t=>{let e=t.charCodeAt(0);if(104!==e&&72!==e)return;let n=t.match(u.re);if(!n)return;let[,i,o,s,c,l]=n;return r.Z.set({h:u._hue2deg(i),s:a.Z.channel.clamp.s(parseFloat(o)),l:a.Z.channel.clamp.l(parseFloat(s)),a:c?a.Z.channel.clamp.a(l?parseFloat(c)/100:parseFloat(c)):1},t)},stringify:t=>{let{h:e,s:n,l:r,a:i}=t;return i<1?`hsla(${a.Z.lang.round(e)}, ${a.Z.lang.round(n)}%, ${a.Z.lang.round(r)}%, ${i})`:`hsl(${a.Z.lang.round(e)}, ${a.Z.lang.round(n)}%, ${a.Z.lang.round(r)}%)`}},s={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();let e=s.colors[t];if(e)return o.parse(e)},stringify:t=>{let e=o.stringify(t);for(let t in s.colors)if(s.colors[t]===e)return t}},c={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{let e=t.charCodeAt(0);if(114!==e&&82!==e)return;let n=t.match(c.re);if(!n)return;let[,i,o,u,s,l,h,f,p]=n;return r.Z.set({r:a.Z.channel.clamp.r(o?2.55*parseFloat(i):parseFloat(i)),g:a.Z.channel.clamp.g(s?2.55*parseFloat(u):parseFloat(u)),b:a.Z.channel.clamp.b(h?2.55*parseFloat(l):parseFloat(l)),a:f?a.Z.channel.clamp.a(p?parseFloat(f)/100:parseFloat(f)):1},t)},stringify:t=>{let{r:e,g:n,b:r,a:i}=t;return i<1?`rgba(${a.Z.lang.round(e)}, ${a.Z.lang.round(n)}, ${a.Z.lang.round(r)}, ${a.Z.lang.round(i)})`:`rgb(${a.Z.lang.round(e)}, ${a.Z.lang.round(n)}, ${a.Z.lang.round(r)})`}};var l={format:{keyword:s,hex:o,rgb:c,rgba:c,hsl:u,hsla:u},parse:t=>{if("string"!=typeof t)return t;let e=o.parse(t)||c.parse(t)||u.parse(t)||s.parse(t);if(e)return e;throw Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(i.w.HSL)||void 0===t.data.r?u.stringify(t):!(t.a<1)&&Number.isInteger(t.r)&&Number.isInteger(t.g)&&Number.isInteger(t.b)?o.stringify(t):c.stringify(t)}},2142:function(t,e,n){"use strict";n.d(e,{Q:function(){return i},w:function(){return o}});var r=n(1691);let i={};for(let t=0;t<=255;t++)i[t]=r.Z.unit.dec2hex(t);let o={ALL:0,RGB:1,HSL:2}},3314:function(t,e,n){"use strict";var r=n(1610),i=n(3438);e.Z=(t,e)=>{let n=r.Z.parse(t),o={};for(let t in e)e[t]&&(o[t]=n[t]+e[t]);return(0,i.Z)(t,o)}},6174:function(t,e,n){"use strict";var r=n(1691),i=n(1610);e.Z=(t,e,n)=>{let o=i.Z.parse(t),a=o[e],u=r.Z.channel.clamp[e](a+n);return a!==u&&(o[e]=u),i.Z.stringify(o)}},3438:function(t,e,n){"use strict";var r=n(1691),i=n(1610);e.Z=(t,e)=>{let n=i.Z.parse(t);for(let t in e)n[t]=r.Z.channel.clamp[t](e[t]);return i.Z.stringify(n)}},4528:function(t,e,n){"use strict";var r=n(6174);e.Z=(t,e)=>(0,r.Z)(t,"l",-e)},5835:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(1610),i=n(1117),o=(t,e,n=50)=>{let{r:o,g:a,b:u,a:s}=r.Z.parse(t),{r:c,g:l,b:h,a:f}=r.Z.parse(e),p=n/100,d=2*p-1,_=s-f,g=((d*_==-1?d:(d+_)/(1+d*_))+1)/2,y=1-g;return(0,i.Z)(o*g+c*y,a*g+l*y,u*g+h*y,s*p+f*(1-p))},a=(t,e=100)=>{let n=r.Z.parse(t);return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,o(n,t,e)}},1619:function(t,e,n){"use strict";n.d(e,{Z:function(){return u}});var r=n(1691),i=n(1610),o=t=>{let{r:e,g:n,b:o}=i.Z.parse(t),a=.2126*r.Z.channel.toLinear(e)+.7152*r.Z.channel.toLinear(n)+.0722*r.Z.channel.toLinear(o);return r.Z.lang.round(a)},a=t=>o(t)>=.5,u=t=>!a(t)},2281:function(t,e,n){"use strict";var r=n(6174);e.Z=(t,e)=>(0,r.Z)(t,"l",e)},1117:function(t,e,n){"use strict";var r=n(1691),i=n(1883),o=n(1610),a=n(3438);e.Z=(t,e,n=0,u=1)=>{if("number"!=typeof t)return(0,a.Z)(t,{a:e});let s=i.Z.set({r:r.Z.channel.clamp.r(t),g:r.Z.channel.clamp.g(e),b:r.Z.channel.clamp.b(n),a:r.Z.channel.clamp.a(u)});return o.Z.stringify(s)}},1691:function(t,e,n){"use strict";n.d(e,{Z:function(){return i}});let r={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6)?t+(e-t)*6*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t,hsl2rgb:({h:t,s:e,l:n},i)=>{if(!e)return 2.55*n;t/=360,e/=100;let o=(n/=100)<.5?n*(1+e):n+e-n*e,a=2*n-o;switch(i){case"r":return 255*r.hue2rgb(a,o,t+1/3);case"g":return 255*r.hue2rgb(a,o,t);case"b":return 255*r.hue2rgb(a,o,t-1/3)}},rgb2hsl:({r:t,g:e,b:n},r)=>{let i=Math.max(t/=255,e/=255,n/=255),o=Math.min(t,e,n),a=(i+o)/2;if("l"===r)return 100*a;if(i===o)return 0;let u=i-o;if("s"===r)return 100*(a>.5?u/(2-i-o):u/(i+o));switch(i){case t:return((e-n)/u+(ee>n?Math.min(e,Math.max(n,t)):Math.min(n,Math.max(e,t)),round:t=>Math.round(1e10*t)/1e10},unit:{dec2hex:t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}}}},8644:function(t,e,n){"use strict";n.d(e,{Z:function(){return u}});var r=n(5002),i=function(t,e){for(var n=t.length;n--;)if((0,r.Z)(t[n][0],e))return n;return -1},o=Array.prototype.splice;function a(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1},a.prototype.set=function(t,e){var n=this.__data__,r=i(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};var u=a},5080:function(t,e,n){"use strict";var r=n(2149),i=n(1917),o=(0,r.Z)(i.Z,"Map");e.Z=o},9934:function(t,e,n){"use strict";n.d(e,{Z:function(){return f}});var r=(0,n(2149).Z)(Object,"create"),i=Object.prototype.hasOwnProperty,o=Object.prototype.hasOwnProperty;function a(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t0){if(++r>=800)return arguments[0]}else r=0;return s.apply(void 0,arguments)})},7947:function(t,e){"use strict";var n=Function.prototype.toString;e.Z=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},547:function(t,e){"use strict";e.Z=function(t){return function(){return t}}},5002:function(t,e){"use strict";e.Z=function(t,e){return t===e||t!=t&&e!=e}},5165:function(t,e){"use strict";e.Z=function(t){return t}},67:function(t,e,n){"use strict";n.d(e,{Z:function(){return c}});var r=n(5378),i=n(7977),o=function(t){return(0,i.Z)(t)&&"[object Arguments]"==(0,r.Z)(t)},a=Object.prototype,u=a.hasOwnProperty,s=a.propertyIsEnumerable,c=o(function(){return arguments}())?o:function(t){return(0,i.Z)(t)&&u.call(t,"callee")&&!s.call(t,"callee")}},4837:function(t,e){"use strict";var n=Array.isArray;e.Z=n},8465:function(t,e,n){"use strict";var r=n(7124),i=n(6643);e.Z=function(t){return null!=t&&(0,i.Z)(t.length)&&!(0,r.Z)(t)}},4236:function(t,e,n){"use strict";var r=n(8465),i=n(7977);e.Z=function(t){return(0,i.Z)(t)&&(0,r.Z)(t)}},215:function(t,e,n){"use strict";n.d(e,{Z:function(){return u}});var r=n(1917),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=i&&"object"==typeof module&&module&&!module.nodeType&&module,a=o&&o.exports===i?r.Z.Buffer:void 0,u=(a?a.isBuffer:void 0)||function(){return!1}},9003:function(t,e,n){"use strict";var r=n(6986),i=n(8318),o=n(67),a=n(4837),u=n(8465),s=n(215),c=n(5933),l=n(3881),h=Object.prototype.hasOwnProperty;e.Z=function(t){if(null==t)return!0;if((0,u.Z)(t)&&((0,a.Z)(t)||"string"==typeof t||"function"==typeof t.splice||(0,s.Z)(t)||(0,l.Z)(t)||(0,o.Z)(t)))return!t.length;var e=(0,i.Z)(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if((0,c.Z)(t))return!(0,r.Z)(t).length;for(var n in t)if(h.call(t,n))return!1;return!0}},7124:function(t,e,n){"use strict";var r=n(5378),i=n(1654);e.Z=function(t){if(!(0,i.Z)(t))return!1;var e=(0,r.Z)(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},6643:function(t,e){"use strict";e.Z=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},1654:function(t,e){"use strict";e.Z=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},7977:function(t,e){"use strict";e.Z=function(t){return null!=t&&"object"==typeof t}},87:function(t,e,n){"use strict";var r=n(5378),i=n(9879),o=n(7977),a=Object.prototype,u=Function.prototype.toString,s=a.hasOwnProperty,c=u.call(Object);e.Z=function(t){if(!(0,o.Z)(t)||"[object Object]"!=(0,r.Z)(t))return!1;var e=(0,i.Z)(t);if(null===e)return!0;var n=s.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&u.call(n)==c}},3881:function(t,e,n){"use strict";n.d(e,{Z:function(){return l}});var r=n(5378),i=n(6643),o=n(7977),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1;var u=n(7042),s=n(1508),c=s.Z&&s.Z.isTypedArray,l=c?(0,u.Z)(c):function(t){return(0,o.Z)(t)&&(0,i.Z)(t.length)&&!!a[(0,r.Z)(t)]}},6930:function(t,e,n){"use strict";n.d(e,{Z:function(){return l}});var r=n(5974),i=n(1654),o=n(5933),a=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e},u=Object.prototype.hasOwnProperty,s=function(t){if(!(0,i.Z)(t))return a(t);var e=(0,o.Z)(t),n=[];for(var r in t)"constructor"==r&&(e||!u.call(t,r))||n.push(r);return n},c=n(8465),l=function(t){return(0,c.Z)(t)?(0,r.Z)(t,!0):s(t)}},6833:function(t,e,n){"use strict";var r=n(9934);function i(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(i.Cache||r.Z),n}i.Cache=r.Z,e.Z=i},7826:function(t,e,n){"use strict";n.d(e,{Z:function(){return Z}});var r,i=n(9440),o=n(9510),a=n(5002),u=function(t,e,n){(void 0===n||(0,a.Z)(t[e],n))&&(void 0!==n||e in t)||(0,o.Z)(t,e,n)},s=n(8042),c=n(1854),l=n(2810),h=n(5901),f=n(2910),p=n(67),d=n(4837),_=n(4236),g=n(215),y=n(7124),m=n(1654),v=n(87),b=n(3881),x=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]},w=n(146),M=n(6930),T=function(t,e,n,r,i,o,a){var s=x(t,n),T=x(e,n),k=a.get(T);if(k){u(t,n,k);return}var A=o?o(s,T,n+"",t,e,a):void 0,S=void 0===A;if(S){var Z=(0,d.Z)(T),N=!Z&&(0,g.Z)(T),E=!Z&&!N&&(0,b.Z)(T);(A=T,Z||N||E)?(0,d.Z)(s)?A=s:(0,_.Z)(s)?A=(0,h.Z)(s):N?(S=!1,A=(0,c.Z)(T,!0)):E?(S=!1,A=(0,l.Z)(T,!0)):A=[]:(0,v.Z)(T)||(0,p.Z)(T)?(A=s,(0,p.Z)(s))?A=(0,w.Z)(s,(0,M.Z)(s)):(!(0,m.Z)(s)||(0,y.Z)(s))&&(A=(0,f.Z)(T)):S=!1}S&&(a.set(T,A),i(A,T,r,o,a),a.delete(T)),u(t,n,A)},k=function t(e,n,r,o,a){e!==n&&(0,s.Z)(n,function(s,c){if(a||(a=new i.Z),(0,m.Z)(s))T(e,n,c,r,t,o,a);else{var l=o?o(x(e,c),s,c+"",e,n,a):void 0;void 0===l&&(l=s),u(e,c,l)}},M.Z)},A=n(8702),S=n(2834),Z=(r=function(t,e,n){k(t,e,n)},(0,A.Z)(function(t,e){var n=-1,i=e.length,o=i>1?e[i-1]:void 0,a=i>2?e[2]:void 0;for(o=r.length>3&&"function"==typeof o?(i--,o):void 0,a&&(0,S.Z)(e[0],e[1],a)&&(o=i<3?void 0:o,i=1),t=Object(t);++n0&&(0,i.to)(E)-m&&(0,i.R3)(b>32?s(E+";",c,a,m-1):s((0,i.gx)(E," ","")+";",c,a,m-2),d);break;case 59:E+=";";default:if((0,i.R3)(N=u(E,n,a,g,y,l,p,A,S=[],Z=[],m),h),123===k){if(0===y)t(E,n,N,N,S,h,m,p,Z);else switch(99===v&&110===(0,i.uO)(E,3)?100:v){case 100:case 108:case 109:case 115:t(e,N,N,c&&(0,i.R3)(u(e,N,N,0,0,l,p,A,l,S=[],m),Z),l,Z,m,p,c?S:Z);break;default:t(E,N,N,N,[""],Z,0,p,Z)}}}g=y=b=0,w=T=1,A=E="",m=f;break;case 58:m=1+(0,i.to)(E),b=x;default:if(w<1){if(123==k)--w;else if(125==k&&0==w++&&125==(0,o.mp)())continue}switch(E+=(0,i.Dp)(k),k*w){case 38:T=y>0?1:(E+="\f",-1);break;case 44:p[g++]=((0,i.to)(E)-1)*T,T=1;break;case 64:45===(0,o.fj)()&&(E+=(0,o.iF)((0,o.lp)())),v=(0,o.fj)(),y=m=(0,i.to)(A=E+=(0,o.QU)((0,o.Ud)())),k++;break;case 45:45===x&&2==(0,i.to)(E)&&(w=0)}}return h}("",null,null,null,[""],t=(0,o.un)(t),0,[0],t))}function u(t,e,n,a,u,s,c,l,h,f,p){for(var d=u-1,_=0===u?s:[""],g=(0,i.Ei)(_),y=0,m=0,v=0;y0?_[b]+" "+x:(0,i.gx)(x,/&\f/g,_[b])))&&(h[v++]=w);return(0,o.dH)(t,e,n,0===u?r.Fr:l,h,f,p)}function s(t,e,n,a){return(0,o.dH)(t,e,n,r.h5,(0,i.tb)(t,0,a),(0,i.tb)(t,a+1,-1),a)}},211:function(t,e,n){"use strict";n.d(e,{P:function(){return a},q:function(){return o}});var r=n(7563),i=n(6686);function o(t,e){for(var n="",r=(0,i.Ei)(t),o=0;o0?(0,r.uO)(c,--u):0,o--,10===s&&(o=1,i--),s}function d(){return s=u2||m(s)>3?"":" "}function M(t,e){for(;--e&&d()&&!(s<48)&&!(s>102)&&(!(s>57)||!(s<65))&&(!(s>70)||!(s<97)););return y(t,u+(e<6&&32==_()&&32==d()))}function T(t,e){for(;d();)if(t+s===57)break;else if(t+s===84&&47===_())break;return"/*"+y(e,u-1)+"*"+(0,r.Dp)(47===t?t:d())}function k(t){for(;!m(_());)d();return y(t,u)}},6686:function(t,e,n){"use strict";n.d(e,{$e:function(){return g},Cw:function(){return l},Dp:function(){return i},EQ:function(){return s},Ei:function(){return d},R3:function(){return _},Wn:function(){return r},f0:function(){return o},fy:function(){return u},gx:function(){return c},tb:function(){return f},to:function(){return p},uO:function(){return h},vp:function(){return a}});var r=Math.abs,i=String.fromCharCode,o=Object.assign;function a(t,e){return 45^h(t,0)?(((e<<2^h(t,0))<<2^h(t,1))<<2^h(t,2))<<2^h(t,3):0}function u(t){return t.trim()}function s(t,e){return(t=e.exec(t))?t[0]:t}function c(t,e,n){return t.replace(e,n)}function l(t,e){return t.indexOf(e)}function h(t,e){return 0|t.charCodeAt(e)}function f(t,e,n){return t.slice(e,n)}function p(t){return t.length}function d(t){return t.length}function _(t,e){return e.push(t),t}function g(t,e){return t.map(e).join("")}}}]); \ No newline at end of file diff --git a/_next/static/chunks/2057.730be48c0ee48d45.js b/_next/static/chunks/2057.730be48c0ee48d45.js new file mode 100644 index 0000000..bc862d6 --- /dev/null +++ b/_next/static/chunks/2057.730be48c0ee48d45.js @@ -0,0 +1,5 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2057],{2057:function(t,e,a){a.d(e,{diagram:function(){return q}});var n,i=a(1835),s=a(4218),r=a(3789),l=a(6574);a(7484),a(7856);var o=function(){var t=function(t,e,a,n){for(a=a||{},n=t.length;n--;a[t[n]]=e);return a},e=[1,24],a=[1,25],n=[1,26],i=[1,27],s=[1,28],r=[1,63],l=[1,64],o=[1,65],h=[1,66],d=[1,67],u=[1,68],p=[1,69],y=[1,29],f=[1,30],b=[1,31],g=[1,32],x=[1,33],_=[1,34],m=[1,35],E=[1,36],A=[1,37],S=[1,38],C=[1,39],k=[1,40],O=[1,41],w=[1,42],v=[1,43],T=[1,44],R=[1,45],D=[1,46],N=[1,47],P=[1,48],M=[1,50],j=[1,51],B=[1,52],Y=[1,53],L=[1,54],I=[1,55],U=[1,56],F=[1,57],X=[1,58],z=[1,59],Q=[1,60],W=[14,42],$=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],q=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],V=[1,82],H=[1,83],G=[1,84],K=[1,85],J=[12,14,42],Z=[12,14,33,42],tt=[12,14,33,42,76,77,79,80],te=[12,33],ta=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],tn={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:function(t,e,a,n,i,s,r){var l=s.length-1;switch(i){case 3:n.setDirection("TB");break;case 4:n.setDirection("BT");break;case 5:n.setDirection("RL");break;case 6:n.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:n.setC4Type(s[l-3]);break;case 19:n.setTitle(s[l].substring(6)),this.$=s[l].substring(6);break;case 20:n.setAccDescription(s[l].substring(15)),this.$=s[l].substring(15);break;case 21:this.$=s[l].trim(),n.setTitle(this.$);break;case 22:case 23:this.$=s[l].trim(),n.setAccDescription(this.$);break;case 28:case 29:s[l].splice(2,0,"ENTERPRISE"),n.addPersonOrSystemBoundary(...s[l]),this.$=s[l];break;case 30:n.addPersonOrSystemBoundary(...s[l]),this.$=s[l];break;case 31:s[l].splice(2,0,"CONTAINER"),n.addContainerBoundary(...s[l]),this.$=s[l];break;case 32:n.addDeploymentNode("node",...s[l]),this.$=s[l];break;case 33:n.addDeploymentNode("nodeL",...s[l]),this.$=s[l];break;case 34:n.addDeploymentNode("nodeR",...s[l]),this.$=s[l];break;case 35:n.popBoundaryParseStack();break;case 39:n.addPersonOrSystem("person",...s[l]),this.$=s[l];break;case 40:n.addPersonOrSystem("external_person",...s[l]),this.$=s[l];break;case 41:n.addPersonOrSystem("system",...s[l]),this.$=s[l];break;case 42:n.addPersonOrSystem("system_db",...s[l]),this.$=s[l];break;case 43:n.addPersonOrSystem("system_queue",...s[l]),this.$=s[l];break;case 44:n.addPersonOrSystem("external_system",...s[l]),this.$=s[l];break;case 45:n.addPersonOrSystem("external_system_db",...s[l]),this.$=s[l];break;case 46:n.addPersonOrSystem("external_system_queue",...s[l]),this.$=s[l];break;case 47:n.addContainer("container",...s[l]),this.$=s[l];break;case 48:n.addContainer("container_db",...s[l]),this.$=s[l];break;case 49:n.addContainer("container_queue",...s[l]),this.$=s[l];break;case 50:n.addContainer("external_container",...s[l]),this.$=s[l];break;case 51:n.addContainer("external_container_db",...s[l]),this.$=s[l];break;case 52:n.addContainer("external_container_queue",...s[l]),this.$=s[l];break;case 53:n.addComponent("component",...s[l]),this.$=s[l];break;case 54:n.addComponent("component_db",...s[l]),this.$=s[l];break;case 55:n.addComponent("component_queue",...s[l]),this.$=s[l];break;case 56:n.addComponent("external_component",...s[l]),this.$=s[l];break;case 57:n.addComponent("external_component_db",...s[l]),this.$=s[l];break;case 58:n.addComponent("external_component_queue",...s[l]),this.$=s[l];break;case 60:n.addRel("rel",...s[l]),this.$=s[l];break;case 61:n.addRel("birel",...s[l]),this.$=s[l];break;case 62:n.addRel("rel_u",...s[l]),this.$=s[l];break;case 63:n.addRel("rel_d",...s[l]),this.$=s[l];break;case 64:n.addRel("rel_l",...s[l]),this.$=s[l];break;case 65:n.addRel("rel_r",...s[l]),this.$=s[l];break;case 66:n.addRel("rel_b",...s[l]),this.$=s[l];break;case 67:s[l].splice(0,1),n.addRel("rel",...s[l]),this.$=s[l];break;case 68:n.updateElStyle("update_el_style",...s[l]),this.$=s[l];break;case 69:n.updateRelStyle("update_rel_style",...s[l]),this.$=s[l];break;case 70:n.updateLayoutConfig("update_layout_config",...s[l]),this.$=s[l];break;case 71:this.$=[s[l]];break;case 72:s[l].unshift(s[l-1]),this.$=s[l];break;case 73:case 75:this.$=s[l].trim();break;case 74:let o={};o[s[l-1].trim()]=s[l].trim(),this.$=o;break;case 76:this.$=""}},table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:r,36:l,37:o,38:h,39:d,40:u,41:p,43:23,44:y,45:f,46:b,47:g,48:x,49:_,50:m,51:E,52:A,53:S,54:C,55:k,56:O,57:w,58:v,59:T,60:R,61:D,62:N,63:P,64:M,65:j,66:B,67:Y,68:L,69:I,70:U,71:F,72:X,73:z,74:Q},{13:70,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:r,36:l,37:o,38:h,39:d,40:u,41:p,43:23,44:y,45:f,46:b,47:g,48:x,49:_,50:m,51:E,52:A,53:S,54:C,55:k,56:O,57:w,58:v,59:T,60:R,61:D,62:N,63:P,64:M,65:j,66:B,67:Y,68:L,69:I,70:U,71:F,72:X,73:z,74:Q},{13:71,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:r,36:l,37:o,38:h,39:d,40:u,41:p,43:23,44:y,45:f,46:b,47:g,48:x,49:_,50:m,51:E,52:A,53:S,54:C,55:k,56:O,57:w,58:v,59:T,60:R,61:D,62:N,63:P,64:M,65:j,66:B,67:Y,68:L,69:I,70:U,71:F,72:X,73:z,74:Q},{13:72,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:r,36:l,37:o,38:h,39:d,40:u,41:p,43:23,44:y,45:f,46:b,47:g,48:x,49:_,50:m,51:E,52:A,53:S,54:C,55:k,56:O,57:w,58:v,59:T,60:R,61:D,62:N,63:P,64:M,65:j,66:B,67:Y,68:L,69:I,70:U,71:F,72:X,73:z,74:Q},{13:73,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:r,36:l,37:o,38:h,39:d,40:u,41:p,43:23,44:y,45:f,46:b,47:g,48:x,49:_,50:m,51:E,52:A,53:S,54:C,55:k,56:O,57:w,58:v,59:T,60:R,61:D,62:N,63:P,64:M,65:j,66:B,67:Y,68:L,69:I,70:U,71:F,72:X,73:z,74:Q},{14:[1,74]},t(W,[2,13],{43:23,29:49,30:61,32:62,20:75,34:r,36:l,37:o,38:h,39:d,40:u,41:p,44:y,45:f,46:b,47:g,48:x,49:_,50:m,51:E,52:A,53:S,54:C,55:k,56:O,57:w,58:v,59:T,60:R,61:D,62:N,63:P,64:M,65:j,66:B,67:Y,68:L,69:I,70:U,71:F,72:X,73:z,74:Q}),t(W,[2,14]),t($,[2,16],{12:[1,76]}),t(W,[2,36],{12:[1,77]}),t(q,[2,19]),t(q,[2,20]),{25:[1,78]},{27:[1,79]},t(q,[2,23]),{35:80,75:81,76:V,77:H,79:G,80:K},{35:86,75:81,76:V,77:H,79:G,80:K},{35:87,75:81,76:V,77:H,79:G,80:K},{35:88,75:81,76:V,77:H,79:G,80:K},{35:89,75:81,76:V,77:H,79:G,80:K},{35:90,75:81,76:V,77:H,79:G,80:K},{35:91,75:81,76:V,77:H,79:G,80:K},{35:92,75:81,76:V,77:H,79:G,80:K},{35:93,75:81,76:V,77:H,79:G,80:K},{35:94,75:81,76:V,77:H,79:G,80:K},{35:95,75:81,76:V,77:H,79:G,80:K},{35:96,75:81,76:V,77:H,79:G,80:K},{35:97,75:81,76:V,77:H,79:G,80:K},{35:98,75:81,76:V,77:H,79:G,80:K},{35:99,75:81,76:V,77:H,79:G,80:K},{35:100,75:81,76:V,77:H,79:G,80:K},{35:101,75:81,76:V,77:H,79:G,80:K},{35:102,75:81,76:V,77:H,79:G,80:K},{35:103,75:81,76:V,77:H,79:G,80:K},{35:104,75:81,76:V,77:H,79:G,80:K},t(J,[2,59]),{35:105,75:81,76:V,77:H,79:G,80:K},{35:106,75:81,76:V,77:H,79:G,80:K},{35:107,75:81,76:V,77:H,79:G,80:K},{35:108,75:81,76:V,77:H,79:G,80:K},{35:109,75:81,76:V,77:H,79:G,80:K},{35:110,75:81,76:V,77:H,79:G,80:K},{35:111,75:81,76:V,77:H,79:G,80:K},{35:112,75:81,76:V,77:H,79:G,80:K},{35:113,75:81,76:V,77:H,79:G,80:K},{35:114,75:81,76:V,77:H,79:G,80:K},{35:115,75:81,76:V,77:H,79:G,80:K},{20:116,29:49,30:61,32:62,34:r,36:l,37:o,38:h,39:d,40:u,41:p,43:23,44:y,45:f,46:b,47:g,48:x,49:_,50:m,51:E,52:A,53:S,54:C,55:k,56:O,57:w,58:v,59:T,60:R,61:D,62:N,63:P,64:M,65:j,66:B,67:Y,68:L,69:I,70:U,71:F,72:X,73:z,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:V,77:H,79:G,80:K},{35:120,75:81,76:V,77:H,79:G,80:K},{35:121,75:81,76:V,77:H,79:G,80:K},{35:122,75:81,76:V,77:H,79:G,80:K},{35:123,75:81,76:V,77:H,79:G,80:K},{35:124,75:81,76:V,77:H,79:G,80:K},{35:125,75:81,76:V,77:H,79:G,80:K},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(W,[2,15]),t($,[2,17],{21:22,19:130,22:e,23:a,24:n,26:i,28:s}),t(W,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:a,24:n,26:i,28:s,34:r,36:l,37:o,38:h,39:d,40:u,41:p,44:y,45:f,46:b,47:g,48:x,49:_,50:m,51:E,52:A,53:S,54:C,55:k,56:O,57:w,58:v,59:T,60:R,61:D,62:N,63:P,64:M,65:j,66:B,67:Y,68:L,69:I,70:U,71:F,72:X,73:z,74:Q}),t(q,[2,21]),t(q,[2,22]),t(J,[2,39]),t(Z,[2,71],{75:81,35:132,76:V,77:H,79:G,80:K}),t(tt,[2,73]),{78:[1,133]},t(tt,[2,75]),t(tt,[2,76]),t(J,[2,40]),t(J,[2,41]),t(J,[2,42]),t(J,[2,43]),t(J,[2,44]),t(J,[2,45]),t(J,[2,46]),t(J,[2,47]),t(J,[2,48]),t(J,[2,49]),t(J,[2,50]),t(J,[2,51]),t(J,[2,52]),t(J,[2,53]),t(J,[2,54]),t(J,[2,55]),t(J,[2,56]),t(J,[2,57]),t(J,[2,58]),t(J,[2,60]),t(J,[2,61]),t(J,[2,62]),t(J,[2,63]),t(J,[2,64]),t(J,[2,65]),t(J,[2,66]),t(J,[2,67]),t(J,[2,68]),t(J,[2,69]),t(J,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(te,[2,28]),t(te,[2,29]),t(te,[2,30]),t(te,[2,31]),t(te,[2,32]),t(te,[2,33]),t(te,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t($,[2,18]),t(W,[2,38]),t(Z,[2,72]),t(tt,[2,74]),t(J,[2,24]),t(J,[2,35]),t(ta,[2,25]),t(ta,[2,26],{12:[1,138]}),t(ta,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var a=Error(t);throw a.hash=e,a}},parse:function(t){var e=this,a=[0],n=[],i=[null],s=[],r=this.table,l="",o=0,h=0,d=s.slice.call(arguments,1),u=Object.create(this.lexer),p={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p.yy[y]=this.yy[y]);u.setInput(t,p.yy),p.yy.lexer=u,p.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var f=u.yylloc;s.push(f);var b=u.options&&u.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,x,_,m,E,A,S,C,k={};;){if(x=a[a.length-1],this.defaultActions[x]?_=this.defaultActions[x]:(null==g&&(g=function(){var t;return"number"!=typeof(t=n.pop()||u.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}()),_=r[x]&&r[x][g]),void 0===_||!_.length||!_[0]){var O="";for(E in C=[],r[x])this.terminals_[E]&&E>2&&C.push("'"+this.terminals_[E]+"'");O=u.showPosition?"Parse error on line "+(o+1)+":\n"+u.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==g?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(O,{text:u.match,token:this.terminals_[g]||g,line:u.yylineno,loc:f,expected:C})}if(_[0]instanceof Array&&_.length>1)throw Error("Parse Error: multiple actions possible at state: "+x+", token: "+g);switch(_[0]){case 1:a.push(g),i.push(u.yytext),s.push(u.yylloc),a.push(_[1]),g=null,h=u.yyleng,l=u.yytext,o=u.yylineno,f=u.yylloc;break;case 2:if(A=this.productions_[_[1]][1],k.$=i[i.length-A],k._$={first_line:s[s.length-(A||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(A||1)].first_column,last_column:s[s.length-1].last_column},b&&(k._$.range=[s[s.length-(A||1)].range[0],s[s.length-1].range[1]]),void 0!==(m=this.performAction.apply(k,[l,h,o,p.yy,_[1],i,s].concat(d))))return m;A&&(a=a.slice(0,-1*A*2),i=i.slice(0,-1*A),s=s.slice(0,-1*A)),a.push(this.productions_[_[1]][0]),i.push(k.$),s.push(k._$),S=r[a[a.length-2]][a[a.length-1]],a.push(S);break;case 3:return!0}}return!0}};function ti(){this.yy={}}return tn.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,a=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===n.length?this.yylloc.first_column:0)+n[n.length-a.length].length-a[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var a,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],a=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack)for(var s in i)this[s]=i[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,a,n,i=this._currentRules(),s=0;se[0].length)){if(e=a,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(a,i[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,a,n){switch(a){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 73:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 16:case 70:break;case 14:c;break;case 15:return 12;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:case 79:this.popState(),this.popState();break;case 69:case 71:return 80;case 72:this.begin("string");break;case 74:case 80:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}},ti.prototype=tn,tn.Parser=ti,new ti}();o.parser=o;let h=[],d=[""],u="global",p="",y=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],f=[],b="",g=!1,x=4,_=2,m=function(t){return null==t?h:h.filter(e=>e.parentBoundary===t)},E=function(t){return null==t?y:y.filter(e=>e.parentBoundary===t)},A=function(){return g},S={addPersonOrSystem:function(t,e,a,n,i,s,r){if(null===e||null===a)return;let l={},o=h.find(t=>t.alias===e);if(o&&e===o.alias?l=o:(l.alias=e,h.push(l)),null==a?l.label={text:""}:l.label={text:a},null==n)l.descr={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]={text:e}}else l.descr={text:n};if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]=e}else l.sprite=i;if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.tags=s;if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]=e}else l.link=r;l.typeC4Shape={text:t},l.parentBoundary=u,l.wrap=A()},addPersonOrSystemBoundary:function(t,e,a,n,i){if(null===t||null===e)return;let s={},r=y.find(e=>e.alias===t);if(r&&t===r.alias?s=r:(s.alias=t,y.push(s)),null==e?s.label={text:""}:s.label={text:e},null==a)s.type={text:"system"};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];s[t]={text:e}}else s.type={text:a};if("object"==typeof n){let[t,e]=Object.entries(n)[0];s[t]=e}else s.tags=n;if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]=e}else s.link=i;s.parentBoundary=u,s.wrap=A(),p=u,u=t,d.push(p)},addContainer:function(t,e,a,n,i,s,r,l){if(null===e||null===a)return;let o={},d=h.find(t=>t.alias===e);if(d&&e===d.alias?o=d:(o.alias=e,h.push(o)),null==a?o.label={text:""}:o.label={text:a},null==n)o.techn={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];o[t]={text:e}}else o.techn={text:n};if(null==i)o.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];o[t]={text:e}}else o.descr={text:i};if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=e}else o.sprite=s;if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.tags=r;if("object"==typeof l){let[t,e]=Object.entries(l)[0];o[t]=e}else o.link=l;o.wrap=A(),o.typeC4Shape={text:t},o.parentBoundary=u},addContainerBoundary:function(t,e,a,n,i){if(null===t||null===e)return;let s={},r=y.find(e=>e.alias===t);if(r&&t===r.alias?s=r:(s.alias=t,y.push(s)),null==e?s.label={text:""}:s.label={text:e},null==a)s.type={text:"container"};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];s[t]={text:e}}else s.type={text:a};if("object"==typeof n){let[t,e]=Object.entries(n)[0];s[t]=e}else s.tags=n;if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]=e}else s.link=i;s.parentBoundary=u,s.wrap=A(),p=u,u=t,d.push(p)},addComponent:function(t,e,a,n,i,s,r,l){if(null===e||null===a)return;let o={},d=h.find(t=>t.alias===e);if(d&&e===d.alias?o=d:(o.alias=e,h.push(o)),null==a?o.label={text:""}:o.label={text:a},null==n)o.techn={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];o[t]={text:e}}else o.techn={text:n};if(null==i)o.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];o[t]={text:e}}else o.descr={text:i};if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=e}else o.sprite=s;if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.tags=r;if("object"==typeof l){let[t,e]=Object.entries(l)[0];o[t]=e}else o.link=l;o.wrap=A(),o.typeC4Shape={text:t},o.parentBoundary=u},addDeploymentNode:function(t,e,a,n,i,s,r,l){if(null===e||null===a)return;let o={},h=y.find(t=>t.alias===e);if(h&&e===h.alias?o=h:(o.alias=e,y.push(o)),null==a?o.label={text:""}:o.label={text:a},null==n)o.type={text:"node"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];o[t]={text:e}}else o.type={text:n};if(null==i)o.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];o[t]={text:e}}else o.descr={text:i};if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.tags=r;if("object"==typeof l){let[t,e]=Object.entries(l)[0];o[t]=e}else o.link=l;o.nodeType=t,o.parentBoundary=u,o.wrap=A(),p=u,u=e,d.push(p)},popBoundaryParseStack:function(){u=p,d.pop(),p=d.pop(),d.push(p)},addRel:function(t,e,a,n,i,s,r,l,o){if(null==t||null==e||null==a||null==n)return;let h={},d=f.find(t=>t.from===e&&t.to===a);if(d?h=d:f.push(h),h.type=t,h.from=e,h.to=a,h.label={text:n},null==i)h.techn={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];h[t]={text:e}}else h.techn={text:i};if(null==s)h.descr={text:""};else if("object"==typeof s){let[t,e]=Object.entries(s)[0];h[t]={text:e}}else h.descr={text:s};if("object"==typeof r){let[t,e]=Object.entries(r)[0];h[t]=e}else h.sprite=r;if("object"==typeof l){let[t,e]=Object.entries(l)[0];h[t]=e}else h.tags=l;if("object"==typeof o){let[t,e]=Object.entries(o)[0];h[t]=e}else h.link=o;h.wrap=A()},updateElStyle:function(t,e,a,n,i,s,r,l,o,d,u){let p=h.find(t=>t.alias===e);if(void 0!==p||void 0!==(p=y.find(t=>t.alias===e))){if(null!=a){if("object"==typeof a){let[t,e]=Object.entries(a)[0];p[t]=e}else p.bgColor=a}if(null!=n){if("object"==typeof n){let[t,e]=Object.entries(n)[0];p[t]=e}else p.fontColor=n}if(null!=i){if("object"==typeof i){let[t,e]=Object.entries(i)[0];p[t]=e}else p.borderColor=i}if(null!=s){if("object"==typeof s){let[t,e]=Object.entries(s)[0];p[t]=e}else p.shadowing=s}if(null!=r){if("object"==typeof r){let[t,e]=Object.entries(r)[0];p[t]=e}else p.shape=r}if(null!=l){if("object"==typeof l){let[t,e]=Object.entries(l)[0];p[t]=e}else p.sprite=l}if(null!=o){if("object"==typeof o){let[t,e]=Object.entries(o)[0];p[t]=e}else p.techn=o}if(null!=d){if("object"==typeof d){let[t,e]=Object.entries(d)[0];p[t]=e}else p.legendText=d}if(null!=u){if("object"==typeof u){let[t,e]=Object.entries(u)[0];p[t]=e}else p.legendSprite=u}}},updateRelStyle:function(t,e,a,n,i,s,r){let l=f.find(t=>t.from===e&&t.to===a);if(void 0!==l){if(null!=n){if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]=e}else l.textColor=n}if(null!=i){if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]=e}else l.lineColor=i}if(null!=s){if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=parseInt(e)}else l.offsetX=parseInt(s)}if(null!=r){if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]=parseInt(e)}else l.offsetY=parseInt(r)}}},updateLayoutConfig:function(t,e,a){let n=x,i=_;n="object"==typeof e?parseInt(Object.values(e)[0]):parseInt(e),i="object"==typeof a?parseInt(Object.values(a)[0]):parseInt(a),n>=1&&(x=n),i>=1&&(_=i)},autoWrap:A,setWrap:function(t){g=t},getC4ShapeArray:m,getC4Shape:function(t){return h.find(e=>e.alias===t)},getC4ShapeKeys:function(t){return Object.keys(m(t))},getBoundaries:E,getBoundarys:E,getCurrentBoundaryParse:function(){return u},getParentBoundaryParse:function(){return p},getRels:function(){return f},getTitle:function(){return b},getC4Type:function(){return n},getC4ShapeInRow:function(){return x},getC4BoundaryInRow:function(){return _},setAccTitle:i.s,getAccTitle:i.g,getAccDescription:i.a,setAccDescription:i.b,getConfig:()=>(0,i.c)().c4,clear:function(){h=[],y=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],p="",u="global",d=[""],f=[],d=[""],b="",g=!1,x=4,_=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(t){b=(0,i.d)(t,(0,i.c)())},setC4Type:function(t){n=(0,i.d)(t,(0,i.c)())}},C=function(t,e){return(0,r.d)(t,e)},k=function(t,e,a,n,i,s){let r=t.append("image");r.attr("width",e),r.attr("height",a),r.attr("x",n),r.attr("y",i);let o=s.startsWith("data:image/png;base64")?s:(0,l.Nm)(s);r.attr("xlink:href",o)},O=(t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),w=function(){function t(t,e,a,i,s,r,l){n(e.append("text").attr("x",a+s/2).attr("y",i+r/2+5).style("text-anchor","middle").text(t),l)}function e(t,e,a,s,r,l,o,h){let{fontSize:d,fontFamily:u,fontWeight:p}=h,y=t.split(i.e.lineBreakRegex);for(let t=0;t>"),e.typeC4Shape.text){case"person":case"external_person":k(h,48,48,e.x+e.width/2-24,e.y+e.image.Y,o)}let p=a[e.typeC4Shape.text+"Font"]();return p.fontWeight="bold",p.fontSize=p.fontSize+2,p.fontColor=l,w(a)(e.label.text,h,e.x,e.y+e.label.Y,e.width,e.height,{fill:l},p),(p=a[e.typeC4Shape.text+"Font"]()).fontColor=l,e.techn&&(null==(n=e.techn)?void 0:n.text)!==""?w(a)(e.techn.text,h,e.x,e.y+e.techn.Y,e.width,e.height,{fill:l,"font-style":"italic"},p):e.type&&""!==e.type.text&&w(a)(e.type.text,h,e.x,e.y+e.type.Y,e.width,e.height,{fill:l,"font-style":"italic"},p),e.descr&&""!==e.descr.text&&((p=a.personFont()).fontColor=l,w(a)(e.descr.text,h,e.x,e.y+e.descr.Y,e.width,e.height,{fill:l},p)),e.height},drawRels:(t,e,a)=>{let n=t.append("g"),i=0;for(let t of e){let e=t.textColor?t.textColor:"#444444",s=t.lineColor?t.lineColor:"#444444",r=t.offsetX?parseInt(t.offsetX):0,l=t.offsetY?parseInt(t.offsetY):0;if(0===i){let e=n.append("line");e.attr("x1",t.startPoint.x),e.attr("y1",t.startPoint.y),e.attr("x2",t.endPoint.x),e.attr("y2",t.endPoint.y),e.attr("stroke-width","1"),e.attr("stroke",s),e.style("fill","none"),"rel_b"!==t.type&&e.attr("marker-end","url(#arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url(#arrowend)"),i=-1}else{let e=n.append("path");e.attr("fill","none").attr("stroke-width","1").attr("stroke",s).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",t.startPoint.x).replaceAll("starty",t.startPoint.y).replaceAll("controlx",t.startPoint.x+(t.endPoint.x-t.startPoint.x)/2-(t.endPoint.x-t.startPoint.x)/4).replaceAll("controly",t.startPoint.y+(t.endPoint.y-t.startPoint.y)/2).replaceAll("stopx",t.endPoint.x).replaceAll("stopy",t.endPoint.y)),"rel_b"!==t.type&&e.attr("marker-end","url(#arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url(#arrowend)")}let o=a.messageFont();w(a)(t.label.text,n,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+r,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+l,t.label.width,t.label.height,{fill:e},o),t.techn&&""!==t.techn.text&&(o=a.messageFont(),w(a)("["+t.techn.text+"]",n,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+r,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+a.messageFontSize+5+l,Math.max(t.label.width,t.techn.width),t.techn.height,{fill:e,"font-style":"italic"},o))}},insertArrowHead:function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},insertArrowEnd:function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},insertArrowFilledHead:function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},insertArrowCrossHead:function(t){let e=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);e.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),e.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},insertDatabaseIcon:function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},insertComputerIcon:function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},insertClockIcon:function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")}},T=0,R=0,D=4,N=2;o.yy=S;let P={};class M{constructor(t){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,j(t.db.getConfig())}setData(t,e,a,n){this.nextData.startx=this.data.startx=t,this.nextData.stopx=this.data.stopx=e,this.nextData.starty=this.data.starty=a,this.nextData.stopy=this.data.stopy=n}updateVal(t,e,a,n){void 0===t[e]?t[e]=a:t[e]=n(a,t[e])}insert(t){this.nextData.cnt=this.nextData.cnt+1;let e=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+t.margin:this.nextData.stopx+2*t.margin,a=e+t.width,n=this.nextData.starty+2*t.margin,i=n+t.height;(e>=this.data.widthLimit||a>=this.data.widthLimit||this.nextData.cnt>D)&&(e=this.nextData.startx+t.margin+P.nextLinePaddingX,n=this.nextData.stopy+2*t.margin,this.nextData.stopx=a=e+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=i=n+t.height,this.nextData.cnt=1),t.x=e,t.y=n,this.updateVal(this.data,"startx",e,Math.min),this.updateVal(this.data,"starty",n,Math.min),this.updateVal(this.data,"stopx",a,Math.max),this.updateVal(this.data,"stopy",i,Math.max),this.updateVal(this.nextData,"startx",e,Math.min),this.updateVal(this.nextData,"starty",n,Math.min),this.updateVal(this.nextData,"stopx",a,Math.max),this.updateVal(this.nextData,"stopy",i,Math.max)}init(t){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},j(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}}let j=function(t){(0,i.f)(P,t),t.fontFamily&&(P.personFontFamily=P.systemFontFamily=P.messageFontFamily=t.fontFamily),t.fontSize&&(P.personFontSize=P.systemFontSize=P.messageFontSize=t.fontSize),t.fontWeight&&(P.personFontWeight=P.systemFontWeight=P.messageFontWeight=t.fontWeight)},B=(t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),Y=t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),L=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight});function I(t,e,a,n,s){if(!e[t].width){if(a)e[t].text=(0,i.w)(e[t].text,s,n),e[t].textLines=e[t].text.split(i.e.lineBreakRegex).length,e[t].width=s,e[t].height=(0,i.j)(e[t].text,n);else{let a=e[t].text.split(i.e.lineBreakRegex);e[t].textLines=a.length;let s=0;for(let r of(e[t].height=0,e[t].width=0,a))e[t].width=Math.max((0,i.h)(r,n),e[t].width),s=(0,i.j)(r,n),e[t].height=e[t].height+s}}}let U=function(t,e,a){e.x=a.data.startx,e.y=a.data.starty,e.width=a.data.stopx-a.data.startx,e.height=a.data.stopy-a.data.starty,e.label.y=P.c4ShapeMargin-35;let n=e.wrap&&P.wrap,s=Y(P);s.fontSize=s.fontSize+2,s.fontWeight="bold";let r=(0,i.h)(e.label.text,s);I("label",e,n,s,r),v.drawBoundary(t,e,P)},F=function(t,e,a,n){let s=0;for(let r of n){s=0;let n=a[r],l=B(P,n.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,n.typeC4Shape.width=(0,i.h)("\xab"+n.typeC4Shape.text+"\xbb",l),n.typeC4Shape.height=l.fontSize+2,n.typeC4Shape.Y=P.c4ShapePadding,s=n.typeC4Shape.Y+n.typeC4Shape.height-4,n.image={width:0,height:0,Y:0},n.typeC4Shape.text){case"person":case"external_person":n.image.width=48,n.image.height=48,n.image.Y=s,s=n.image.Y+n.image.height}n.sprite&&(n.image.width=48,n.image.height=48,n.image.Y=s,s=n.image.Y+n.image.height);let o=n.wrap&&P.wrap,h=P.width-2*P.c4ShapePadding,d=B(P,n.typeC4Shape.text);if(d.fontSize=d.fontSize+2,d.fontWeight="bold",I("label",n,o,d,h),n.label.Y=s+8,s=n.label.Y+n.label.height,n.type&&""!==n.type.text){n.type.text="["+n.type.text+"]";let t=B(P,n.typeC4Shape.text);I("type",n,o,t,h),n.type.Y=s+5,s=n.type.Y+n.type.height}else if(n.techn&&""!==n.techn.text){n.techn.text="["+n.techn.text+"]";let t=B(P,n.techn.text);I("techn",n,o,t,h),n.techn.Y=s+5,s=n.techn.Y+n.techn.height}let u=s,p=n.label.width;if(n.descr&&""!==n.descr.text){let t=B(P,n.typeC4Shape.text);I("descr",n,o,t,h),n.descr.Y=s+20,s=n.descr.Y+n.descr.height,p=Math.max(n.label.width,n.descr.width),u=s-5*n.descr.textLines}p+=P.c4ShapePadding,n.width=Math.max(n.width||P.width,p,P.width),n.height=Math.max(n.height||P.height,u,P.height),n.margin=n.margin||P.c4ShapeMargin,t.insert(n),v.drawC4Shape(e,n,P)}t.bumpLastMargin(P.c4ShapeMargin)};class X{constructor(t,e){this.x=t,this.y=e}}let z=function(t,e){let a=t.x,n=t.y,i=e.x,s=e.y,r=a+t.width/2,l=n+t.height/2,o=Math.abs(a-i),h=Math.abs(n-s),d=h/o,u=t.height/t.width,p=null;return n==s&&ai?p=new X(a,l):a==i&&ns&&(p=new X(r,n)),a>i&&n=d?new X(a,l+d*t.width/2):new X(r-o/h*t.height/2,n+t.height):a=d?new X(a+t.width,l+d*t.width/2):new X(r+o/h*t.height/2,n+t.height):as?p=u>=d?new X(a+t.width,l-d*t.width/2):new X(r+t.height/2*o/h,n):a>i&&n>s&&(p=u>=d?new X(a,l-t.width/2*d):new X(r-t.height/2*o/h,n)),p},Q=function(t,e){let a={x:0,y:0};a.x=e.x+e.width/2,a.y=e.y+e.height/2;let n=z(t,a);return a.x=t.x+t.width/2,a.y=t.y+t.height/2,{startPoint:n,endPoint:z(e,a)}},W=function(t,e,a,n){let s=0;for(let t of e){s+=1;let e=t.wrap&&P.wrap,r=L(P);"C4Dynamic"===n.db.getC4Type()&&(t.label.text=s+": "+t.label.text);let l=(0,i.h)(t.label.text,r);I("label",t,e,r,l),t.techn&&""!==t.techn.text&&(l=(0,i.h)(t.techn.text,r),I("techn",t,e,r,l)),t.descr&&""!==t.descr.text&&(l=(0,i.h)(t.descr.text,r),I("descr",t,e,r,l));let o=Q(a(t.from),a(t.to));t.startPoint=o.startPoint,t.endPoint=o.endPoint}v.drawRels(t,e,P)},$={drawPersonOrSystemArray:F,drawBoundary:U,setConf:j,draw:function(t,e,a,n){let r;P=(0,i.c)().c4;let l=(0,i.c)().securityLevel;"sandbox"===l&&(r=(0,s.Ys)("#i"+e));let o="sandbox"===l?(0,s.Ys)(r.nodes()[0].contentDocument.body):(0,s.Ys)("body"),h=n.db;n.db.setWrap(P.wrap),D=h.getC4ShapeInRow(),N=h.getC4BoundaryInRow(),i.l.debug(`C:${JSON.stringify(P,null,2)}`);let d="sandbox"===l?o.select(`[id="${e}"]`):(0,s.Ys)(`[id="${e}"]`);v.insertComputerIcon(d),v.insertDatabaseIcon(d),v.insertClockIcon(d);let u=new M(n);u.setData(P.diagramMarginX,P.diagramMarginX,P.diagramMarginY,P.diagramMarginY),u.data.widthLimit=screen.availWidth,T=P.diagramMarginX,R=P.diagramMarginY;let p=n.db.getTitle();!function t(e,a,n,i,s){let r=new M(s);for(let[l,o]of(r.data.widthLimit=n.data.widthLimit/Math.min(N,i.length),i.entries())){let i=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=i,i=o.image.Y+o.image.height);let h=o.wrap&&P.wrap,d=Y(P);if(d.fontSize=d.fontSize+2,d.fontWeight="bold",I("label",o,h,d,r.data.widthLimit),o.label.Y=i+8,i=o.label.Y+o.label.height,o.type&&""!==o.type.text&&(o.type.text="["+o.type.text+"]",I("type",o,h,Y(P),r.data.widthLimit),o.type.Y=i+5,i=o.type.Y+o.type.height),o.descr&&""!==o.descr.text){let t=Y(P);t.fontSize=t.fontSize-2,I("descr",o,h,t,r.data.widthLimit),o.descr.Y=i+20,i=o.descr.Y+o.descr.height}if(0==l||l%N==0){let t=n.data.startx+P.diagramMarginX,e=n.data.stopy+P.diagramMarginY+i;r.setData(t,t,e,e)}else{let t=r.data.stopx!==r.data.startx?r.data.stopx+P.diagramMarginX:r.data.startx,e=r.data.starty;r.setData(t,t,e,e)}r.name=o.alias;let u=s.db.getC4ShapeArray(o.alias),p=s.db.getC4ShapeKeys(o.alias);p.length>0&&F(r,e,u,p),a=o.alias;let y=s.db.getBoundarys(a);y.length>0&&t(e,a,r,y,s),"global"!==o.alias&&U(e,o,r),n.data.stopy=Math.max(r.data.stopy+P.c4ShapeMargin,n.data.stopy),n.data.stopx=Math.max(r.data.stopx+P.c4ShapeMargin,n.data.stopx),T=Math.max(T,n.data.stopx),R=Math.max(R,n.data.stopy)}}(d,"",u,n.db.getBoundarys(""),n),v.insertArrowHead(d),v.insertArrowEnd(d),v.insertArrowCrossHead(d),v.insertArrowFilledHead(d),W(d,n.db.getRels(),n.db.getC4Shape,n),u.data.stopx=T,u.data.stopy=R;let y=u.data,f=y.stopy-y.starty+2*P.diagramMarginY,b=y.stopx-y.startx+2*P.diagramMarginX;p&&d.append("text").text(p).attr("x",(y.stopx-y.startx)/2-4*P.diagramMarginX).attr("y",y.starty+P.diagramMarginY),(0,i.i)(d,f,b,P.useMaxWidth);let g=p?60:0;d.attr("viewBox",y.startx-P.diagramMarginX+" -"+(P.diagramMarginY+g)+" "+b+" "+(f+g)),i.l.debug("models:",y)}},q={parser:o,db:S,renderer:$,styles:t=>`.person { + stroke: ${t.personBorder}; + fill: ${t.personBkg}; + } +`,init:({c4:t,wrap:e})=>{$.setConf(t),S.setWrap(e)}}},3789:function(t,e,a){a.d(e,{a:function(){return r},b:function(){return h},c:function(){return o},d:function(){return s},e:function(){return u},f:function(){return l},g:function(){return d}});var n=a(6574),i=a(1835);let s=(t,e)=>{let a=t.append("rect");if(a.attr("x",e.x),a.attr("y",e.y),a.attr("fill",e.fill),a.attr("stroke",e.stroke),a.attr("width",e.width),a.attr("height",e.height),e.name&&a.attr("name",e.name),void 0!==e.rx&&a.attr("rx",e.rx),void 0!==e.ry&&a.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)a.attr(t,e.attrs[t]);return void 0!==e.class&&a.attr("class",e.class),a},r=(t,e)=>{s(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},l=(t,e)=>{let a=e.text.replace(i.J," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),void 0!==e.class&&n.attr("class",e.class);let s=n.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.text(a),n},o=(t,e,a,i)=>{let s=t.append("image");s.attr("x",e),s.attr("y",a);let r=(0,n.Nm)(i);s.attr("xlink:href",r)},h=(t,e,a,i)=>{let s=t.append("use");s.attr("x",e),s.attr("y",a);let r=(0,n.Nm)(i);s.attr("xlink:href",`#${r}`)},d=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),u=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0})}}]); \ No newline at end of file diff --git a/_next/static/chunks/2128.50b51a2eba82fe6e.js b/_next/static/chunks/2128.50b51a2eba82fe6e.js new file mode 100644 index 0000000..e85b3c3 --- /dev/null +++ b/_next/static/chunks/2128.50b51a2eba82fe6e.js @@ -0,0 +1,29 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2128],{2128:function(t,e,i){i.d(e,{diagram:function(){return p}});var s=i(1835),n=i(4218);i(7484),i(6574),i(7856);var r=function(){var t=function(t,e,i,s){for(i=i||{},s=t.length;s--;i[t[s]]=e);return i},e=[1,3],i=[1,4],s=[1,5],n=[1,6],r=[1,10,12,14,16,18,19,20,21,22],l=[2,4],a=[1,5,10,12,14,16,18,19,20,21,22],c=[20,21,22],o=[2,7],h=[1,12],u=[1,13],y=[1,14],p=[1,15],g=[1,16],d=[1,17],_={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(t,e,i,s,n,r,l){var a=r.length-1;switch(n){case 3:s.setShowData(!0);break;case 6:this.$=r[a-1];break;case 8:s.addSection(r[a-1],s.cleanupValue(r[a]));break;case 9:this.$=r[a].trim(),s.setDiagramTitle(this.$);break;case 10:this.$=r[a].trim(),s.setAccTitle(this.$);break;case 11:case 12:this.$=r[a].trim(),s.setAccDescription(this.$);break;case 13:s.addSection(r[a].substr(8)),this.$=r[a].substr(8)}},table:[{3:1,4:2,5:e,20:i,21:s,22:n},{1:[3]},{3:7,4:2,5:e,20:i,21:s,22:n},t(r,l,{6:8,7:[1,9]}),t(a,[2,14]),t(a,[2,15]),t(a,[2,16]),{1:[2,1]},t(c,o,{8:10,9:11,1:[2,2],10:h,12:u,14:y,16:p,18:g,19:d}),t(r,l,{6:18}),t(r,[2,5]),{4:19,20:i,21:s,22:n},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},t(c,[2,12]),t(c,[2,13]),t(c,o,{8:10,9:11,1:[2,3],10:h,12:u,14:y,16:p,18:g,19:d}),t(r,[2,6]),t(c,[2,8]),t(c,[2,9]),t(c,[2,10]),t(c,[2,11])],defaultActions:{7:[2,1]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],s=[],n=[null],r=[],l=this.table,a="",c=0,o=0,h=r.slice.call(arguments,1),u=Object.create(this.lexer),y={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(y.yy[p]=this.yy[p]);u.setInput(t,y.yy),y.yy.lexer=u,y.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var g=u.yylloc;r.push(g);var d=u.options&&u.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var _,f,m,k,b,x,v,S,$={};;){if(f=i[i.length-1],this.defaultActions[f]?m=this.defaultActions[f]:(null==_&&(_=function(){var t;return"number"!=typeof(t=s.pop()||u.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=e.symbols_[t]||t),t}()),m=l[f]&&l[f][_]),void 0===m||!m.length||!m[0]){var w="";for(b in S=[],l[f])this.terminals_[b]&&b>2&&S.push("'"+this.terminals_[b]+"'");w=u.showPosition?"Parse error on line "+(c+1)+":\n"+u.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(w,{text:u.match,token:this.terminals_[_]||_,line:u.yylineno,loc:g,expected:S})}if(m[0]instanceof Array&&m.length>1)throw Error("Parse Error: multiple actions possible at state: "+f+", token: "+_);switch(m[0]){case 1:i.push(_),n.push(u.yytext),r.push(u.yylloc),i.push(m[1]),_=null,o=u.yyleng,a=u.yytext,c=u.yylineno,g=u.yylloc;break;case 2:if(x=this.productions_[m[1]][1],$.$=n[n.length-x],$._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},d&&($._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),void 0!==(k=this.performAction.apply($,[a,o,c,y.yy,m[1],n,r].concat(h))))return k;x&&(i=i.slice(0,-1*x*2),n=n.slice(0,-1*x),r=r.slice(0,-1*x)),i.push(this.productions_[m[1]][0]),n.push($.$),r.push($._$),v=l[i[i.length-2]][i[i.length-1]],i.push(v);break;case 3:return!0}}return!0}};function f(){this.yy={}}return _.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===s.length?this.yylloc.first_column:0)+s[s.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,s,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,s,n=this._currentRules(),r=0;re[0].length)){if(e=i,s=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[r])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,i,s){switch(i){case 0:case 1:case 3:case 4:break;case 2:return 20;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:case 15:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}},f.prototype=_,_.Parser=f,new f}();r.parser=r;let l=s.B.pie,a={},c=a,o=!1,h=structuredClone(l),u={getConfig:()=>structuredClone(h),clear:()=>{c=structuredClone(a),o=!1,(0,s.v)()},setDiagramTitle:s.q,getDiagramTitle:s.t,setAccTitle:s.s,getAccTitle:s.g,setAccDescription:s.b,getAccDescription:s.a,addSection:(t,e)=>{void 0===c[t=(0,s.d)(t,(0,s.c)())]&&(c[t]=e,s.l.debug(`added new section: ${t}, with value: ${e}`))},getSections:()=>c,cleanupValue:t=>(":"===t.substring(0,1)&&(t=t.substring(1).trim()),Number(t.trim())),setShowData:t=>{o=t},getShowData:()=>o},y=t=>{let e=Object.entries(t).map(t=>({label:t[0],value:t[1]})).sort((t,e)=>e.value-t.value);return(0,n.ve8)().value(t=>t.value)(e)},p={parser:r,db:u,renderer:{draw:(t,e,i,r)=>{s.l.debug("rendering pie chart\n"+t);let l=r.db,a=(0,s.c)(),c=(0,s.C)(l.getConfig(),a.pie),o=(0,s.A)(e),h=o.append("g"),u=l.getSections();h.attr("transform","translate(225,225)");let{themeVariables:p}=a,[g]=(0,s.D)(p.pieOuterStrokeWidth);g??(g=2);let d=c.textPosition,_=(0,n.Nb1)().innerRadius(0).outerRadius(185),f=(0,n.Nb1)().innerRadius(185*d).outerRadius(185*d);h.append("circle").attr("cx",0).attr("cy",0).attr("r",185+g/2).attr("class","pieOuterCircle");let m=y(u),k=[p.pie1,p.pie2,p.pie3,p.pie4,p.pie5,p.pie6,p.pie7,p.pie8,p.pie9,p.pie10,p.pie11,p.pie12],b=(0,n.PKp)(k);h.selectAll("mySlices").data(m).enter().append("path").attr("d",_).attr("fill",t=>b(t.data.label)).attr("class","pieCircle");let x=0;Object.keys(u).forEach(t=>{x+=u[t]}),h.selectAll("mySlices").data(m).enter().append("text").text(t=>(t.data.value/x*100).toFixed(0)+"%").attr("transform",t=>"translate("+f.centroid(t)+")").style("text-anchor","middle").attr("class","slice"),h.append("text").text(l.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");let v=h.selectAll(".legend").data(b.domain()).enter().append("g").attr("class","legend").attr("transform",(t,e)=>"translate(216,"+(22*e-22*b.domain().length/2)+")");v.append("rect").attr("width",18).attr("height",18).style("fill",b).style("stroke",b),v.data(m).append("text").attr("x",22).attr("y",14).text(t=>{let{label:e,value:i}=t.data;return l.getShowData()?`${e} [${i}]`:e});let S=512+Math.max(...v.selectAll("text").nodes().map(t=>(null==t?void 0:t.getBoundingClientRect().width)??0));o.attr("viewBox",`0 0 ${S} 450`),(0,s.i)(o,450,S,c.useMaxWidth)}},styles:t=>` + .pieCircle{ + stroke: ${t.pieStrokeColor}; + stroke-width : ${t.pieStrokeWidth}; + opacity : ${t.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${t.pieOuterStrokeColor}; + stroke-width: ${t.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${t.pieTitleTextSize}; + fill: ${t.pieTitleTextColor}; + font-family: ${t.fontFamily}; + } + .slice { + font-family: ${t.fontFamily}; + fill: ${t.pieSectionTextColor}; + font-size:${t.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${t.pieLegendTextColor}; + font-family: ${t.fontFamily}; + font-size: ${t.pieLegendTextSize}; + } +`}}}]); \ No newline at end of file diff --git a/_next/static/chunks/235-45cfd8dac781d887.js b/_next/static/chunks/235-45cfd8dac781d887.js deleted file mode 100644 index ae5913a..0000000 --- a/_next/static/chunks/235-45cfd8dac781d887.js +++ /dev/null @@ -1,20 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[235],{5202:function(){!function(){"use strict";function e(e){var t=!0,n=!1,r=null,i={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function a(e){return!!e&&e!==document&&"HTML"!==e.nodeName&&"BODY"!==e.nodeName&&"classList"in e&&"contains"in e.classList}function o(e){e.classList.contains("focus-visible")||(e.classList.add("focus-visible"),e.setAttribute("data-focus-visible-added",""))}function s(e){t=!1}function l(){document.addEventListener("mousemove",u),document.addEventListener("mousedown",u),document.addEventListener("mouseup",u),document.addEventListener("pointermove",u),document.addEventListener("pointerdown",u),document.addEventListener("pointerup",u),document.addEventListener("touchmove",u),document.addEventListener("touchstart",u),document.addEventListener("touchend",u)}function u(e){e.target.nodeName&&"html"===e.target.nodeName.toLowerCase()||(t=!1,document.removeEventListener("mousemove",u),document.removeEventListener("mousedown",u),document.removeEventListener("mouseup",u),document.removeEventListener("pointermove",u),document.removeEventListener("pointerdown",u),document.removeEventListener("pointerup",u),document.removeEventListener("touchmove",u),document.removeEventListener("touchstart",u),document.removeEventListener("touchend",u))}document.addEventListener("keydown",function(n){n.metaKey||n.altKey||n.ctrlKey||(a(e.activeElement)&&o(e.activeElement),t=!0)},!0),document.addEventListener("mousedown",s,!0),document.addEventListener("pointerdown",s,!0),document.addEventListener("touchstart",s,!0),document.addEventListener("visibilitychange",function(e){"hidden"===document.visibilityState&&(n&&(t=!0),l())},!0),l(),e.addEventListener("focus",function(e){var n,r,s;a(e.target)&&(t||(r=(n=e.target).type,"INPUT"===(s=n.tagName)&&i[r]&&!n.readOnly||"TEXTAREA"===s&&!n.readOnly||n.isContentEditable))&&o(e.target)},!0),e.addEventListener("blur",function(e){if(a(e.target)){var t;(e.target.classList.contains("focus-visible")||e.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(r),r=window.setTimeout(function(){n=!1},100),(t=e.target).hasAttribute("data-focus-visible-added")&&(t.classList.remove("focus-visible"),t.removeAttribute("data-focus-visible-added")))}},!0),e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host?e.host.setAttribute("data-js-focus-visible",""):e.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if("undefined"!=typeof window&&"undefined"!=typeof document){var t;window.applyFocusVisiblePolyfill=e;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(e){(t=document.createEvent("CustomEvent")).initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}"undefined"!=typeof document&&e(document)}()},9266:function(e,t,n){"use strict";var r=n(3905),i=n(9073);e.exports=function(e){var t=r(e);return t.token="","x-oauth-basic"===t.password?t.token=t.user:"x-token-auth"===t.user&&(t.token=t.password),i(t.protocols)||0===t.protocols.length&&i(e)?t.protocol="ssh":t.protocols.length?t.protocol=t.protocols[0]:(t.protocol="file",t.protocols=["file"]),t.href=t.href.replace(/\/$/,""),t}},3458:function(e,t,n){"use strict";var r=n(9266);function i(e){if("string"!=typeof e)throw Error("The url must be a string.");/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i.test(e)&&(e="https://github.com/"+e);var t=r(e),n=t.resource.split("."),a=null;switch(t.toString=function(e){return i.stringify(this,e)},t.source=n.length>2?n.slice(1-n.length).join("."):t.source=t.resource,t.git_suffix=/\.git$/.test(t.pathname),t.name=decodeURIComponent((t.pathname||t.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),t.owner=decodeURIComponent(t.user),t.source){case"git.cloudforge.com":t.owner=t.user,t.organization=n[0],t.source="cloudforge.com";break;case"visualstudio.com":if("vs-ssh.visualstudio.com"===t.resource){4===(a=t.name.split("/")).length&&(t.organization=a[1],t.owner=a[2],t.name=a[3],t.full_name=a[2]+"/"+a[3]);break}2===(a=t.name.split("/")).length?(t.owner=a[1],t.name=a[1],t.full_name="_git/"+t.name):3===a.length?(t.name=a[2],"DefaultCollection"===a[0]?(t.owner=a[2],t.organization=a[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=a[0],t.full_name=t.owner+"/_git/"+t.name)):4===a.length&&(t.organization=a[0],t.owner=a[1],t.name=a[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name);break;case"dev.azure.com":case"azure.com":if("ssh.dev.azure.com"===t.resource){4===(a=t.name.split("/")).length&&(t.organization=a[1],t.owner=a[2],t.name=a[3]);break}5===(a=t.name.split("/")).length?(t.organization=a[0],t.owner=a[1],t.name=a[4],t.full_name="_git/"+t.name):3===a.length?(t.name=a[2],"DefaultCollection"===a[0]?(t.owner=a[2],t.organization=a[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=a[0],t.full_name=t.owner+"/_git/"+t.name)):4===a.length&&(t.organization=a[0],t.owner=a[1],t.name=a[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name),t.query&&t.query.path&&(t.filepath=t.query.path.replace(/^\/+/g,"")),t.query&&t.query.version&&(t.ref=t.query.version.replace(/^GB/,""));break;default:var o=(a=t.name.split("/")).length-1;if(a.length>=2){var s=a.indexOf("-",2),l=a.indexOf("blob",2),u=a.indexOf("tree",2),c=a.indexOf("commit",2),d=a.indexOf("src",2),f=a.indexOf("raw",2),h=a.indexOf("edit",2);o=s>0?s-1:l>0?l-1:u>0?u-1:c>0?c-1:d>0?d-1:f>0?f-1:h>0?h-1:o,t.owner=a.slice(0,o).join("/"),t.name=a[o],c&&(t.commit=a[o+2])}t.ref="",t.filepathtype="",t.filepath="";var p=a.length>o&&"-"===a[o+1]?o+1:o;a.length>p+2&&["raw","src","blob","tree","edit"].indexOf(a[p+1])>=0&&(t.filepathtype=a[p+1],t.ref=a[p+2],a.length>p+3&&(t.filepath=a.slice(p+3).join("/"))),t.organization=t.owner}!t.full_name&&(t.full_name=t.owner,t.name&&(t.full_name&&(t.full_name+="/"),t.full_name+=t.name)),t.owner.startsWith("scm/")&&(t.source="bitbucket-server",t.owner=t.owner.replace("scm/",""),t.organization=t.owner,t.full_name=t.owner+"/"+t.name);var m=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/.exec(t.pathname);return null!=m&&(t.source="bitbucket-server","users"===m[1]?t.owner="~"+m[2]:t.owner=m[2],t.organization=t.owner,t.name=m[3],(a=m[4].split("/")).length>1&&(["raw","browse"].indexOf(a[1])>=0?(t.filepathtype=a[1],a.length>2&&(t.filepath=a.slice(2).join("/"))):"commits"===a[1]&&a.length>2&&(t.commit=a[2])),t.full_name=t.owner+"/"+t.name,t.query.at?t.ref=t.query.at:t.ref=""),t}i.stringify=function(e,t){t=t||(e.protocols&&e.protocols.length?e.protocols.join("+"):e.protocol);var n=e.port?":"+e.port:"",r=e.user||"git",i=e.git_suffix?".git":"";switch(t){case"ssh":if(n)return"ssh://"+r+"@"+e.resource+n+"/"+e.full_name+i;return r+"@"+e.resource+":"+e.full_name+i;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return t+"://"+r+"@"+e.resource+n+"/"+e.full_name+i;case"http":case"https":return t+"://"+(e.token?"bitbucket.org"===e.source?"x-token-auth:"+e.token+"@":e.token+"@":e.user&&(e.protocols.includes("http")||e.protocols.includes("https"))?e.user+"@":"")+e.resource+n+"/"+("bitbucket-server"===e.source?"scm/"+e.full_name:""+e.full_name)+i;default:return e.href}},e.exports=i},6337:function(){!function(){"use strict";if("object"==typeof window){if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype){"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});return}var e=function(e){for(var t=e,n=i(t);n;)n=i(t=n.ownerDocument);return t}(window.document),t=[],n=null,r=null;o.prototype.THROTTLE_TIMEOUT=100,o.prototype.POLL_INTERVAL=null,o.prototype.USE_MUTATION_OBSERVER=!0,o._setupCrossOriginUpdater=function(){return n||(n=function(e,n){r=e&&n?f(e,n):c(),t.forEach(function(e){e._checkForIntersections()})}),n},o._resetCrossOriginUpdater=function(){n=null,r=null},o.prototype.observe=function(e){if(!this._observationTargets.some(function(t){return t.element==e})){if(!(e&&1==e.nodeType))throw Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:e,entry:null}),this._monitorIntersections(e.ownerDocument),this._checkForIntersections()}},o.prototype.unobserve=function(e){this._observationTargets=this._observationTargets.filter(function(t){return t.element!=e}),this._unmonitorIntersections(e.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},o.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},o.prototype.takeRecords=function(){var e=this._queuedEntries.slice();return this._queuedEntries=[],e},o.prototype._initThresholds=function(e){var t=e||[0];return Array.isArray(t)||(t=[t]),t.sort().filter(function(e,t,n){if("number"!=typeof e||isNaN(e)||e<0||e>1)throw Error("threshold must be a number between 0 and 1 inclusively");return e!==n[t-1]})},o.prototype._parseRootMargin=function(e){var t=(e||"0px").split(/\s+/).map(function(e){var t=/^(-?\d*\.?\d+)(px|%)$/.exec(e);if(!t)throw Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(t[1]),unit:t[2]}});return t[1]=t[1]||t[0],t[2]=t[2]||t[0],t[3]=t[3]||t[1],t},o.prototype._monitorIntersections=function(t){var n=t.defaultView;if(n&&-1==this._monitoringDocuments.indexOf(t)){var r=this._checkForIntersections,a=null,o=null;if(this.POLL_INTERVAL?a=n.setInterval(r,this.POLL_INTERVAL):(s(n,"resize",r,!0),s(t,"scroll",r,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in n&&(o=new n.MutationObserver(r)).observe(t,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this._monitoringDocuments.push(t),this._monitoringUnsubscribes.push(function(){var e=t.defaultView;e&&(a&&e.clearInterval(a),l(e,"resize",r,!0)),l(t,"scroll",r,!0),o&&o.disconnect()}),t!=(this.root&&(this.root.ownerDocument||this.root)||e)){var u=i(t);u&&this._monitorIntersections(u.ownerDocument)}}},o.prototype._unmonitorIntersections=function(t){var n=this._monitoringDocuments.indexOf(t);if(-1!=n){var r=this.root&&(this.root.ownerDocument||this.root)||e;if(!this._observationTargets.some(function(e){var n=e.element.ownerDocument;if(n==t)return!0;for(;n&&n!=r;){var a=i(n);if((n=a&&a.ownerDocument)==t)return!0}return!1})){var a=this._monitoringUnsubscribes[n];if(this._monitoringDocuments.splice(n,1),this._monitoringUnsubscribes.splice(n,1),a(),t!=r){var o=i(t);o&&this._unmonitorIntersections(o.ownerDocument)}}}},o.prototype._unmonitorAllIntersections=function(){var e=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var t=0;t=0&&s>=0&&{top:n,bottom:r,left:i,right:a,width:o,height:s}||null}(c,o)),!o)break;s=s&&p(s)}return o}},o.prototype._getRootRect=function(){var t;if(this.root&&!m(this.root))t=u(this.root);else{var n=m(this.root)?this.root:e,r=n.documentElement,i=n.body;t={top:0,left:0,right:r.clientWidth||i.clientWidth,width:r.clientWidth||i.clientWidth,bottom:r.clientHeight||i.clientHeight,height:r.clientHeight||i.clientHeight}}return this._expandRectByRootMargin(t)},o.prototype._expandRectByRootMargin=function(e){var t=this._rootMarginValues.map(function(t,n){return"px"==t.unit?t.value:t.value*(n%2?e.width:e.height)/100}),n={top:e.top-t[0],right:e.right+t[1],bottom:e.bottom+t[2],left:e.left-t[3]};return n.width=n.right-n.left,n.height=n.bottom-n.top,n},o.prototype._hasCrossedThreshold=function(e,t){var n=e&&e.isIntersecting?e.intersectionRatio||0:-1,r=t.isIntersecting?t.intersectionRatio||0:-1;if(n!==r)for(var i=0;it.indexOf(this)&&t.push(this)},o.prototype._unregisterInstance=function(){var e=t.indexOf(this);-1!=e&&t.splice(e,1)},window.IntersectionObserver=o,window.IntersectionObserverEntry=a}function i(e){try{return e.defaultView&&e.defaultView.frameElement||null}catch(e){return null}}function a(e){this.time=e.time,this.target=e.target,this.rootBounds=d(e.rootBounds),this.boundingClientRect=d(e.boundingClientRect),this.intersectionRect=d(e.intersectionRect||c()),this.isIntersecting=!!e.intersectionRect;var t=this.boundingClientRect,n=t.width*t.height,r=this.intersectionRect,i=r.width*r.height;n?this.intersectionRatio=Number((i/n).toFixed(4)):this.intersectionRatio=this.isIntersecting?1:0}function o(e,t){var n,r,i,a=t||{};if("function"!=typeof e)throw Error("callback must be a function");if(a.root&&1!=a.root.nodeType&&9!=a.root.nodeType)throw Error("root must be a Document or Element");this._checkForIntersections=(n=this._checkForIntersections.bind(this),r=this.THROTTLE_TIMEOUT,i=null,function(){i||(i=setTimeout(function(){n(),i=null},r))}),this._callback=e,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(a.rootMargin),this.thresholds=this._initThresholds(a.threshold),this.root=a.root||null,this.rootMargin=this._rootMarginValues.map(function(e){return e.value+e.unit}).join(" "),this._monitoringDocuments=[],this._monitoringUnsubscribes=[]}function s(e,t,n,r){"function"==typeof e.addEventListener?e.addEventListener(t,n,r||!1):"function"==typeof e.attachEvent&&e.attachEvent("on"+t,n)}function l(e,t,n,r){"function"==typeof e.removeEventListener?e.removeEventListener(t,n,r||!1):"function"==typeof e.detachEvent&&e.detachEvent("on"+t,n)}function u(e){var t;try{t=e.getBoundingClientRect()}catch(e){}return t?(t.width&&t.height||(t={top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:t.right-t.left,height:t.bottom-t.top}),t):c()}function c(){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}function d(e){return!e||"x"in e?e:{top:e.top,y:e.top,bottom:e.bottom,left:e.left,x:e.left,right:e.right,width:e.width,height:e.height}}function f(e,t){var n=t.top-e.top,r=t.left-e.left;return{top:n,left:r,height:t.height,width:t.width,bottom:n+t.height,right:r+t.width}}function h(e,t){for(var n=t;n;){if(n==e)return!0;n=p(n)}return!1}function p(t){var n=t.parentNode;return 9==t.nodeType&&t!=e?i(t):(n&&n.assignedSlot&&(n=n.assignedSlot.parentNode),n&&11==n.nodeType&&n.host)?n.host:n}function m(e){return e&&9===e.nodeType}}()},9073:function(e,t,n){"use strict";var r=n(2337);e.exports=function e(t){if(Array.isArray(t))return -1!==t.indexOf("ssh")||-1!==t.indexOf("rsync");if("string"!=typeof t)return!1;var n=r(t);if(t=t.substring(t.indexOf("://")+3),e(n))return!0;var i=RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!t.match(i)&&t.indexOf("@")-1},R.prototype.set=function(e,t){var n=this.__data__,r=A(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},I.prototype.clear=function(){this.__data__={hash:new N,map:new(O||R),string:new N}},I.prototype.delete=function(e){return L(this,e).delete(e)},I.prototype.get=function(e){return L(this,e).get(e)},I.prototype.has=function(e){return L(this,e).has(e)},I.prototype.set=function(e,t){return L(this,e).set(e,t),this};var M=Z(function(e){e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(z(e))return S?S.call(e):"";var t=e+"";return"0"==t&&1/e==-a?"-0":t}(t);var t,n=[];return l.test(e)&&n.push(""),e.replace(u,function(e,t,r,i){n.push(r?i.replace(c,"$1"):t||e)}),n});function Z(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o),o};return n.cache=new(Z.Cache||I),n}Z.Cache=I;var D=Array.isArray;function F(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function z(e){return"symbol"==typeof e||!!e&&"object"==typeof e&&"[object Symbol]"==k.call(e)}e.exports=function(e,t,n){var r=null==e?void 0:function(e,t){var n;t=!function(e,t){if(D(e))return!1;var n=typeof e;return!!("number"==n||"symbol"==n||"boolean"==n||null==e||z(e))||s.test(e)||!o.test(e)||null!=t&&e in Object(t)}(t,e)?D(n=t)?n:M(n):[t];for(var r=0,i=t.length;null!=e&&r{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),null==n?void 0:n.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let r=!1,i=!1;n.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>r,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{r=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}(null==r?void 0:r.current)&&r.current(e)}}))}function x(e){return o.use?{fetchPriority:e}:{fetchpriority:e}}let g=(0,o.forwardRef)((e,t)=>{let{src:n,srcSet:r,sizes:i,height:s,width:l,decoding:u,className:c,style:d,fetchPriority:f,placeholder:h,loading:p,unoptimized:g,fill:v,onLoadRef:y,onLoadingCompleteRef:b,setBlurComplete:w,setShowAltText:k,sizesInput:_,onLoad:j,onError:E,...O}=e;return(0,a.jsx)("img",{...O,...x(f),loading:p,width:l,height:s,decoding:u,"data-nimg":v?"fill":"1",className:c,style:d,sizes:i,srcSet:r,src:n,ref:(0,o.useCallback)(e=>{t&&("function"==typeof t?t(e):"object"==typeof t&&(t.current=e)),e&&(E&&(e.src=e.src),e.complete&&m(e,h,y,b,w,g,_))},[n,h,y,b,w,E,g,_,t]),onLoad:e=>{m(e.currentTarget,h,y,b,w,g,_)},onError:e=>{k(!0),"empty"!==h&&w(!0),E&&E(e)}})});function v(e){let{isAppRouter:t,imgAttributes:n}=e,r={as:"image",imageSrcSet:n.srcSet,imageSizes:n.sizes,crossOrigin:n.crossOrigin,referrerPolicy:n.referrerPolicy,...x(n.fetchPriority)};return t&&s.default.preload?(s.default.preload(n.src,r),null):(0,a.jsx)(l.default,{children:(0,a.jsx)("link",{rel:"preload",href:n.srcSet?void 0:n.src,...r},"__nimg-"+n.src+n.srcSet+n.sizes)})}let y=(0,o.forwardRef)((e,t)=>{let n=(0,o.useContext)(f.RouterContext),r=(0,o.useContext)(d.ImageConfigContext),i=(0,o.useMemo)(()=>{let e=p||r||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),n=e.deviceSizes.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:n}},[r]),{onLoad:s,onLoadingComplete:l}=e,m=(0,o.useRef)(s);(0,o.useEffect)(()=>{m.current=s},[s]);let x=(0,o.useRef)(l);(0,o.useEffect)(()=>{x.current=l},[l]);let[y,b]=(0,o.useState)(!1),[w,k]=(0,o.useState)(!1),{props:_,meta:j}=(0,u.getImgProps)(e,{defaultLoader:h.default,imgConf:i,blurComplete:y,showAltText:w});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g,{..._,unoptimized:j.unoptimized,placeholder:j.placeholder,fill:j.fill,onLoadRef:m,onLoadingCompleteRef:x,setBlurComplete:b,setShowAltText:k,sizesInput:e.sizes,ref:t}),j.priority?(0,a.jsx)(v,{isAppRouter:!n,imgAttributes:_}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9577:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return b}});let r=n(8754),i=n(5893),a=r._(n(7294)),o=n(1401),s=n(2045),l=n(7420),u=n(7201),c=n(1443),d=n(9953),f=n(5320),h=n(2905),p=n(4318),m=n(953),x=n(6691),g=new Set;function v(e,t,n,r,i,a){if(a||(0,s.isLocalURL)(t)){if(!r.bypassPrefetchedCheck){let i=t+"%"+n+"%"+(void 0!==r.locale?r.locale:"locale"in e?e.locale:void 0);if(g.has(i))return;g.add(i)}(async()=>a?e.prefetch(t,i):e.prefetch(t,n,r))().catch(e=>{})}}function y(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}let b=a.default.forwardRef(function(e,t){let n,r;let{href:l,as:g,children:b,prefetch:w=null,passHref:k,replace:_,shallow:j,scroll:E,locale:O,onClick:T,onMouseEnter:C,onTouchStart:S,legacyBehavior:N=!1,...R}=e;n=b,N&&("string"==typeof n||"number"==typeof n)&&(n=(0,i.jsx)("a",{children:n}));let I=a.default.useContext(d.RouterContext),A=a.default.useContext(f.AppRouterContext),L=null!=I?I:A,P=!I,M=!1!==w,Z=null===w?x.PrefetchKind.AUTO:x.PrefetchKind.FULL,{href:D,as:F}=a.default.useMemo(()=>{if(!I){let e=y(l);return{href:e,as:g?y(g):e}}let[e,t]=(0,o.resolveHref)(I,l,!0);return{href:e,as:g?(0,o.resolveHref)(I,g):t||e}},[I,l,g]),z=a.default.useRef(D),$=a.default.useRef(F);N&&(r=a.default.Children.only(n));let U=N?r&&"object"==typeof r&&r.ref:t,[W,H,G]=(0,h.useIntersection)({rootMargin:"200px"}),V=a.default.useCallback(e=>{($.current!==F||z.current!==D)&&(G(),$.current=F,z.current=D),W(e),U&&("function"==typeof U?U(e):"object"==typeof U&&(U.current=e))},[F,U,D,G,W]);a.default.useEffect(()=>{L&&H&&M&&v(L,D,F,{locale:O},{kind:Z},P)},[F,D,H,O,M,null==I?void 0:I.locale,L,P,Z]);let B={ref:V,onClick(e){N||"function"!=typeof T||T(e),N&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),L&&!e.defaultPrevented&&function(e,t,n,r,i,o,l,u,c){let{nodeName:d}=e.currentTarget;if("A"===d.toUpperCase()&&(function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||!c&&!(0,s.isLocalURL)(n)))return;e.preventDefault();let f=()=>{let e=null==l||l;"beforePopState"in t?t[i?"replace":"push"](n,r,{shallow:o,locale:u,scroll:e}):t[i?"replace":"push"](r||n,{scroll:e})};c?a.default.startTransition(f):f()}(e,L,D,F,_,j,E,O,P)},onMouseEnter(e){N||"function"!=typeof C||C(e),N&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),L&&(M||!P)&&v(L,D,F,{locale:O,priority:!0,bypassPrefetchedCheck:!0},{kind:Z},P)},onTouchStart:function(e){N||"function"!=typeof S||S(e),N&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),L&&(M||!P)&&v(L,D,F,{locale:O,priority:!0,bypassPrefetchedCheck:!0},{kind:Z},P)}};if((0,u.isAbsoluteUrl)(F))B.href=F;else if(!N||k||"a"===r.type&&!("href"in r.props)){let e=void 0!==O?O:null==I?void 0:I.locale,t=(null==I?void 0:I.isLocaleDomain)&&(0,p.getDomainLocale)(F,e,null==I?void 0:I.locales,null==I?void 0:I.domainLocales);B.href=t||(0,m.addBasePath)((0,c.addLocale)(F,e,null==I?void 0:I.defaultLocale))}return N?a.default.cloneElement(r,B):(0,i.jsx)("a",{...R,...B,children:n})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2905:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return l}});let r=n(7294),i=n(3815),a="function"==typeof IntersectionObserver,o=new Map,s=[];function l(e){let{rootRef:t,rootMargin:n,disabled:l}=e,u=l||!a,[c,d]=(0,r.useState)(!1),f=(0,r.useRef)(null),h=(0,r.useCallback)(e=>{f.current=e},[]);return(0,r.useEffect)(()=>{if(a){if(u||c)return;let e=f.current;if(e&&e.tagName)return function(e,t,n){let{id:r,observer:i,elements:a}=function(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=s.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=o.get(r)))return t;let i=new Map;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=i.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),elements:i},s.push(n),o.set(n,t),t}(n);return a.set(e,t),i.observe(e),function(){if(a.delete(e),i.unobserve(e),0===a.size){i.disconnect(),o.delete(r);let e=s.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&s.splice(e,1)}}}(e,e=>e&&d(e),{root:null==t?void 0:t.current,rootMargin:n})}else if(!c){let e=(0,i.requestIdleCallback)(()=>d(!0));return()=>(0,i.cancelIdleCallback)(e)}},[u,n,t,c,f.current]),[h,c,(0,r.useCallback)(()=>{d(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7367:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return s}}),n(1997);let r=n(9919),i=n(7903);function a(e){return void 0!==e.default}function o(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function s(e,t){var n;let s,l,u,{src:c,sizes:d,unoptimized:f=!1,priority:h=!1,loading:p,className:m,quality:x,width:g,height:v,fill:y=!1,style:b,overrideSrc:w,onLoad:k,onLoadingComplete:_,placeholder:j="empty",blurDataURL:E,fetchPriority:O,layout:T,objectFit:C,objectPosition:S,lazyBoundary:N,lazyRoot:R,...I}=e,{imgConf:A,showAltText:L,blurComplete:P,defaultLoader:M}=t,Z=A||i.imageConfigDefault;if("allSizes"in Z)s=Z;else{let e=[...Z.deviceSizes,...Z.imageSizes].sort((e,t)=>e-t),t=Z.deviceSizes.sort((e,t)=>e-t);s={...Z,allSizes:e,deviceSizes:t}}if(void 0===M)throw Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config");let D=I.loader||M;delete I.loader,delete I.srcSet;let F="__next_img_default"in D;if(F){if("custom"===s.loader)throw Error('Image with src "'+c+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader')}else{let e=D;D=t=>{let{config:n,...r}=t;return e(r)}}if(T){"fill"===T&&(y=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[T];e&&(b={...b,...e});let t={responsive:"100vw",fill:"100vw"}[T];t&&!d&&(d=t)}let z="",$=o(g),U=o(v);if("object"==typeof(n=c)&&(a(n)||void 0!==n.src)){let e=a(c)?c.default:c;if(!e.src)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e));if(!e.height||!e.width)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e));if(l=e.blurWidth,u=e.blurHeight,E=E||e.blurDataURL,z=e.src,!y){if($||U){if($&&!U){let t=$/e.width;U=Math.round(e.height*t)}else if(!$&&U){let t=U/e.height;$=Math.round(e.width*t)}}else $=e.width,U=e.height}}let W=!h&&("lazy"===p||void 0===p);(!(c="string"==typeof c?c:z)||c.startsWith("data:")||c.startsWith("blob:"))&&(f=!0,W=!1),s.unoptimized&&(f=!0),F&&c.endsWith(".svg")&&!s.dangerouslyAllowSVG&&(f=!0),h&&(O="high");let H=o(x),G=Object.assign(y?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:C,objectPosition:S}:{},L?{}:{color:"transparent"},b),V=P||"empty"===j?null:"blur"===j?'url("data:image/svg+xml;charset=utf-8,'+(0,r.getImageBlurSvg)({widthInt:$,heightInt:U,blurWidth:l,blurHeight:u,blurDataURL:E||"",objectFit:G.objectFit})+'")':'url("'+j+'")',B=V?{backgroundSize:G.objectFit||"cover",backgroundPosition:G.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:V}:{},q=function(e){let{config:t,src:n,unoptimized:r,width:i,quality:a,sizes:o,loader:s}=e;if(r)return{src:n,srcSet:void 0,sizes:void 0};let{widths:l,kind:u}=function(e,t,n){let{deviceSizes:r,allSizes:i}=e;if(n){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let r;r=e.exec(n);r)t.push(parseInt(r[2]));if(t.length){let e=.01*Math.min(...t);return{widths:i.filter(t=>t>=r[0]*e),kind:"w"}}return{widths:i,kind:"w"}}return"number"!=typeof t?{widths:r,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>i.find(t=>t>=e)||i[i.length-1]))],kind:"x"}}(t,i,o),c=l.length-1;return{sizes:o||"w"!==u?o:"100vw",srcSet:l.map((e,r)=>s({config:t,src:n,quality:a,width:e})+" "+("w"===u?e:r+1)+u).join(", "),src:s({config:t,src:n,quality:a,width:l[c]})}}({config:s,src:c,unoptimized:f,width:$,quality:H,sizes:d,loader:D});return{props:{...I,loading:W?"lazy":p,fetchPriority:O,width:$,height:U,decoding:"async",className:m,style:{...G,...B},sizes:q.sizes,srcSet:q.srcSet,src:w||q.src},meta:{unoptimized:f,priority:h,placeholder:j,fill:y}}}},9919:function(e,t){"use strict";function n(e){let{widthInt:t,heightInt:n,blurWidth:r,blurHeight:i,blurDataURL:a,objectFit:o}=e,s=r?40*r:t,l=i?40*i:n,u=s&&l?"viewBox='0 0 "+s+" "+l+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+u+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(u?"none":"contain"===o?"xMidYMid":"cover"===o?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+a+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},5666:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return l},getImageProps:function(){return s}});let r=n(8754),i=n(7367),a=n(6541),o=r._(n(6663));function s(e){let{props:t}=(0,i.getImgProps)(e,{defaultLoader:o.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,n]of Object.entries(t))void 0===n&&delete t[e];return{props:t}}let l=a.Image},6663:function(e,t){"use strict";function n(e){let{config:t,src:n,width:r,quality:i}=e;return t.path+"?url="+encodeURIComponent(n)+"&w="+r+"&q="+(i||75)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}}),n.__next_img_default=!0;let r=n},9488:function(){},1864:function(e){!function(){"use strict";var t={114:function(e){function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",i=0,a=-1,o=0,s=0;s<=e.length;++s){if(s2){var l=r.lastIndexOf("/");if(l!==r.length-1){-1===l?(r="",i=0):i=(r=r.slice(0,l)).length-1-r.lastIndexOf("/"),a=s,o=0;continue}}else if(2===r.length||1===r.length){r="",i=0,a=s,o=0;continue}}t&&(r.length>0?r+="/..":r="..",i=2)}else r.length>0?r+="/"+e.slice(a+1,s):r=e.slice(a+1,s),i=s-a-1;a=s,o=0}else 46===n&&-1!==o?++o:o=-1}return r}var r={resolve:function(){for(var e,r,i="",a=!1,o=arguments.length-1;o>=-1&&!a;o--)o>=0?r=arguments[o]:(void 0===e&&(e=""),r=e),t(r),0!==r.length&&(i=r+"/"+i,a=47===r.charCodeAt(0));return(i=n(i,!a),a)?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return(0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&i&&(e+="/"),r)?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n||(e=r.resolve(e))===(n=r.resolve(n)))return"";for(var i=1;iu){if(47===n.charCodeAt(s+d))return n.slice(s+d+1);if(0===d)return n.slice(s+d)}else o>u&&(47===e.charCodeAt(i+d)?c=d:0===d&&(c=0));break}var f=e.charCodeAt(i+d);if(f!==n.charCodeAt(s+d))break;47===f&&(c=d)}var h="";for(d=i+c+1;d<=a;++d)(d===a||47===e.charCodeAt(d))&&(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(s+c):(s+=c,47===n.charCodeAt(s)&&++s,n.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,i=-1,a=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!a){i=o;break}}else a=!1;return -1===i?r?"/":".":r&&1===i?"//":e.slice(0,i)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw TypeError('"ext" argument must be a string');t(e);var r,i=0,a=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var s=n.length-1,l=-1;for(r=e.length-1;r>=0;--r){var u=e.charCodeAt(r);if(47===u){if(!o){i=r+1;break}}else -1===l&&(o=!1,l=r+1),s>=0&&(u===n.charCodeAt(s)?-1==--s&&(a=r):(s=-1,a=l))}return i===a?a=l:-1===a&&(a=e.length),e.slice(i,a)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!o){i=r+1;break}}else -1===a&&(o=!1,a=r+1);return -1===a?"":e.slice(i,a)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,a=!0,o=0,s=e.length-1;s>=0;--s){var l=e.charCodeAt(s);if(47===l){if(!a){r=s+1;break}continue}-1===i&&(a=!1,i=s+1),46===l?-1===n?n=s:1!==o&&(o=1):-1!==n&&(o=-1)}return -1===n||-1===i||0===o||1===o&&n===i-1&&n===r+1?"":e.slice(n,i)},format:function(e){var t,n;if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,n=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+n:t+"/"+n:n},parse:function(e){t(e);var n,r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var i=e.charCodeAt(0),a=47===i;a?(r.root="/",n=1):n=0;for(var o=-1,s=0,l=-1,u=!0,c=e.length-1,d=0;c>=n;--c){if(47===(i=e.charCodeAt(c))){if(!u){s=c+1;break}continue}-1===l&&(u=!1,l=c+1),46===i?-1===o?o=c:1!==d&&(d=1):-1!==o&&(d=-1)}return -1===o||-1===l||0===d||1===d&&o===l-1&&o===s+1?-1!==l&&(0===s&&a?r.base=r.name=e.slice(1,l):r.base=r.name=e.slice(s,l)):(0===s&&a?(r.name=e.slice(1,o),r.base=e.slice(1,l)):(r.name=e.slice(s,o),r.base=e.slice(s,l)),r.ext=e.slice(o,l)),s>0?r.dir=e.slice(0,s-1):a&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r}},n={};function r(e){var i=n[e];if(void 0!==i)return i.exports;var a=n[e]={exports:{}},o=!0;try{t[e](a,a.exports,r),o=!1}finally{o&&delete n[e]}return a.exports}r.ab="//";var i=r(114);e.exports=i}()},9008:function(e,t,n){e.exports=n(7828)},5675:function(e,t,n){e.exports=n(5666)},1664:function(e,t,n){e.exports=n(9577)},1163:function(e,t,n){e.exports=n(9090)},1334:function(e,t,n){"use strict";let r,i,a,o,s,l,u,c,d,f,h;n.d(t,{ZP:function(){return oH}});var p,m,x,g,v,y,b,w,k,_,j,E,O,T,C,S,N=n(1163),R=n(7294);n(5202);var I=n(512);function A(){let[e,t]=(0,R.useState)(!1);return(0,R.useEffect)(()=>{t(!0)},[]),e}var L=n(7222),P=()=>{let{locale:e=L.ZW,asPath:t,route:n}=(0,N.useRouter)();return(0,R.useMemo)(()=>{let{pathname:r}=new URL(L.hV.has(n)?n:t,"https://nextra.vercel.app");return(e?r.replace(RegExp(`\\.${e}(\\/|$)`),"$1"):r).replace(/\.html$/,"").replace(/\/index(\/|$)/,"$1").replace(/\/$/,"")||"/"},[t,e,n])},M=n(2643),Z=n(4861);(p=k||(k={})).assertEqual=e=>e,p.assertIs=function(e){},p.assertNever=function(e){throw Error()},p.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},p.getValidEnumValues=e=>{let t=p.objectKeys(e).filter(t=>"number"!=typeof e[e[t]]),n={};for(let r of t)n[r]=e[r];return p.objectValues(n)},p.objectValues=e=>p.objectKeys(e).map(function(t){return e[t]}),p.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},p.find=(e,t)=>{for(let n of e)if(t(n))return n},p.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,p.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},p.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t,(_||(_={})).mergeShapes=(e,t)=>({...e,...t});let D=k.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),F=e=>{switch(typeof e){case"undefined":return D.undefined;case"string":return D.string;case"number":return isNaN(e)?D.nan:D.number;case"boolean":return D.boolean;case"function":return D.function;case"bigint":return D.bigint;case"symbol":return D.symbol;case"object":if(Array.isArray(e))return D.array;if(null===e)return D.null;if(e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch)return D.promise;if("undefined"!=typeof Map&&e instanceof Map)return D.map;if("undefined"!=typeof Set&&e instanceof Set)return D.set;if("undefined"!=typeof Date&&e instanceof Date)return D.date;return D.object;default:return D.unknown}},z=k.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class $ extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(r);else if("invalid_return_type"===i.code)r(i.returnTypeError);else if("invalid_arguments"===i.code)r(i.argumentsError);else if(0===i.path.length)n._errors.push(t(i));else{let e=n,r=0;for(;re.message){let t={},n=[];for(let r of this.issues)r.path.length>0?(t[r.path[0]]=t[r.path[0]]||[],t[r.path[0]].push(e(r))):n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}$.create=e=>new $(e);let U=(e,t)=>{let n;switch(e.code){case z.invalid_type:n=e.received===D.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case z.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,k.jsonStringifyReplacer)}`;break;case z.unrecognized_keys:n=`Unrecognized key(s) in object: ${k.joinValues(e.keys,", ")}`;break;case z.invalid_union:n="Invalid input";break;case z.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${k.joinValues(e.options)}`;break;case z.invalid_enum_value:n=`Invalid enum value. Expected ${k.joinValues(e.options)}, received '${e.received}'`;break;case z.invalid_arguments:n="Invalid function arguments";break;case z.invalid_return_type:n="Invalid function return type";break;case z.invalid_date:n="Invalid date";break;case z.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:k.assertNever(e.validation):n="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case z.too_small:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case z.too_big:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case z.custom:n="Invalid input";break;case z.invalid_intersection_types:n="Intersection results could not be merged";break;case z.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case z.not_finite:n="Number must be finite";break;default:n=t.defaultError,k.assertNever(e)}return{message:n}},W=U;function H(){return W}let G=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(void 0!==i.message)return{...i,path:a,message:i.message};let s="";for(let e of r.filter(e=>!!e).slice().reverse())s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function V(e,t){let n=H(),r=G({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===U?void 0:U].filter(e=>!!e)});e.common.issues.push(r)}class B{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){let n=[];for(let r of t){if("aborted"===r.status)return q;"dirty"===r.status&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){let n=[];for(let e of t){let t=await e.key,r=await e.value;n.push({key:t,value:r})}return B.mergeObjectSync(e,n)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if("aborted"===t.status||"aborted"===i.status)return q;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"!==t.value&&(void 0!==i.value||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}}let q=Object.freeze({status:"aborted"}),K=e=>({status:"dirty",value:e}),Y=e=>({status:"valid",value:e}),Q=e=>"aborted"===e.status,J=e=>"dirty"===e.status,X=e=>"valid"===e.status,ee=e=>"undefined"!=typeof Promise&&e instanceof Promise;function et(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function en(e,t,n,r,i){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n}"function"==typeof SuppressedError&&SuppressedError,(m=j||(j={})).errToObj=e=>"string"==typeof e?{message:e}:e||{},m.toString=e=>"string"==typeof e?e:null==e?void 0:e.message;class er{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}let ei=(e,t)=>{if(X(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let t=new $(e.common.issues);return this._error=t,this._error}}};function ea(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{var a,o;let{message:s}=e;return"invalid_enum_value"===t.code?{message:null!=s?s:i.defaultError}:void 0===i.data?{message:null!==(a=null!=s?s:r)&&void 0!==a?a:i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:null!==(o=null!=s?s:n)&&void 0!==o?o:i.defaultError}},description:i}}class eo{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return F(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:F(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new B,ctx:{common:e.parent.common,data:e.data,parsedType:F(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(ee(t))throw Error("Synchronous parse encountered promise.");return t}_parseAsync(e){return Promise.resolve(this._parse(e))}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;let r={common:{issues:[],async:null!==(n=null==t?void 0:t.async)&&void 0!==n&&n,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:F(e)},i=this._parseSync({data:e,path:r.path,parent:r});return ei(r,i)}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:F(e)},r=this._parse({data:e,path:n.path,parent:n});return ei(n,await (ee(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:z.custom,...n(t)});return"undefined"!=typeof Promise&&i instanceof Promise?i.then(e=>!!e||(a(),!1)):!!i||(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>!!e(n)||(r.addIssue("function"==typeof t?t(n,r):t),!1))}_refinement(e){return new eY({schema:this,typeName:T.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return eQ.create(this,this._def)}nullable(){return eJ.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return eA.create(this,this._def)}promise(){return eK.create(this,this._def)}or(e){return eP.create([this,e],this._def)}and(e){return eD.create(this,e,this._def)}transform(e){return new eY({...ea(this._def),schema:this,typeName:T.ZodEffects,effect:{type:"transform",transform:e}})}default(e){return new eX({...ea(this._def),innerType:this,defaultValue:"function"==typeof e?e:()=>e,typeName:T.ZodDefault})}brand(){return new e4({typeName:T.ZodBranded,type:this,...ea(this._def)})}catch(e){return new e0({...ea(this._def),innerType:this,catchValue:"function"==typeof e?e:()=>e,typeName:T.ZodCatch})}describe(e){return new this.constructor({...this._def,description:e})}pipe(e){return e5.create(this,e)}readonly(){return e3.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}let es=/^c[^\s-]{8,}$/i,el=/^[0-9a-z]+$/,eu=/^[0-9A-HJKMNP-TV-Z]{26}$/,ec=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,ed=/^[a-z0-9_-]{21}$/i,ef=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,eh=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ep=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,em=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ex=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,eg="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",ev=RegExp(`^${eg}$`);function ey(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`),t}function eb(e){let t=`${eg}T${ey(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,RegExp(`^${t}$`)}class ew extends eo{_parse(e){var t,n;let i;if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==D.string){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.string,received:t.parsedType}),q}let a=new B;for(let o of this._def.checks)if("min"===o.kind)e.data.lengtho.value&&(V(i=this._getOrReturnCtx(e,i),{code:z.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),a.dirty());else if("length"===o.kind){let t=e.data.length>o.value,n=e.data.lengthe.test(t),{validation:t,code:z.invalid_string,...j.errToObj(n)})}_addCheck(e){return new ew({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...j.errToObj(e)})}url(e){return this._addCheck({kind:"url",...j.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...j.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...j.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...j.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...j.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...j.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...j.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...j.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...j.errToObj(e)})}datetime(e){var t,n;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,local:null!==(n=null==e?void 0:e.local)&&void 0!==n&&n,...j.errToObj(null==e?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,...j.errToObj(null==e?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...j.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...j.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...j.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...j.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...j.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...j.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...j.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...j.errToObj(t)})}nonempty(e){return this.min(1,j.errToObj(e))}trim(){return new ew({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ew({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ew({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>"datetime"===e.kind)}get isDate(){return!!this._def.checks.find(e=>"date"===e.kind)}get isTime(){return!!this._def.checks.find(e=>"time"===e.kind)}get isDuration(){return!!this._def.checks.find(e=>"duration"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>"email"===e.kind)}get isURL(){return!!this._def.checks.find(e=>"url"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>"emoji"===e.kind)}get isUUID(){return!!this._def.checks.find(e=>"uuid"===e.kind)}get isNANOID(){return!!this._def.checks.find(e=>"nanoid"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>"cuid"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>"cuid2"===e.kind)}get isULID(){return!!this._def.checks.find(e=>"ulid"===e.kind)}get isIP(){return!!this._def.checks.find(e=>"ip"===e.kind)}get isBase64(){return!!this._def.checks.find(e=>"base64"===e.kind)}get minLength(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new ew({checks:[],typeName:T.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...ea(e)})};class ek extends eo{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){let t;if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==D.number){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.number,received:t.parsedType}),q}let n=new B;for(let r of this._def.checks)"int"===r.kind?k.isInteger(e.data)||(V(t=this._getOrReturnCtx(e,t),{code:z.invalid_type,expected:"integer",received:"float",message:r.message}),n.dirty()):"min"===r.kind?(r.inclusive?e.datar.value:e.data>=r.value)&&(V(t=this._getOrReturnCtx(e,t),{code:z.too_big,maximum:r.value,type:"number",inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):"multipleOf"===r.kind?0!==function(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r;return parseInt(e.toFixed(i).replace(".",""))%parseInt(t.toFixed(i).replace(".",""))/Math.pow(10,i)}(e.data,r.value)&&(V(t=this._getOrReturnCtx(e,t),{code:z.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):"finite"===r.kind?Number.isFinite(e.data)||(V(t=this._getOrReturnCtx(e,t),{code:z.not_finite,message:r.message}),n.dirty()):k.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,j.toString(t))}gt(e,t){return this.setLimit("min",e,!1,j.toString(t))}lte(e,t){return this.setLimit("max",e,!0,j.toString(t))}lt(e,t){return this.setLimit("max",e,!1,j.toString(t))}setLimit(e,t,n,r){return new ek({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:j.toString(r)}]})}_addCheck(e){return new ek({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:j.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:j.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:j.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:j.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:j.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:j.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:j.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:j.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:j.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&k.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.valuenew ek({checks:[],typeName:T.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...ea(e)});class e_ extends eo{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){let t;if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==D.bigint){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.bigint,received:t.parsedType}),q}let n=new B;for(let r of this._def.checks)"min"===r.kind?(r.inclusive?e.datar.value:e.data>=r.value)&&(V(t=this._getOrReturnCtx(e,t),{code:z.too_big,type:"bigint",maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):"multipleOf"===r.kind?e.data%r.value!==BigInt(0)&&(V(t=this._getOrReturnCtx(e,t),{code:z.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):k.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,j.toString(t))}gt(e,t){return this.setLimit("min",e,!1,j.toString(t))}lte(e,t){return this.setLimit("max",e,!0,j.toString(t))}lt(e,t){return this.setLimit("max",e,!1,j.toString(t))}setLimit(e,t,n,r){return new e_({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:j.toString(r)}]})}_addCheck(e){return new e_({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:j.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:j.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:j.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:j.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:j.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new e_({checks:[],typeName:T.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...ea(e)})};class ej extends eo{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==D.boolean){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.boolean,received:t.parsedType}),q}return Y(e.data)}}ej.create=e=>new ej({typeName:T.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...ea(e)});class eE extends eo{_parse(e){let t;if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==D.date){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.date,received:t.parsedType}),q}if(isNaN(e.data.getTime()))return V(this._getOrReturnCtx(e),{code:z.invalid_date}),q;let n=new B;for(let r of this._def.checks)"min"===r.kind?e.data.getTime()r.value&&(V(t=this._getOrReturnCtx(e,t),{code:z.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:"date"}),n.dirty()):k.assertNever(r);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new eE({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:j.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:j.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew eE({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:T.ZodDate,...ea(e)});class eO extends eo{_parse(e){if(this._getType(e)!==D.symbol){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.symbol,received:t.parsedType}),q}return Y(e.data)}}eO.create=e=>new eO({typeName:T.ZodSymbol,...ea(e)});class eT extends eo{_parse(e){if(this._getType(e)!==D.undefined){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.undefined,received:t.parsedType}),q}return Y(e.data)}}eT.create=e=>new eT({typeName:T.ZodUndefined,...ea(e)});class eC extends eo{_parse(e){if(this._getType(e)!==D.null){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.null,received:t.parsedType}),q}return Y(e.data)}}eC.create=e=>new eC({typeName:T.ZodNull,...ea(e)});class eS extends eo{constructor(){super(...arguments),this._any=!0}_parse(e){return Y(e.data)}}eS.create=e=>new eS({typeName:T.ZodAny,...ea(e)});class eN extends eo{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Y(e.data)}}eN.create=e=>new eN({typeName:T.ZodUnknown,...ea(e)});class eR extends eo{_parse(e){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.never,received:t.parsedType}),q}}eR.create=e=>new eR({typeName:T.ZodNever,...ea(e)});class eI extends eo{_parse(e){if(this._getType(e)!==D.undefined){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.void,received:t.parsedType}),q}return Y(e.data)}}eI.create=e=>new eI({typeName:T.ZodVoid,...ea(e)});class eA extends eo{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==D.array)return V(t,{code:z.invalid_type,expected:D.array,received:t.parsedType}),q;if(null!==r.exactLength){let e=t.data.length>r.exactLength.value,i=t.data.lengthr.maxLength.value&&(V(t,{code:z.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new er(t,e,t.path,n)))).then(e=>B.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new er(t,e,t.path,n)));return B.mergeArray(n,i)}get element(){return this._def.type}min(e,t){return new eA({...this._def,minLength:{value:e,message:j.toString(t)}})}max(e,t){return new eA({...this._def,maxLength:{value:e,message:j.toString(t)}})}length(e,t){return new eA({...this._def,exactLength:{value:e,message:j.toString(t)}})}nonempty(e){return this.min(1,e)}}eA.create=(e,t)=>new eA({type:e,minLength:null,maxLength:null,exactLength:null,typeName:T.ZodArray,...ea(t)});class eL extends eo{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;let e=this._def.shape(),t=k.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==D.object){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.object,received:t.parsedType}),q}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof eR&&"strip"===this._def.unknownKeys))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:"valid",value:e},value:t._parse(new er(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof eR){let e=this._def.unknownKeys;if("passthrough"===e)for(let e of a)o.push({key:{status:"valid",value:e},value:{status:"valid",value:n.data[e]}});else if("strict"===e)a.length>0&&(V(n,{code:z.unrecognized_keys,keys:a}),t.dirty());else if("strip"===e);else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new er(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>B.mergeObjectSync(t,e)):B.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return j.errToObj,new eL({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{var r,i,a,o;let s=null!==(a=null===(i=(r=this._def).errorMap)||void 0===i?void 0:i.call(r,t,n).message)&&void 0!==a?a:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(o=j.errToObj(e).message)&&void 0!==o?o:s}:{message:s}}}:{}})}strip(){return new eL({...this._def,unknownKeys:"strip"})}passthrough(){return new eL({...this._def,unknownKeys:"passthrough"})}extend(e){return new eL({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new eL({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:T.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new eL({...this._def,catchall:e})}pick(e){let t={};return k.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])}),new eL({...this._def,shape:()=>t})}omit(e){let t={};return k.objectKeys(this.shape).forEach(n=>{e[n]||(t[n]=this.shape[n])}),new eL({...this._def,shape:()=>t})}deepPartial(){return function e(t){if(t instanceof eL){let n={};for(let r in t.shape){let i=t.shape[r];n[r]=eQ.create(e(i))}return new eL({...t._def,shape:()=>n})}return t instanceof eA?new eA({...t._def,type:e(t.element)}):t instanceof eQ?eQ.create(e(t.unwrap())):t instanceof eJ?eJ.create(e(t.unwrap())):t instanceof eF?eF.create(t.items.map(t=>e(t))):t}(this)}partial(e){let t={};return k.objectKeys(this.shape).forEach(n=>{let r=this.shape[n];e&&!e[n]?t[n]=r:t[n]=r.optional()}),new eL({...this._def,shape:()=>t})}required(e){let t={};return k.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof eQ;)e=e._def.innerType;t[n]=e}}),new eL({...this._def,shape:()=>t})}keyof(){return eV(k.objectKeys(this.shape))}}eL.create=(e,t)=>new eL({shape:()=>e,unknownKeys:"strip",catchall:eR.create(),typeName:T.ZodObject,...ea(t)}),eL.strictCreate=(e,t)=>new eL({shape:()=>e,unknownKeys:"strict",catchall:eR.create(),typeName:T.ZodObject,...ea(t)}),eL.lazycreate=(e,t)=>new eL({shape:e,unknownKeys:"strip",catchall:eR.create(),typeName:T.ZodObject,...ea(t)});class eP extends eo{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(function(e){for(let t of e)if("valid"===t.result.status)return t.result;for(let n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new $(e.ctx.common.issues));return V(t,{code:z.invalid_union,unionErrors:n}),q});{let e;let r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if("valid"===a.status)return a;"dirty"!==a.status||e||(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new $(e));return V(t,{code:z.invalid_union,unionErrors:i}),q}}get options(){return this._def.options}}eP.create=(e,t)=>new eP({options:e,typeName:T.ZodUnion,...ea(t)});let eM=e=>{if(e instanceof eH)return eM(e.schema);if(e instanceof eY)return eM(e.innerType());if(e instanceof eG)return[e.value];if(e instanceof eB)return e.options;if(e instanceof eq)return k.objectValues(e.enum);if(e instanceof eX)return eM(e._def.innerType);if(e instanceof eT)return[void 0];else if(e instanceof eC)return[null];else if(e instanceof eQ)return[void 0,...eM(e.unwrap())];else if(e instanceof eJ)return[null,...eM(e.unwrap())];else if(e instanceof e4)return eM(e.unwrap());else if(e instanceof e3)return eM(e.unwrap());else if(e instanceof e0)return eM(e._def.innerType);else return[]};class eZ extends eo{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==D.object)return V(t,{code:z.invalid_type,expected:D.object,received:t.parsedType}),q;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(V(t,{code:z.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),q)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){let r=new Map;for(let n of t){let t=eM(n.shape[e]);if(!t.length)throw Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let i of t){if(r.has(i))throw Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);r.set(i,n)}}return new eZ({typeName:T.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:r,...ea(n)})}}class eD extends eo{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(Q(e)||Q(r))return q;let i=function e(t,n){let r=F(t),i=F(n);if(t===n)return{valid:!0,data:t};if(r===D.object&&i===D.object){let r=k.objectKeys(n),i=k.objectKeys(t).filter(e=>-1!==r.indexOf(e)),a={...t,...n};for(let r of i){let i=e(t[r],n[r]);if(!i.valid)return{valid:!1};a[r]=i.data}return{valid:!0,data:a}}if(r===D.array&&i===D.array){if(t.length!==n.length)return{valid:!1};let r=[];for(let i=0;ir(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}eD.create=(e,t,n)=>new eD({left:e,right:t,typeName:T.ZodIntersection,...ea(n)});class eF extends eo{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==D.array)return V(n,{code:z.invalid_type,expected:D.array,received:n.parsedType}),q;if(n.data.lengththis._def.items.length&&(V(n,{code:z.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new er(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>B.mergeArray(t,e)):B.mergeArray(t,r)}get items(){return this._def.items}rest(e){return new eF({...this._def,rest:e})}}eF.create=(e,t)=>{if(!Array.isArray(e))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new eF({items:e,typeName:T.ZodTuple,rest:null,...ea(t)})};class ez extends eo{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==D.object)return V(n,{code:z.invalid_type,expected:D.object,received:n.parsedType}),q;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new er(n,e,n.path,e)),value:a._parse(new er(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?B.mergeObjectAsync(t,r):B.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(e,t,n){return new ez(t instanceof eo?{keyType:e,valueType:t,typeName:T.ZodRecord,...ea(n)}:{keyType:ew.create(),valueType:e,typeName:T.ZodRecord,...ea(t)})}}class e$ extends eo{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==D.map)return V(n,{code:z.invalid_type,expected:D.map,received:n.parsedType}),q;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new er(n,e,n.path,[a,"key"])),value:i._parse(new er(n,t,n.path,[a,"value"]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if("aborted"===r.status||"aborted"===i.status)return q;("dirty"===r.status||"dirty"===i.status)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}{let e=new Map;for(let n of a){let r=n.key,i=n.value;if("aborted"===r.status||"aborted"===i.status)return q;("dirty"===r.status||"dirty"===i.status)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}}e$.create=(e,t,n)=>new e$({valueType:t,keyType:e,typeName:T.ZodMap,...ea(n)});class eU extends eo{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==D.set)return V(n,{code:z.invalid_type,expected:D.set,received:n.parsedType}),q;let r=this._def;null!==r.minSize&&n.data.sizer.maxSize.value&&(V(n,{code:z.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if("aborted"===r.status)return q;"dirty"===r.status&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new er(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(e,t){return new eU({...this._def,minSize:{value:e,message:j.toString(t)}})}max(e,t){return new eU({...this._def,maxSize:{value:e,message:j.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}eU.create=(e,t)=>new eU({valueType:e,minSize:null,maxSize:null,typeName:T.ZodSet,...ea(t)});class eW extends eo{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==D.function)return V(t,{code:z.invalid_type,expected:D.function,received:t.parsedType}),q;function n(e,n){return G({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,H(),U].filter(e=>!!e),issueData:{code:z.invalid_arguments,argumentsError:n}})}function r(e,n){return G({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,H(),U].filter(e=>!!e),issueData:{code:z.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof eK){let e=this;return Y(async function(...t){let o=new $([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),l=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(l,i).catch(e=>{throw o.addIssue(r(l,e)),o})})}{let e=this;return Y(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new $([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),l=e._def.returns.safeParse(s,i);if(!l.success)throw new $([r(s,l.error)]);return l.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new eW({...this._def,args:eF.create(e).rest(eN.create())})}returns(e){return new eW({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new eW({args:e||eF.create([]).rest(eN.create()),returns:t||eN.create(),typeName:T.ZodFunction,...ea(n)})}}class eH extends eo{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}eH.create=(e,t)=>new eH({getter:e,typeName:T.ZodLazy,...ea(t)});class eG extends eo{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return V(t,{received:t.data,code:z.invalid_literal,expected:this._def.value}),q}return{status:"valid",value:e.data}}get value(){return this._def.value}}function eV(e,t){return new eB({values:e,typeName:T.ZodEnum,...ea(t)})}eG.create=(e,t)=>new eG({value:e,typeName:T.ZodLiteral,...ea(t)});class eB extends eo{constructor(){super(...arguments),E.set(this,void 0)}_parse(e){if("string"!=typeof e.data){let t=this._getOrReturnCtx(e),n=this._def.values;return V(t,{expected:k.joinValues(n),received:t.parsedType,code:z.invalid_type}),q}if(et(this,E,"f")||en(this,E,new Set(this._def.values),"f"),!et(this,E,"f").has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return V(t,{received:t.data,code:z.invalid_enum_value,options:n}),q}return Y(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return eB.create(e,{...this._def,...t})}exclude(e,t=this._def){return eB.create(this.options.filter(t=>!e.includes(t)),{...this._def,...t})}}E=new WeakMap,eB.create=eV;class eq extends eo{constructor(){super(...arguments),O.set(this,void 0)}_parse(e){let t=k.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==D.string&&n.parsedType!==D.number){let e=k.objectValues(t);return V(n,{expected:k.joinValues(e),received:n.parsedType,code:z.invalid_type}),q}if(et(this,O,"f")||en(this,O,new Set(k.getValidEnumValues(this._def.values)),"f"),!et(this,O,"f").has(e.data)){let e=k.objectValues(t);return V(n,{received:n.data,code:z.invalid_enum_value,options:e}),q}return Y(e.data)}get enum(){return this._def.values}}O=new WeakMap,eq.create=(e,t)=>new eq({values:e,typeName:T.ZodNativeEnum,...ea(t)});class eK extends eo{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==D.promise&&!1===t.common.async?(V(t,{code:z.invalid_type,expected:D.promise,received:t.parsedType}),q):Y((t.parsedType===D.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}eK.create=(e,t)=>new eK({type:e,typeName:T.ZodPromise,...ea(t)});class eY extends eo{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===T.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{V(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===r.type){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if("aborted"===t.value)return q;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return"aborted"===r.status?q:"dirty"===r.status||"dirty"===t.value?K(r.value):r});{if("aborted"===t.value)return q;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return"aborted"===r.status?q:"dirty"===r.status||"dirty"===t.value?K(r.value):r}}if("refinement"===r.type){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1!==n.common.async)return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>"aborted"===n.status?q:("dirty"===n.status&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))));{let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===r.status?q:("dirty"===r.status&&t.dirty(),e(r.value),{status:t.value,value:r.value})}}if("transform"===r.type){if(!1!==n.common.async)return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>X(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):e);{let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!X(e))return e;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:a}}}k.assertNever(r)}}eY.create=(e,t,n)=>new eY({schema:e,typeName:T.ZodEffects,effect:t,...ea(n)}),eY.createWithPreprocess=(e,t,n)=>new eY({schema:t,effect:{type:"preprocess",transform:e},typeName:T.ZodEffects,...ea(n)});class eQ extends eo{_parse(e){return this._getType(e)===D.undefined?Y(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}eQ.create=(e,t)=>new eQ({innerType:e,typeName:T.ZodOptional,...ea(t)});class eJ extends eo{_parse(e){return this._getType(e)===D.null?Y(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}eJ.create=(e,t)=>new eJ({innerType:e,typeName:T.ZodNullable,...ea(t)});class eX extends eo{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===D.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}eX.create=(e,t)=>new eX({innerType:e,typeName:T.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...ea(t)});class e0 extends eo{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ee(r)?r.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new $(n.common.issues)},input:n.data})})):{status:"valid",value:"valid"===r.status?r.value:this._def.catchValue({get error(){return new $(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}e0.create=(e,t)=>new e0({innerType:e,typeName:T.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...ea(t)});class e1 extends eo{_parse(e){if(this._getType(e)!==D.nan){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.nan,received:t.parsedType}),q}return{status:"valid",value:e.data}}}e1.create=e=>new e1({typeName:T.ZodNaN,...ea(e)});let e2=Symbol("zod_brand");class e4 extends eo{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class e5 extends eo{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?q:"dirty"===e.status?(t.dirty(),K(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?q:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(e,t){return new e5({in:e,out:t,typeName:T.ZodPipeline})}}class e3 extends eo{_parse(e){let t=this._def.innerType._parse(e),n=e=>(X(e)&&(e.value=Object.freeze(e.value)),e);return ee(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}}function e6(e,t={},n){return e?eS.create().superRefine((r,i)=>{var a,o;if(!e(r)){let e="function"==typeof t?t(r):"string"==typeof t?{message:t}:t,s=null===(o=null!==(a=e.fatal)&&void 0!==a?a:n)||void 0===o||o;i.addIssue({code:"custom",..."string"==typeof e?{message:e}:e,fatal:s})}}):eS.create()}e3.create=(e,t)=>new e3({innerType:e,typeName:T.ZodReadonly,...ea(t)});let e7={object:eL.lazycreate};(x=T||(T={})).ZodString="ZodString",x.ZodNumber="ZodNumber",x.ZodNaN="ZodNaN",x.ZodBigInt="ZodBigInt",x.ZodBoolean="ZodBoolean",x.ZodDate="ZodDate",x.ZodSymbol="ZodSymbol",x.ZodUndefined="ZodUndefined",x.ZodNull="ZodNull",x.ZodAny="ZodAny",x.ZodUnknown="ZodUnknown",x.ZodNever="ZodNever",x.ZodVoid="ZodVoid",x.ZodArray="ZodArray",x.ZodObject="ZodObject",x.ZodUnion="ZodUnion",x.ZodDiscriminatedUnion="ZodDiscriminatedUnion",x.ZodIntersection="ZodIntersection",x.ZodTuple="ZodTuple",x.ZodRecord="ZodRecord",x.ZodMap="ZodMap",x.ZodSet="ZodSet",x.ZodFunction="ZodFunction",x.ZodLazy="ZodLazy",x.ZodLiteral="ZodLiteral",x.ZodEnum="ZodEnum",x.ZodEffects="ZodEffects",x.ZodNativeEnum="ZodNativeEnum",x.ZodOptional="ZodOptional",x.ZodNullable="ZodNullable",x.ZodDefault="ZodDefault",x.ZodCatch="ZodCatch",x.ZodPromise="ZodPromise",x.ZodBranded="ZodBranded",x.ZodPipeline="ZodPipeline",x.ZodReadonly="ZodReadonly";let e9=ew.create,e8=ek.create,te=e1.create,tt=e_.create,tn=ej.create,tr=eE.create,ti=eO.create,ta=eT.create,to=eC.create,ts=eS.create,tl=eN.create,tu=eR.create,tc=eI.create,td=eA.create,tf=eL.create,th=eL.strictCreate,tp=eP.create,tm=eZ.create,tx=eD.create,tg=eF.create,tv=ez.create,ty=e$.create,tb=eU.create,tw=eW.create,tk=eH.create,t_=eG.create,tj=eB.create,tE=eq.create,tO=eK.create,tT=eY.create,tC=eQ.create,tS=eJ.create,tN=eY.createWithPreprocess,tR=e5.create;var tI=Object.freeze({__proto__:null,defaultErrorMap:U,setErrorMap:function(e){W=e},getErrorMap:H,makeIssue:G,EMPTY_PATH:[],addIssueToContext:V,ParseStatus:B,INVALID:q,DIRTY:K,OK:Y,isAborted:Q,isDirty:J,isValid:X,isAsync:ee,get util(){return k},get objectUtil(){return _},ZodParsedType:D,getParsedType:F,ZodType:eo,datetimeRegex:eb,ZodString:ew,ZodNumber:ek,ZodBigInt:e_,ZodBoolean:ej,ZodDate:eE,ZodSymbol:eO,ZodUndefined:eT,ZodNull:eC,ZodAny:eS,ZodUnknown:eN,ZodNever:eR,ZodVoid:eI,ZodArray:eA,ZodObject:eL,ZodUnion:eP,ZodDiscriminatedUnion:eZ,ZodIntersection:eD,ZodTuple:eF,ZodRecord:ez,ZodMap:e$,ZodSet:eU,ZodFunction:eW,ZodLazy:eH,ZodLiteral:eG,ZodEnum:eB,ZodNativeEnum:eq,ZodPromise:eK,ZodEffects:eY,ZodTransformer:eY,ZodOptional:eQ,ZodNullable:eJ,ZodDefault:eX,ZodCatch:e0,ZodNaN:e1,BRAND:e2,ZodBranded:e4,ZodPipeline:e5,ZodReadonly:e3,custom:e6,Schema:eo,ZodSchema:eo,late:e7,get ZodFirstPartyTypeKind(){return T},coerce:{string:e=>ew.create({...e,coerce:!0}),number:e=>ek.create({...e,coerce:!0}),boolean:e=>ej.create({...e,coerce:!0}),bigint:e=>e_.create({...e,coerce:!0}),date:e=>eE.create({...e,coerce:!0})},any:ts,array:td,bigint:tt,boolean:tn,date:tr,discriminatedUnion:tm,effect:tT,enum:tj,function:tw,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>e6(t=>t instanceof e,t),intersection:tx,lazy:tk,literal:t_,map:ty,nan:te,nativeEnum:tE,never:tu,null:to,nullable:tS,number:e8,object:tf,oboolean:()=>tn().optional(),onumber:()=>e8().optional(),optional:tC,ostring:()=>e9().optional(),pipeline:tR,preprocess:tN,promise:tO,record:tv,set:tb,strictObject:th,string:e9,symbol:ti,transformer:tT,tuple:tg,undefined:ta,union:tp,unknown:tl,void:tc,NEVER:q,ZodIssueCode:z,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:$}),tA=n(1664),tL=n.n(tA);n(6337);var tP=n(5893);let tM=["light","dark"],tZ="(prefers-color-scheme: dark)",tD="undefined"==typeof window,tF=(0,R.createContext)(void 0),tz={setTheme:e=>{},themes:[]},t$=()=>{var e;return null!==(e=(0,R.useContext)(tF))&&void 0!==e?e:tz},tU=e=>(0,R.useContext)(tF)?R.createElement(R.Fragment,null,e.children):R.createElement(tH,e),tW=["light","dark"],tH=({forcedTheme:e,disableTransitionOnChange:t=!1,enableSystem:n=!0,enableColorScheme:r=!0,storageKey:i="theme",themes:a=tW,defaultTheme:o=n?"system":"light",attribute:s="data-theme",value:l,children:u,nonce:c})=>{let[d,f]=(0,R.useState)(()=>tV(i,o)),[h,p]=(0,R.useState)(()=>tV(i)),m=l?Object.values(l):a,x=(0,R.useCallback)(e=>{let i=e;if(!i)return;"system"===e&&n&&(i=tq());let a=l?l[i]:i,u=t?tB():null,c=document.documentElement;if("class"===s?(c.classList.remove(...m),a&&c.classList.add(a)):a?c.setAttribute(s,a):c.removeAttribute(s),r){let e=tM.includes(o)?o:null,t=tM.includes(i)?i:e;c.style.colorScheme=t}null==u||u()},[]),g=(0,R.useCallback)(e=>{f(e);try{localStorage.setItem(i,e)}catch(e){}},[e]),v=(0,R.useCallback)(t=>{p(tq(t)),"system"===d&&n&&!e&&x("system")},[d,e]);(0,R.useEffect)(()=>{let e=window.matchMedia(tZ);return e.addListener(v),v(e),()=>e.removeListener(v)},[v]),(0,R.useEffect)(()=>{let e=e=>{e.key===i&&g(e.newValue||o)};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[g]),(0,R.useEffect)(()=>{x(null!=e?e:d)},[e,d]);let y=(0,R.useMemo)(()=>({theme:d,setTheme:g,forcedTheme:e,resolvedTheme:"system"===d?h:d,themes:n?[...a,"system"]:a,systemTheme:n?h:void 0}),[d,g,e,h,n,a]);return R.createElement(tF.Provider,{value:y},R.createElement(tG,{forcedTheme:e,disableTransitionOnChange:t,enableSystem:n,enableColorScheme:r,storageKey:i,themes:a,defaultTheme:o,attribute:s,value:l,children:u,attrs:m,nonce:c}),u)},tG=(0,R.memo)(({forcedTheme:e,storageKey:t,attribute:n,enableSystem:r,enableColorScheme:i,defaultTheme:a,value:o,attrs:s,nonce:l})=>{let u="system"===a,c="class"===n?`var d=document.documentElement,c=d.classList;c.remove(${s.map(e=>`'${e}'`).join(",")});`:`var d=document.documentElement,n='${n}',s='setAttribute';`,d=i?tM.includes(a)&&a?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${a}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",f=(e,t=!1,r=!0)=>{let a=o?o[e]:e,s=t?e+"|| ''":`'${a}'`,l="";return i&&r&&!t&&tM.includes(e)&&(l+=`d.style.colorScheme = '${e}';`),"class"===n?l+=t||a?`c.add(${s})`:"null":a&&(l+=`d[s](n,${s})`),l},h=e?`!function(){${c}${f(e)}}()`:r?`!function(){try{${c}var e=localStorage.getItem('${t}');if('system'===e||(!e&&${u})){var t='${tZ}',m=window.matchMedia(t);if(m.media!==t||m.matches){${f("dark")}}else{${f("light")}}}else if(e){${o?`var x=${JSON.stringify(o)};`:""}${f(o?"x[e]":"e",!0)}}${u?"":"else{"+f(a,!1,!1)+"}"}${d}}catch(e){}}()`:`!function(){try{${c}var e=localStorage.getItem('${t}');if(e){${o?`var x=${JSON.stringify(o)};`:""}${f(o?"x[e]":"e",!0)}}else{${f(a,!1,!1)};}${d}}catch(t){}}();`;return R.createElement("script",{nonce:l,dangerouslySetInnerHTML:{__html:h}})},()=>!0),tV=(e,t)=>{let n;if(!tD){try{n=localStorage.getItem(e)||void 0}catch(e){}return n||t}},tB=()=>{let e=document.createElement("style");return e.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(e),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(e)},1)}},tq=e=>(e||(e=window.matchMedia(tZ)),e.matches?"dark":"light");var tK={breadcrumb:!0,collapsed:!1,footer:!0,layout:"default",navbar:!0,pagination:!0,sidebar:!0,timestamp:!0,toc:!0,typesetting:"default"},tY=tI.strictObject({breadcrumb:tI.boolean(),collapsed:tI.boolean(),footer:tI.boolean(),layout:tI.enum(["default","full","raw"]),navbar:tI.boolean(),pagination:tI.boolean(),sidebar:tI.boolean(),timestamp:tI.boolean(),toc:tI.boolean(),typesetting:tI.enum(["default","article"])}),tQ=tI.enum(["normal","hidden","children"]),tJ=tI.string(),tX=tI.strictObject({href:tI.string(),newWindow:tI.boolean(),title:tJ}),t0=tI.strictObject({display:tQ.optional(),items:tI.record(tX.partial({href:!0,newWindow:!0})),title:tJ,type:tI.literal("menu")}),t1=tI.strictObject({title:tJ.optional(),type:tI.literal("separator")}),t2=tX.extend({display:tQ,theme:tY,title:tJ,type:tI.enum(["page","doc"])}).deepPartial();tI.string().or(t0).or(t1).or(t2);var t4=n(3458),t5=n.n(t4);function t3(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function t6(e){var t=t3(e).Element;return e instanceof t||e instanceof Element}function t7(e){var t=t3(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function t9(e){if("undefined"==typeof ShadowRoot)return!1;var t=t3(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}var t8=Math.max,ne=Math.min,nt=Math.round;function nn(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function nr(){return!/^((?!chrome|android).)*safari/i.test(nn())}function ni(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var r=e.getBoundingClientRect(),i=1,a=1;t&&t7(e)&&(i=e.offsetWidth>0&&nt(r.width)/e.offsetWidth||1,a=e.offsetHeight>0&&nt(r.height)/e.offsetHeight||1);var o=(t6(e)?t3(e):window).visualViewport,s=!nr()&&n,l=(r.left+(s&&o?o.offsetLeft:0))/i,u=(r.top+(s&&o?o.offsetTop:0))/a,c=r.width/i,d=r.height/a;return{width:c,height:d,top:u,right:l+c,bottom:u+d,left:l,x:l,y:u}}function na(e){var t=t3(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function no(e){return e?(e.nodeName||"").toLowerCase():null}function ns(e){return((t6(e)?e.ownerDocument:e.document)||window.document).documentElement}function nl(e){return ni(ns(e)).left+na(e).scrollLeft}function nu(e){return t3(e).getComputedStyle(e)}function nc(e){var t=nu(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function nd(e){var t=ni(e),n=e.offsetWidth,r=e.offsetHeight;return 1>=Math.abs(t.width-n)&&(n=t.width),1>=Math.abs(t.height-r)&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function nf(e){return"html"===no(e)?e:e.assignedSlot||e.parentNode||(t9(e)?e.host:null)||ns(e)}function nh(e,t){void 0===t&&(t=[]);var n,r=function e(t){return["html","body","#document"].indexOf(no(t))>=0?t.ownerDocument.body:t7(t)&&nc(t)?t:e(nf(t))}(e),i=r===(null==(n=e.ownerDocument)?void 0:n.body),a=t3(r),o=i?[a].concat(a.visualViewport||[],nc(r)?r:[]):r,s=t.concat(o);return i?s:s.concat(nh(nf(o)))}function np(e){return t7(e)&&"fixed"!==nu(e).position?e.offsetParent:null}function nm(e){for(var t=t3(e),n=np(e);n&&["table","td","th"].indexOf(no(n))>=0&&"static"===nu(n).position;)n=np(n);return n&&("html"===no(n)||"body"===no(n)&&"static"===nu(n).position)?t:n||function(e){var t=/firefox/i.test(nn());if(/Trident/i.test(nn())&&t7(e)&&"fixed"===nu(e).position)return null;var n=nf(e);for(t9(n)&&(n=n.host);t7(n)&&0>["html","body"].indexOf(no(n));){var r=nu(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}var nx="bottom",ng="right",nv="left",ny="auto",nb=["top",nx,ng,nv],nw="start",nk="viewport",n_="popper",nj=nb.reduce(function(e,t){return e.concat([t+"-"+nw,t+"-end"])},[]),nE=[].concat(nb,[ny]).reduce(function(e,t){return e.concat([t,t+"-"+nw,t+"-end"])},[]),nO=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"],nT={placement:"bottom",modifiers:[],strategy:"absolute"};function nC(){for(var e=arguments.length,t=Array(e),n=0;n=0?"x":"y"}function nA(e){var t,n=e.reference,r=e.element,i=e.placement,a=i?nN(i):null,o=i?nR(i):null,s=n.x+n.width/2-r.width/2,l=n.y+n.height/2-r.height/2;switch(a){case"top":t={x:s,y:n.y-r.height};break;case nx:t={x:s,y:n.y+n.height};break;case ng:t={x:n.x+n.width,y:l};break;case nv:t={x:n.x-r.width,y:l};break;default:t={x:n.x,y:n.y}}var u=a?nI(a):null;if(null!=u){var c="y"===u?"height":"width";switch(o){case nw:t[u]=t[u]-(n[c]/2-r[c]/2);break;case"end":t[u]=t[u]+(n[c]/2-r[c]/2)}}return t}var nL={top:"auto",right:"auto",bottom:"auto",left:"auto"};function nP(e){var t,n,r,i,a,o,s,l=e.popper,u=e.popperRect,c=e.placement,d=e.variation,f=e.offsets,h=e.position,p=e.gpuAcceleration,m=e.adaptive,x=e.roundOffsets,g=e.isFixed,v=f.x,y=void 0===v?0:v,b=f.y,w=void 0===b?0:b,k="function"==typeof x?x({x:y,y:w}):{x:y,y:w};y=k.x,w=k.y;var _=f.hasOwnProperty("x"),j=f.hasOwnProperty("y"),E=nv,O="top",T=window;if(m){var C=nm(l),S="clientHeight",N="clientWidth";C===t3(l)&&"static"!==nu(C=ns(l)).position&&"absolute"===h&&(S="scrollHeight",N="scrollWidth"),("top"===c||(c===nv||c===ng)&&"end"===d)&&(O=nx,w-=(g&&C===T&&T.visualViewport?T.visualViewport.height:C[S])-u.height,w*=p?1:-1),(c===nv||("top"===c||c===nx)&&"end"===d)&&(E=ng,y-=(g&&C===T&&T.visualViewport?T.visualViewport.width:C[N])-u.width,y*=p?1:-1)}var R=Object.assign({position:h},m&&nL),I=!0===x?(t={x:y,y:w},n=t3(l),r=t.x,i=t.y,{x:nt(r*(a=n.devicePixelRatio||1))/a||0,y:nt(i*a)/a||0}):{x:y,y:w};return(y=I.x,w=I.y,p)?Object.assign({},R,((s={})[O]=j?"0":"",s[E]=_?"0":"",s.transform=1>=(T.devicePixelRatio||1)?"translate("+y+"px, "+w+"px)":"translate3d("+y+"px, "+w+"px, 0)",s)):Object.assign({},R,((o={})[O]=j?w+"px":"",o[E]=_?y+"px":"",o.transform="",o))}var nM={left:"right",right:"left",bottom:"top",top:"bottom"};function nZ(e){return e.replace(/left|right|bottom|top/g,function(e){return nM[e]})}var nD={start:"end",end:"start"};function nF(e){return e.replace(/start|end/g,function(e){return nD[e]})}function nz(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&t9(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function n$(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function nU(e,t,n){var r,i,a,o,s,l,u,c,d,f;return t===nk?n$(function(e,t){var n=t3(e),r=ns(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,l=0;if(i){a=i.width,o=i.height;var u=nr();(u||!u&&"fixed"===t)&&(s=i.offsetLeft,l=i.offsetTop)}return{width:a,height:o,x:s+nl(e),y:l}}(e,n)):t6(t)?((r=ni(t,!1,"fixed"===n)).top=r.top+t.clientTop,r.left=r.left+t.clientLeft,r.bottom=r.top+t.clientHeight,r.right=r.left+t.clientWidth,r.width=t.clientWidth,r.height=t.clientHeight,r.x=r.left,r.y=r.top,r):n$((i=ns(e),o=ns(i),s=na(i),l=null==(a=i.ownerDocument)?void 0:a.body,u=t8(o.scrollWidth,o.clientWidth,l?l.scrollWidth:0,l?l.clientWidth:0),c=t8(o.scrollHeight,o.clientHeight,l?l.scrollHeight:0,l?l.clientHeight:0),d=-s.scrollLeft+nl(i),f=-s.scrollTop,"rtl"===nu(l||o).direction&&(d+=t8(o.clientWidth,l?l.clientWidth:0)-u),{width:u,height:c,x:d,y:f}))}function nW(){return{top:0,right:0,bottom:0,left:0}}function nH(e){return Object.assign({},nW(),e)}function nG(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}function nV(e,t){void 0===t&&(t={});var n,r,i,a,o,s,l,u,c=t,d=c.placement,f=void 0===d?e.placement:d,h=c.strategy,p=void 0===h?e.strategy:h,m=c.boundary,x=c.rootBoundary,g=c.elementContext,v=void 0===g?n_:g,y=c.altBoundary,b=c.padding,w=void 0===b?0:b,k=nH("number"!=typeof w?w:nG(w,nb)),_=e.rects.popper,j=e.elements[void 0!==y&&y?v===n_?"reference":n_:v],E=(n=t6(j)?j:j.contextElement||ns(e.elements.popper),r=void 0===m?"clippingParents":m,i=void 0===x?nk:x,l=(s=[].concat("clippingParents"===r?(a=nh(nf(n)),t6(o=["absolute","fixed"].indexOf(nu(n).position)>=0&&t7(n)?nm(n):n)?a.filter(function(e){return t6(e)&&nz(e,o)&&"body"!==no(e)}):[]):[].concat(r),[i]))[0],(u=s.reduce(function(e,t){var r=nU(n,t,p);return e.top=t8(r.top,e.top),e.right=ne(r.right,e.right),e.bottom=ne(r.bottom,e.bottom),e.left=t8(r.left,e.left),e},nU(n,l,p))).width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u),O=ni(e.elements.reference),T=nA({reference:O,element:_,strategy:"absolute",placement:f}),C=n$(Object.assign({},_,T)),S=v===n_?C:O,N={top:E.top-S.top+k.top,bottom:S.bottom-E.bottom+k.bottom,left:E.left-S.left+k.left,right:S.right-E.right+k.right},R=e.modifiersData.offset;if(v===n_&&R){var I=R[f];Object.keys(N).forEach(function(e){var t=[ng,nx].indexOf(e)>=0?1:-1,n=["top",nx].indexOf(e)>=0?"y":"x";N[e]+=I[n]*t})}return N}function nB(e,t,n){return t8(e,ne(t,n))}function nq(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function nK(e){return["top",ng,nx,nv].some(function(t){return e[t]>=0})}var nY=(y=void 0===(v=(g={defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,a=void 0===i||i,o=r.resize,s=void 0===o||o,l=t3(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&u.forEach(function(e){e.addEventListener("scroll",n.update,nS)}),s&&l.addEventListener("resize",n.update,nS),function(){a&&u.forEach(function(e){e.removeEventListener("scroll",n.update,nS)}),s&&l.removeEventListener("resize",n.update,nS)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=nA({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=n.adaptive,a=n.roundOffsets,o=void 0===a||a,s={placement:nN(t.placement),variation:nR(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:void 0===r||r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,nP(Object.assign({},s,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:void 0===i||i,roundOffsets:o})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,nP(Object.assign({},s,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:o})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},i=t.elements[e];t7(i)&&no(i)&&(Object.assign(i.style,n),Object.keys(r).forEach(function(e){var t=r[e];!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?"":t)}))})},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(e){var r=t.elements[e],i=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce(function(e,t){return e[t]="",e},{});t7(r)&&no(r)&&(Object.assign(r.style,a),Object.keys(i).forEach(function(e){r.removeAttribute(e)}))})}},requires:["computeStyles"]},{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,i=n.offset,a=void 0===i?[0,0]:i,o=nE.reduce(function(e,n){var r,i,o,s,l,u;return e[n]=(r=t.rects,o=[nv,"top"].indexOf(i=nN(n))>=0?-1:1,l=(s="function"==typeof a?a(Object.assign({},r,{placement:n})):a)[0],u=s[1],l=l||0,u=(u||0)*o,[nv,ng].indexOf(i)>=0?{x:u,y:l}:{x:l,y:u}),e},{}),s=o[t.placement],l=s.x,u=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=o}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,a=void 0===i||i,o=n.altAxis,s=void 0===o||o,l=n.fallbackPlacements,u=n.padding,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.flipVariations,p=void 0===h||h,m=n.allowedAutoPlacements,x=t.options.placement,g=nN(x)===x,v=l||(g||!p?[nZ(x)]:function(e){if(nN(e)===ny)return[];var t=nZ(e);return[nF(e),t,nF(t)]}(x)),y=[x].concat(v).reduce(function(e,n){var r,i,a,o,s,l,f,h,x,g,v,y;return e.concat(nN(n)===ny?(i=(r={placement:n,boundary:c,rootBoundary:d,padding:u,flipVariations:p,allowedAutoPlacements:m}).placement,a=r.boundary,o=r.rootBoundary,s=r.padding,l=r.flipVariations,h=void 0===(f=r.allowedAutoPlacements)?nE:f,0===(v=(g=(x=nR(i))?l?nj:nj.filter(function(e){return nR(e)===x}):nb).filter(function(e){return h.indexOf(e)>=0})).length&&(v=g),Object.keys(y=v.reduce(function(e,n){return e[n]=nV(t,{placement:n,boundary:a,rootBoundary:o,padding:s})[nN(n)],e},{})).sort(function(e,t){return y[e]-y[t]})):n)},[]),b=t.rects.reference,w=t.rects.popper,k=new Map,_=!0,j=y[0],E=0;E=0,N=S?"width":"height",R=nV(t,{placement:O,boundary:c,rootBoundary:d,altBoundary:f,padding:u}),I=S?C?ng:nv:C?nx:"top";b[N]>w[N]&&(I=nZ(I));var A=nZ(I),L=[];if(a&&L.push(R[T]<=0),s&&L.push(R[I]<=0,R[A]<=0),L.every(function(e){return e})){j=O,_=!1;break}k.set(O,L)}if(_)for(var P=p?3:1,M=function(e){var t=y.find(function(t){var n=k.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return j=t,"break"},Z=P;Z>0&&"break"!==M(Z);Z--);t.placement!==j&&(t.modifiersData[r]._skip=!0,t.placement=j,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,a=n.altAxis,o=n.boundary,s=n.rootBoundary,l=n.altBoundary,u=n.padding,c=n.tether,d=void 0===c||c,f=n.tetherOffset,h=void 0===f?0:f,p=nV(t,{boundary:o,rootBoundary:s,padding:u,altBoundary:l}),m=nN(t.placement),x=nR(t.placement),g=!x,v=nI(m),y="x"===v?"y":"x",b=t.modifiersData.popperOffsets,w=t.rects.reference,k=t.rects.popper,_="function"==typeof h?h(Object.assign({},t.rects,{placement:t.placement})):h,j="number"==typeof _?{mainAxis:_,altAxis:_}:Object.assign({mainAxis:0,altAxis:0},_),E=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(b){if(void 0===i||i){var T,C="y"===v?"top":nv,S="y"===v?nx:ng,N="y"===v?"height":"width",R=b[v],I=R+p[C],A=R-p[S],L=d?-k[N]/2:0,P=x===nw?w[N]:k[N],M=x===nw?-k[N]:-w[N],Z=t.elements.arrow,D=d&&Z?nd(Z):{width:0,height:0},F=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:nW(),z=F[C],$=F[S],U=nB(0,w[N],D[N]),W=g?w[N]/2-L-U-z-j.mainAxis:P-U-z-j.mainAxis,H=g?-w[N]/2+L+U+$+j.mainAxis:M+U+$+j.mainAxis,G=t.elements.arrow&&nm(t.elements.arrow),V=G?"y"===v?G.clientTop||0:G.clientLeft||0:0,B=null!=(T=null==E?void 0:E[v])?T:0,q=nB(d?ne(I,R+W-B-V):I,R,d?t8(A,R+H-B):A);b[v]=q,O[v]=q-R}if(void 0!==a&&a){var K,Y,Q="x"===v?"top":nv,J="x"===v?nx:ng,X=b[y],ee="y"===y?"height":"width",et=X+p[Q],en=X-p[J],er=-1!==["top",nv].indexOf(m),ei=null!=(Y=null==E?void 0:E[y])?Y:0,ea=er?et:X-w[ee]-k[ee]-ei+j.altAxis,eo=er?X+w[ee]+k[ee]-ei-j.altAxis:en,es=d&&er?(K=nB(ea,X,eo))>eo?eo:K:nB(d?ea:et,X,d?eo:en);b[y]=es,O[y]=es-X}t.modifiersData[r]=O}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n,r=e.state,i=e.name,a=e.options,o=r.elements.arrow,s=r.modifiersData.popperOffsets,l=nN(r.placement),u=nI(l),c=[nv,ng].indexOf(l)>=0?"height":"width";if(o&&s){var d=nH("number"!=typeof(t="function"==typeof(t=a.padding)?t(Object.assign({},r.rects,{placement:r.placement})):t)?t:nG(t,nb)),f=nd(o),h="y"===u?"top":nv,p="y"===u?nx:ng,m=r.rects.reference[c]+r.rects.reference[u]-s[u]-r.rects.popper[c],x=s[u]-r.rects.reference[u],g=nm(o),v=g?"y"===u?g.clientHeight||0:g.clientWidth||0:0,y=d[h],b=v-f[c]-d[p],w=v/2-f[c]/2+(m/2-x/2),k=nB(y,w,b);r.modifiersData[i]=((n={})[u]=k,n.centerOffset=k-w,n)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&nz(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,a=t.modifiersData.preventOverflow,o=nV(t,{elementContext:"reference"}),s=nV(t,{altBoundary:!0}),l=nq(o,r),u=nq(s,i,a),c=nK(l),d=nK(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}}]}).defaultModifiers)?[]:v,w=void 0===(b=g.defaultOptions)?nT:b,function(e,t,n){void 0===n&&(n=w);var r,i,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},nT,w),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},o=[],s=!1,l={state:a,setOptions:function(n){var r,i,s,c,d,f="function"==typeof n?n(a.options):n;u(),a.options=Object.assign({},w,a.options,f),a.scrollParents={reference:t6(e)?nh(e):e.contextElement?nh(e.contextElement):[],popper:nh(t)};var h=(i=Object.keys(r=[].concat(y,a.options.modifiers).reduce(function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e},{})).map(function(e){return r[e]}),s=new Map,c=new Set,d=[],i.forEach(function(e){s.set(e.name,e)}),i.forEach(function(e){c.has(e.name)||function e(t){c.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach(function(t){if(!c.has(t)){var n=s.get(t);n&&e(n)}}),d.push(t)}(e)}),nO.reduce(function(e,t){return e.concat(d.filter(function(e){return e.phase===t}))},[]));return a.orderedModifiers=h.filter(function(e){return e.enabled}),a.orderedModifiers.forEach(function(e){var t=e.name,n=e.options,r=e.effect;if("function"==typeof r){var i=r({state:a,name:t,instance:l,options:void 0===n?{}:n});o.push(i||function(){})}}),l.update()},forceUpdate:function(){if(!s){var e,t,n,r,i,o,u,c,d,f,h,p,m=a.elements,x=m.reference,g=m.popper;if(nC(x,g)){a.rects={reference:(t=nm(g),n="fixed"===a.options.strategy,r=t7(t),c=t7(t)&&(o=nt((i=t.getBoundingClientRect()).width)/t.offsetWidth||1,u=nt(i.height)/t.offsetHeight||1,1!==o||1!==u),d=ns(t),f=ni(x,c,n),h={scrollLeft:0,scrollTop:0},p={x:0,y:0},(r||!r&&!n)&&(("body"!==no(t)||nc(d))&&(h=(e=t)!==t3(e)&&t7(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:na(e)),t7(t)?(p=ni(t,!0),p.x+=t.clientLeft,p.y+=t.clientTop):d&&(p.x=nl(d))),{x:f.left+h.scrollLeft-p.x,y:f.top+h.scrollTop-p.y,width:f.width,height:f.height}),popper:nd(g)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach(function(e){return a.modifiersData[e.name]=Object.assign({},e.data)});for(var v=0;v=r))));t++);if(n)return a?rm(l,r,0):void(t[t.length]=l)}return!n&&l}function rm(e,t,n){return e=1===e.length?e[0]:[].concat.apply([],e),n||e.length>t?e.slice(n,n+t):e}function rx(e,t,n,r){return e=n?(e=e[(r=r&&t>n)?t:n])&&e[r?n:t]:e[t]}function rg(e,t,n,r,i){let a=0;if(e.constructor===Array){if(i)-1!==(t=e.indexOf(t))?1=this.B&&(d||!c[p])){var a=rf(f,r,h),o="";switch(this.G){case"full":if(2a;s--)if(s-a>=this.B){var l=rf(f,r,h,i,a);rh(this,c,o=p.substring(a,s),l,e,n)}break}case"reverse":if(1=this.B&&rh(this,c,o,rf(f,r,h,i,s),e,n);o=""}case"forward":if(1=this.B&&rh(this,c,o,a,e,n);break}default:if(this.C&&(a=Math.min(a/this.C(t,p,h)|0,f-1)),rh(this,c,p,a,e,n),d&&1=this.B&&!i[p]){i[p]=1;let t=this.l&&p>a;rh(this,u,t?a:p,rf(o+(r/2>o?0:1),r,h,s-1,l-1),e,n,t?p:a)}}}}}this.m||(this.register[e]=1)}}return this},C.search=function(e,t,n){let r,i,a;n||(!t&&n2(e)?e=(n=e).query:n2(t)&&(n=t));let o=[],s,l,u=0;if(n){e=n.query||e,t=n.limit,u=n.offset||0;var c=n.context;l=n.suggest}if(e&&1<(s=(e=this.encode(""+e)).length)){n=nX();var d=[];for(let t=0,r=0,i;t=this.B&&!n[i]){if(!this.s&&!l&&!this.map[i])return o;d[r++]=i,n[i]=1}s=(e=d).length}if(!s)return o;for(t||(t=100),c=this.depth&&1{a=e})),i||(i=0)){case 0:if(o="reg",this.m)for(let e in s=nX(),this.register)s[e]=1;else s=this.register;break;case 1:o="cfg",s={doc:0,opt:this.s?1:0};break;case 2:o="map",s=this.map;break;case 3:o="ctx",s=this.h;break;default:void 0===n&&a&&a();return}return rc(e,t||this,n,o,r,i,s,a),l},C.import=function(e,t){if(t)switch(n1(t)&&(t=JSON.parse(t)),e){case"cfg":this.s=!!t.opt;break;case"reg":this.m=!1,this.register=t;break;case"map":this.map=t;break;case"ctx":this.h=t}},ri(rd.prototype);let ry=0;function rb(e){var t;if(!(this instanceof rb))return new rb(e);e?n4(t=e.encode)&&(e.encode=t.toString()):e={},(t=(self||window)._factory)&&(t=t.toString());let r="undefined"==typeof window&&self.exports,i=this;this.o=function(e,t,r){let i;try{i=t?new(n(5789)).Worker("//node/node.js"):e?new Worker(URL.createObjectURL(new Blob(["onmessage="+rv.toString()],{type:"text/javascript"}))):new Worker(n1(r)?r:"worker/worker.js",{type:"module"})}catch(e){}return i}(t,r,e.worker),this.h=nX(),this.o&&(r?this.o.on("message",function(e){i.h[e.id](e.msg),delete i.h[e.id]}):this.o.onmessage=function(e){e=e.data,i.h[e.id](e.msg),delete i.h[e.id]},this.o.postMessage({task:"init",factory:t,options:e}))}function rw(e){rb.prototype[e]=rb.prototype[e+"Async"]=function(){let t;let n=this,r=[].slice.call(arguments);var i=r[r.length-1];return n4(i)&&(t=i,r.splice(r.length-1,1)),i=new Promise(function(t){setTimeout(function(){n.h[++ry]=t,n.o.postMessage({task:e,id:ry,args:r})})}),t?(i.then(t),this):i}}function rk(e){if(!(this instanceof rk))return new rk(e);var t,n=e.document||e.doc||e;this.K=[],this.h=[],this.A=[],this.register=nX(),this.key=(t=n.key||n.id)&&r_(t,this.A)||"id",this.m=nQ(e.fastupdate),this.C=(t=n.store)&&!0!==t&&[],this.store=t&&nX(),this.I=(t=n.tag)&&r_(t,this.A),this.l=t&&nX(),this.cache=(t=e.cache)&&new rs(t),e.cache=!1,this.o=e.worker,this.async=!1,t=nX();let r=n.index||n.field||n;n1(r)&&(r=[r]);for(let n=0,i,a;nt||n)&&(i=i.slice(n,n+t)),r&&(i=rO.call(this,i)),{tag:e,result:i}}function rO(e){let t=Array(e.length);for(let n=0,r;n{a=e})),i||(i=0),r||(r=0),r()=>e.dispose(),[e]),e}var rZ=n(3),rD=n(2308),rF=n(1378),rz=n(5508),r$=n(2047),rU=n(1813),rW=n(8844);function rH(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r0&&e.classList.add(...n)}function rG(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r0&&e.classList.remove(...n)}let rV=(0,R.createContext)(null);rV.displayName="OpenClosedContext";var rB=((i=rB||{})[i.Open=1]="Open",i[i.Closed=2]="Closed",i[i.Closing=4]="Closing",i[i.Opening=8]="Opening",i);function rq(){return(0,R.useContext)(rV)}function rK(e){let{value:t,children:n}=e;return R.createElement(rV.Provider,{value:t},n)}var rY=n(5602),rQ=n(8287);function rJ(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.split(/\s+/).filter(e=>e.length>1)}let rX=(0,R.createContext)(null);rX.displayName="TransitionContext";var r0=((a=r0||{}).Visible="visible",a.Hidden="hidden",a);let r1=(0,R.createContext)(null);function r2(e){return"children"in e?r2(e.children):e.current.filter(e=>{let{el:t}=e;return null!==t.current}).filter(e=>{let{state:t}=e;return"visible"===t}).length>0}function r4(e,t){let n=(0,rz.E)(e),r=(0,R.useRef)([]),i=(0,rD.t)(),a=rM(),o=(0,rZ.z)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:rQ.l4.Hidden,o=r.current.findIndex(t=>{let{el:n}=t;return n===e});-1!==o&&((0,rW.E)(t,{[rQ.l4.Unmount](){r.current.splice(o,1)},[rQ.l4.Hidden](){r.current[o].state="hidden"}}),a.microTask(()=>{var e;!r2(r)&&i.current&&(null==(e=n.current)||e.call(n))}))}),s=(0,rZ.z)(e=>{let t=r.current.find(t=>{let{el:n}=t;return n===e});return t?"visible"!==t.state&&(t.state="visible"):r.current.push({el:e,state:"visible"}),()=>o(e,rQ.l4.Unmount)}),l=(0,R.useRef)([]),u=(0,R.useRef)(Promise.resolve()),c=(0,R.useRef)({enter:[],leave:[],idle:[]}),d=(0,rZ.z)((e,n,r)=>{l.current.splice(0),t&&(t.chains.current[n]=t.chains.current[n].filter(t=>{let[n]=t;return n!==e})),null==t||t.chains.current[n].push([e,new Promise(e=>{l.current.push(e)})]),null==t||t.chains.current[n].push([e,new Promise(e=>{Promise.all(c.current[n].map(e=>{let[t,n]=e;return n})).then(()=>e())})]),"enter"===n?u.current=u.current.then(()=>null==t?void 0:t.wait.current).then(()=>r(n)):r(n)}),f=(0,rZ.z)((e,t,n)=>{Promise.all(c.current[t].splice(0).map(e=>{let[t,n]=e;return n})).then(()=>{var e;null==(e=l.current.shift())||e()}).then(()=>n(t))});return(0,R.useMemo)(()=>({children:r,register:s,unregister:o,onStart:d,onStop:f,wait:u,chains:c}),[s,o,r,d,f,c,u])}function r5(){}r1.displayName="NestingContext";let r3=["beforeEnter","afterEnter","beforeLeave","afterLeave"];function r6(e){var t;let n={};for(let r of r3)n[r]=null!=(t=e[r])?t:r5;return n}let r7=rQ.AN.RenderStrategy,r9=(0,rQ.yV)(function(e,t){let{show:n,appear:r=!1,unmount:i=!0,...a}=e,o=(0,R.useRef)(null),s=(0,rU.T)(o,t);(0,r$.H)();let l=rq();if(void 0===n&&null!==l&&(n=(l&rB.Open)===rB.Open),![!0,!1].includes(n))throw Error("A is used but it is missing a `show={true | false}` prop.");let[u,c]=(0,R.useState)(n?"visible":"hidden"),d=r4(()=>{c("hidden")}),[f,h]=(0,R.useState)(!0),p=(0,R.useRef)([n]);(0,rF.e)(()=>{!1!==f&&p.current[p.current.length-1]!==n&&(p.current.push(n),h(!1))},[p,n]);let m=(0,R.useMemo)(()=>({show:n,appear:r,initial:f}),[n,r,f]);(0,R.useEffect)(()=>{if(n)c("visible");else if(r2(d)){let e=o.current;if(!e)return;let t=e.getBoundingClientRect();0===t.x&&0===t.y&&0===t.width&&0===t.height&&c("hidden")}else c("hidden")},[n,d]);let x={unmount:i},g=(0,rZ.z)(()=>{var t;f&&h(!1),null==(t=e.beforeEnter)||t.call(e)}),v=(0,rZ.z)(()=>{var t;f&&h(!1),null==(t=e.beforeLeave)||t.call(e)});return R.createElement(r1.Provider,{value:d},R.createElement(rX.Provider,{value:m},(0,rQ.sY)({ourProps:{...x,as:R.Fragment,children:R.createElement(r8,{ref:s,...x,...a,beforeEnter:g,beforeLeave:v})},theirProps:{},defaultTag:R.Fragment,features:r7,visible:"visible"===u,name:"Transition"})))}),r8=(0,rQ.yV)(function(e,t){var n,r,i;let a;let{beforeEnter:o,afterEnter:s,beforeLeave:l,afterLeave:u,enter:c,enterFrom:d,enterTo:f,entered:h,leave:p,leaveFrom:m,leaveTo:x,...g}=e,v=(0,R.useRef)(null),y=(0,rU.T)(v,t),b=null==(n=g.unmount)||n?rQ.l4.Unmount:rQ.l4.Hidden,{show:w,appear:k,initial:_}=function(){let e=(0,R.useContext)(rX);if(null===e)throw Error("A is used but it is missing a parent or .");return e}(),[j,E]=(0,R.useState)(w?"visible":"hidden"),O=function(){let e=(0,R.useContext)(r1);if(null===e)throw Error("A is used but it is missing a parent or .");return e}(),{register:T,unregister:C}=O;(0,R.useEffect)(()=>T(v),[T,v]),(0,R.useEffect)(()=>{if(b===rQ.l4.Hidden&&v.current){if(w&&"visible"!==j){E("visible");return}return(0,rW.E)(j,{hidden:()=>C(v),visible:()=>T(v)})}},[j,v,T,C,w,b]);let S=(0,rz.E)({base:rJ(g.className),enter:rJ(c),enterFrom:rJ(d),enterTo:rJ(f),entered:rJ(h),leave:rJ(p),leaveFrom:rJ(m),leaveTo:rJ(x)}),N=(i={beforeEnter:o,afterEnter:s,beforeLeave:l,afterLeave:u},a=(0,R.useRef)(r6(i)),(0,R.useEffect)(()=>{a.current=r6(i)},[i]),a),I=(0,r$.H)();(0,R.useEffect)(()=>{if(I&&"visible"===j&&null===v.current)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")},[v,j,I]);let A=k&&w&&_,L=I&&(!_||k)?w?"enter":"leave":"idle",P=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,[t,n]=(0,R.useState)(e),r=(0,rD.t)(),i=(0,R.useCallback)(e=>{r.current&&n(t=>t|e)},[t,r]),a=(0,R.useCallback)(e=>!!(t&e),[t]);return{flags:t,addFlag:i,hasFlag:a,removeFlag:(0,R.useCallback)(e=>{r.current&&n(t=>t&~e)},[n,r]),toggleFlag:(0,R.useCallback)(e=>{r.current&&n(t=>t^e)},[n])}}(0),M=(0,rZ.z)(e=>(0,rW.E)(e,{enter:()=>{P.addFlag(rB.Opening),N.current.beforeEnter()},leave:()=>{P.addFlag(rB.Closing),N.current.beforeLeave()},idle:()=>{}})),Z=(0,rZ.z)(e=>(0,rW.E)(e,{enter:()=>{P.removeFlag(rB.Opening),N.current.afterEnter()},leave:()=>{P.removeFlag(rB.Closing),N.current.afterLeave()},idle:()=>{}})),D=r4(()=>{E("hidden"),C(v)},O),F=(0,R.useRef)(!1);!function(e){let{immediate:t,container:n,direction:r,classes:i,onStart:a,onStop:o}=e,s=(0,rD.t)(),l=rM(),u=(0,rz.E)(r);(0,rF.e)(()=>{t&&(u.current="enter")},[t]),(0,rF.e)(()=>{let e=(0,rP.k)();l.add(e.dispose);let t=n.current;if(t&&"idle"!==u.current&&s.current){var r,c,d;let n,s,l,f,h,p,m;return e.dispose(),a.current(u.current),e.add((r=i.current,c="enter"===u.current,d=()=>{e.dispose(),o.current(u.current)},s=c?"enter":"leave",l=(0,rP.k)(),f=void 0!==d?(n={called:!1},function(){for(var e=arguments.length,t=Array(e),r=0;r{},"enter"===s&&(t.removeAttribute("hidden"),t.style.display=""),h=(0,rW.E)(s,{enter:()=>r.enter,leave:()=>r.leave}),p=(0,rW.E)(s,{enter:()=>r.enterTo,leave:()=>r.leaveTo}),m=(0,rW.E)(s,{enter:()=>r.enterFrom,leave:()=>r.leaveFrom}),rG(t,...r.base,...r.enter,...r.enterTo,...r.enterFrom,...r.leave,...r.leaveFrom,...r.leaveTo,...r.entered),rH(t,...r.base,...h,...m),l.nextFrame(()=>{rG(t,...r.base,...h,...m),rH(t,...r.base,...h,...p),function(e,t){let n=(0,rP.k)();if(!e)return n.dispose;let{transitionDuration:r,transitionDelay:i}=getComputedStyle(e),[a,o]=[r,i].map(e=>{let[t=0]=e.split(",").filter(Boolean).map(e=>e.includes("ms")?parseFloat(e):1e3*parseFloat(e)).sort((e,t)=>t-e);return t}),s=a+o;if(0!==s){n.group(n=>{n.setTimeout(()=>{t(),n.dispose()},s),n.addEventListener(e,"transitionrun",e=>{e.target===e.currentTarget&&n.dispose()})});let r=n.addEventListener(e,"transitionend",e=>{e.target===e.currentTarget&&(t(),r())})}else t();n.add(()=>t()),n.dispose}(t,()=>(rG(t,...r.base,...h),rH(t,...r.base,...r.entered),f()))}),l.dispose)),e.dispose}},[r])}({immediate:A,container:v,classes:S,direction:L,onStart:(0,rz.E)(e=>{F.current=!0,D.onStart(v,e,M)}),onStop:(0,rz.E)(e=>{F.current=!1,D.onStop(v,e,Z),"leave"!==e||r2(D)||(E("hidden"),C(v))})});let z=g;return A?z={...z,className:(0,rY.A)(g.className,...S.current.enter,...S.current.enterFrom)}:F.current&&(z.className=(0,rY.A)(g.className,null==(r=v.current)?void 0:r.className),""===z.className&&delete z.className),R.createElement(r1.Provider,{value:D},R.createElement(rK,{value:(0,rW.E)(j,{visible:rB.Open,hidden:rB.Closed})|P.flags},(0,rQ.sY)({ourProps:{ref:y},theirProps:z,defaultTag:"div",features:r7,visible:"visible"===j,name:"Transition.Child"})))}),ie=(0,rQ.yV)(function(e,t){let n=null!==(0,R.useContext)(rX),r=null!==rq();return R.createElement(R.Fragment,null,!n&&r?R.createElement(r9,{ref:t,...e}):R.createElement(r8,{ref:t,...e}))}),it=Object.assign(r9,{Child:ie,Root:r9});var ir=n(953);function ii(e,t){let[n,r]=(0,R.useState)(e),i=(0,rz.E)(e);return(0,rF.e)(()=>r(i.current),[i,r,...t]),n}var ia=n(4924),io=n(8657);function is(e,t,n){let r=(0,rz.E)(t);(0,R.useEffect)(()=>{function t(e){r.current(e)}return document.addEventListener(e,t,n),()=>document.removeEventListener(e,t,n)},[e,n])}function il(e,t){var n,r;let i,a=!(arguments.length>2)||void 0===arguments[2]||arguments[2],o=(0,R.useRef)(!1);function s(n,r){if(!o.current||n.defaultPrevented)return;let i=r(n);if(null!==i&&i.getRootNode().contains(i)&&i.isConnected){for(let t of function e(t){return"function"==typeof t?e(t()):Array.isArray(t)||t instanceof Set?t:[t]}(e)){if(null===t)continue;let e=t instanceof HTMLElement?t:t.current;if(null!=e&&e.contains(i)||n.composed&&n.composedPath().includes(e))return}return(0,io.sP)(i,io.tJ.Loose)||-1===i.tabIndex||n.preventDefault(),t(n,i)}}(0,R.useEffect)(()=>{requestAnimationFrame(()=>{o.current=a})},[a]);let l=(0,R.useRef)(null);is("pointerdown",e=>{var t,n;o.current&&(l.current=(null==(n=null==(t=e.composedPath)?void 0:t.call(e))?void 0:n[0])||e.target)},!0),is("mousedown",e=>{var t,n;o.current&&(l.current=(null==(n=null==(t=e.composedPath)?void 0:t.call(e))?void 0:n[0])||e.target)},!0),is("click",e=>{/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0||/Android/gi.test(window.navigator.userAgent)||l.current&&(s(e,()=>l.current),l.current=null)},!0),is("touchend",e=>s(e,()=>e.target instanceof HTMLElement?e.target:null),!0),n="blur",r=e=>s(e,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),i=(0,rz.E)(r),(0,R.useEffect)(()=>{function e(e){i.current(e)}return window.addEventListener(n,e,!0),()=>window.removeEventListener(n,e,!0)},[n,!0])}var iu=n(961);let ic=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function id(e){var t,n;let r=null!=(t=e.innerText)?t:"",i=e.cloneNode(!0);if(!(i instanceof HTMLElement))return r;let a=!1;for(let e of i.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))e.remove(),a=!0;let o=a?null!=(n=i.innerText)?n:"":r;return ic.test(o)&&(o=o.replace(ic,"")),o}function ih(e){let t=(0,R.useRef)(""),n=(0,R.useRef)("");return(0,rZ.z)(()=>{let r=e.current;if(!r)return"";let i=r.innerText;if(t.current===i)return n.current;let a=(function(e){let t=e.getAttribute("aria-label");if("string"==typeof t)return t.trim();let n=e.getAttribute("aria-labelledby");if(n){let e=n.split(" ").map(e=>{let t=document.getElementById(e);if(t){let e=t.getAttribute("aria-label");return"string"==typeof e?e.trim():id(t).trim()}return null}).filter(Boolean);if(e.length>0)return e.join(", ")}return id(e).trim()})(r).trim().toLowerCase();return t.current=i,n.current=a,a})}function ip(e){return[e.screenX,e.screenY]}function im(){let e=(0,R.useRef)([-1,-1]);return{wasMoved(t){let n=ip(t);return(e.current[0]!==n[0]||e.current[1]!==n[1])&&(e.current=n,!0)},update(t){e.current=ip(t)}}}var ix=n(7524);function ig(e){let t=e.parentElement,n=null;for(;t&&!(t instanceof HTMLFieldSetElement);)t instanceof HTMLLegendElement&&(n=t),t=t.parentElement;let r=(null==t?void 0:t.getAttribute("disabled"))==="";return!(r&&function(e){if(!e)return!1;let t=e.previousElementSibling;for(;null!==t;){if(t instanceof HTMLLegendElement)return!1;t=t.previousElementSibling}return!0}(n))&&r}var iv=((o=iv||{})[o.First=0]="First",o[o.Previous=1]="Previous",o[o.Next=2]="Next",o[o.Last=3]="Last",o[o.Specific=4]="Specific",o[o.Nothing=5]="Nothing",o);function iy(e,t){let n=t.resolveItems();if(n.length<=0)return null;let r=t.resolveActiveIndex(),i=null!=r?r:-1;switch(e.focus){case 0:for(let e=0;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 2:for(let e=i+1;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 4:for(let r=0;r1&&void 0!==arguments[1]?arguments[1]:e=>e,n=null!==e.activeOptionIndex?e.options[e.activeOptionIndex]:null,r=(0,io.z2)(t(e.options.slice()),e=>e.dataRef.current.domRef.current),i=n?r.indexOf(n):null;return -1===i&&(i=null),{options:r,activeOptionIndex:i}}let iC={1:e=>e.dataRef.current.disabled||1===e.listboxState?e:{...e,activeOptionIndex:null,listboxState:1},0(e){if(e.dataRef.current.disabled||0===e.listboxState)return e;let t=e.activeOptionIndex,{isSelected:n}=e.dataRef.current,r=e.options.findIndex(e=>n(e.dataRef.current.value));return -1!==r&&(t=r),{...e,listboxState:0,activeOptionIndex:t}},2(e,t){var n;if(e.dataRef.current.disabled||1===e.listboxState)return e;let r=iT(e),i=iy(t,{resolveItems:()=>r.options,resolveActiveIndex:()=>r.activeOptionIndex,resolveId:e=>e.id,resolveDisabled:e=>e.dataRef.current.disabled});return{...e,...r,searchQuery:"",activeOptionIndex:i,activationTrigger:null!=(n=t.trigger)?n:1}},3:(e,t)=>{if(e.dataRef.current.disabled||1===e.listboxState)return e;let n=""!==e.searchQuery?0:1,r=e.searchQuery+t.value.toLowerCase(),i=(null!==e.activeOptionIndex?e.options.slice(e.activeOptionIndex+n).concat(e.options.slice(0,e.activeOptionIndex+n)):e.options).find(e=>{var t;return!e.dataRef.current.disabled&&(null==(t=e.dataRef.current.textValue)?void 0:t.startsWith(r))}),a=i?e.options.indexOf(i):-1;return -1===a||a===e.activeOptionIndex?{...e,searchQuery:r}:{...e,searchQuery:r,activeOptionIndex:a,activationTrigger:1}},4:e=>e.dataRef.current.disabled||1===e.listboxState||""===e.searchQuery?e:{...e,searchQuery:""},5:(e,t)=>{let n={id:t.id,dataRef:t.dataRef},r=iT(e,e=>[...e,n]);return null===e.activeOptionIndex&&e.dataRef.current.isSelected(t.dataRef.current.value)&&(r.activeOptionIndex=r.options.indexOf(n)),{...e,...r}},6:(e,t)=>{let n=iT(e,e=>{let n=e.findIndex(e=>e.id===t.id);return -1!==n&&e.splice(n,1),e});return{...e,...n,activationTrigger:1}},7:(e,t)=>({...e,labelId:t.id})},iS=(0,R.createContext)(null);function iN(e){let t=(0,R.useContext)(iS);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,iN),t}return t}iS.displayName="ListboxActionsContext";let iR=(0,R.createContext)(null);function iI(e){let t=(0,R.useContext)(iR);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,iI),t}return t}function iA(e,t){return(0,rW.E)(t.type,iC,e,t)}iR.displayName="ListboxDataContext";let iL=R.Fragment,iP=rQ.AN.RenderStrategy|rQ.AN.Static,iM=Object.assign((0,rQ.yV)(function(e,t){let{value:n,defaultValue:r,form:i,name:a,onChange:o,by:s=(e,t)=>e===t,disabled:l=!1,horizontal:u=!1,multiple:c=!1,...d}=e,f=u?"horizontal":"vertical",h=(0,rU.T)(t),[p=c?[]:void 0,m]=function(e,t,n){let[r,i]=(0,R.useState)(n),a=void 0!==e,o=(0,R.useRef)(a),s=(0,R.useRef)(!1),l=(0,R.useRef)(!1);return!a||o.current||s.current?a||!o.current||l.current||(l.current=!0,o.current=a,console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")):(s.current=!0,o.current=a,console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")),[a?e:r,(0,rZ.z)(e=>(a||i(e),null==t?void 0:t(e)))]}(n,o,r),[x,g]=(0,R.useReducer)(iA,{dataRef:(0,R.createRef)(),listboxState:1,options:[],searchQuery:"",labelId:null,activeOptionIndex:null,activationTrigger:1}),v=(0,R.useRef)({static:!1,hold:!1}),y=(0,R.useRef)(null),b=(0,R.useRef)(null),w=(0,R.useRef)(null),k=(0,rZ.z)("string"==typeof s?(e,t)=>(null==e?void 0:e[s])===(null==t?void 0:t[s]):s),_=(0,R.useCallback)(e=>(0,rW.E)(j.mode,{1:()=>p.some(t=>k(t,e)),0:()=>k(p,e)}),[p]),j=(0,R.useMemo)(()=>({...x,value:p,disabled:l,mode:c?1:0,orientation:f,compare:k,isSelected:_,optionsPropsRef:v,labelRef:y,buttonRef:b,optionsRef:w}),[p,l,c,x]);(0,rF.e)(()=>{x.dataRef.current=j},[j]),il([j.buttonRef,j.optionsRef],(e,t)=>{var n;g({type:1}),(0,io.sP)(t,io.tJ.Loose)||(e.preventDefault(),null==(n=j.buttonRef.current)||n.focus())},0===j.listboxState);let E=(0,R.useMemo)(()=>({open:0===j.listboxState,disabled:l,value:p}),[j,l,p]),O=(0,rZ.z)(e=>{let t=j.options.find(t=>t.id===e);t&&L(t.dataRef.current.value)}),T=(0,rZ.z)(()=>{if(null!==j.activeOptionIndex){let{dataRef:e,id:t}=j.options[j.activeOptionIndex];L(e.current.value),g({type:2,focus:iv.Specific,id:t})}}),C=(0,rZ.z)(()=>g({type:0})),S=(0,rZ.z)(()=>g({type:1})),N=(0,rZ.z)((e,t,n)=>e===iv.Specific?g({type:2,focus:iv.Specific,id:t,trigger:n}):g({type:2,focus:e,trigger:n})),I=(0,rZ.z)((e,t)=>(g({type:5,id:e,dataRef:t}),()=>g({type:6,id:e}))),A=(0,rZ.z)(e=>(g({type:7,id:e}),()=>g({type:7,id:null}))),L=(0,rZ.z)(e=>(0,rW.E)(j.mode,{0:()=>null==m?void 0:m(e),1(){let t=j.value.slice(),n=t.findIndex(t=>k(t,e));return -1===n?t.push(e):t.splice(n,1),null==m?void 0:m(t)}})),P=(0,rZ.z)(e=>g({type:3,value:e})),M=(0,rZ.z)(()=>g({type:4})),Z=(0,R.useMemo)(()=>({onChange:L,registerOption:I,registerLabel:A,goToOption:N,closeListbox:S,openListbox:C,selectActiveOption:T,selectOption:O,search:P,clearSearch:M}),[]),D=(0,R.useRef)(null),F=rM();return(0,R.useEffect)(()=>{D.current&&void 0!==r&&F.addEventListener(D.current,"reset",()=>{null==m||m(r)})},[D,m]),R.createElement(iS.Provider,{value:Z},R.createElement(iR.Provider,{value:j},R.createElement(rK,{value:(0,rW.E)(j.listboxState,{0:rB.Open,1:rB.Closed})},null!=a&&null!=p&&(function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];for(let[i,a]of Object.entries(t))!function t(n,r,i){if(Array.isArray(i))for(let[e,a]of i.entries())t(n,ib(r,e.toString()),a);else i instanceof Date?n.push([r,i.toISOString()]):"boolean"==typeof i?n.push([r,i?"1":"0"]):"string"==typeof i?n.push([r,i]):"number"==typeof i?n.push([r,"".concat(i)]):null==i?n.push([r,""]):e(i,r,n)}(r,ib(n,i),a);return r})({[a]:p}).map((e,t)=>{let[n,r]=e;return R.createElement(ix._,{features:ix.A.Hidden,ref:0===t?e=>{var t;D.current=null!=(t=null==e?void 0:e.closest("form"))?t:null}:void 0,...(0,rQ.oA)({key:n,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:i,disabled:l,name:n,value:r})})}),(0,rQ.sY)({ourProps:{ref:h},theirProps:d,slot:E,defaultTag:iL,name:"Listbox"}))))}),{Button:(0,rQ.yV)(function(e,t){var n;let r=(0,ia.M)(),{id:i="headlessui-listbox-button-".concat(r),...a}=e,o=iI("Listbox.Button"),s=iN("Listbox.Button"),l=(0,rU.T)(o.buttonRef,t),u=rM(),c=(0,rZ.z)(e=>{switch(e.key){case ik.R.Space:case ik.R.Enter:case ik.R.ArrowDown:e.preventDefault(),s.openListbox(),u.nextFrame(()=>{o.value||s.goToOption(iv.First)});break;case ik.R.ArrowUp:e.preventDefault(),s.openListbox(),u.nextFrame(()=>{o.value||s.goToOption(iv.Last)})}}),d=(0,rZ.z)(e=>{e.key===ik.R.Space&&e.preventDefault()}),f=(0,rZ.z)(e=>{if(ig(e.currentTarget))return e.preventDefault();0===o.listboxState?(s.closeListbox(),u.nextFrame(()=>{var e;return null==(e=o.buttonRef.current)?void 0:e.focus({preventScroll:!0})})):(e.preventDefault(),s.openListbox())}),h=ii(()=>{if(o.labelId)return[o.labelId,i].join(" ")},[o.labelId,i]),p=(0,R.useMemo)(()=>({open:0===o.listboxState,disabled:o.disabled,value:o.value}),[o]),m={ref:l,id:i,type:(0,iu.f)(e,o.buttonRef),"aria-haspopup":"listbox","aria-controls":null==(n=o.optionsRef.current)?void 0:n.id,"aria-expanded":0===o.listboxState,"aria-labelledby":h,disabled:o.disabled,onKeyDown:c,onKeyUp:d,onClick:f};return(0,rQ.sY)({ourProps:m,theirProps:a,slot:p,defaultTag:"button",name:"Listbox.Button"})}),Label:(0,rQ.yV)(function(e,t){let n=(0,ia.M)(),{id:r="headlessui-listbox-label-".concat(n),...i}=e,a=iI("Listbox.Label"),o=iN("Listbox.Label"),s=(0,rU.T)(a.labelRef,t);(0,rF.e)(()=>o.registerLabel(r),[r]);let l=(0,rZ.z)(()=>{var e;return null==(e=a.buttonRef.current)?void 0:e.focus({preventScroll:!0})}),u=(0,R.useMemo)(()=>({open:0===a.listboxState,disabled:a.disabled}),[a]);return(0,rQ.sY)({ourProps:{ref:s,id:r,onClick:l},theirProps:i,slot:u,defaultTag:"label",name:"Listbox.Label"})}),Options:(0,rQ.yV)(function(e,t){var n;let r=(0,ia.M)(),{id:i="headlessui-listbox-options-".concat(r),...a}=e,o=iI("Listbox.Options"),s=iN("Listbox.Options"),l=(0,rU.T)(o.optionsRef,t),u=rM(),c=rM(),d=rq(),f=null!==d?(d&rB.Open)===rB.Open:0===o.listboxState;(0,R.useEffect)(()=>{var e;let t=o.optionsRef.current;t&&0===o.listboxState&&t!==(null==(e=(0,iw.r)(t))?void 0:e.activeElement)&&t.focus({preventScroll:!0})},[o.listboxState,o.optionsRef]);let h=(0,rZ.z)(e=>{switch(c.dispose(),e.key){case ik.R.Space:if(""!==o.searchQuery)return e.preventDefault(),e.stopPropagation(),s.search(e.key);case ik.R.Enter:if(e.preventDefault(),e.stopPropagation(),null!==o.activeOptionIndex){let{dataRef:e}=o.options[o.activeOptionIndex];s.onChange(e.current.value)}0===o.mode&&(s.closeListbox(),(0,rP.k)().nextFrame(()=>{var e;return null==(e=o.buttonRef.current)?void 0:e.focus({preventScroll:!0})}));break;case(0,rW.E)(o.orientation,{vertical:ik.R.ArrowDown,horizontal:ik.R.ArrowRight}):return e.preventDefault(),e.stopPropagation(),s.goToOption(iv.Next);case(0,rW.E)(o.orientation,{vertical:ik.R.ArrowUp,horizontal:ik.R.ArrowLeft}):return e.preventDefault(),e.stopPropagation(),s.goToOption(iv.Previous);case ik.R.Home:case ik.R.PageUp:return e.preventDefault(),e.stopPropagation(),s.goToOption(iv.First);case ik.R.End:case ik.R.PageDown:return e.preventDefault(),e.stopPropagation(),s.goToOption(iv.Last);case ik.R.Escape:return e.preventDefault(),e.stopPropagation(),s.closeListbox(),u.nextFrame(()=>{var e;return null==(e=o.buttonRef.current)?void 0:e.focus({preventScroll:!0})});case ik.R.Tab:e.preventDefault(),e.stopPropagation();break;default:1===e.key.length&&(s.search(e.key),c.setTimeout(()=>s.clearSearch(),350))}}),p=ii(()=>{var e;return null==(e=o.buttonRef.current)?void 0:e.id},[o.buttonRef.current]),m=(0,R.useMemo)(()=>({open:0===o.listboxState}),[o]),x={"aria-activedescendant":null===o.activeOptionIndex||null==(n=o.options[o.activeOptionIndex])?void 0:n.id,"aria-multiselectable":1===o.mode||void 0,"aria-labelledby":p,"aria-orientation":o.orientation,id:i,onKeyDown:h,role:"listbox",tabIndex:0,ref:l};return(0,rQ.sY)({ourProps:x,theirProps:a,slot:m,defaultTag:"ul",features:iP,visible:f,name:"Listbox.Options"})}),Option:(0,rQ.yV)(function(e,t){let n=(0,ia.M)(),{id:r="headlessui-listbox-option-".concat(n),disabled:i=!1,value:a,...o}=e,s=iI("Listbox.Option"),l=iN("Listbox.Option"),u=null!==s.activeOptionIndex&&s.options[s.activeOptionIndex].id===r,c=s.isSelected(a),d=(0,R.useRef)(null),f=ih(d),h=(0,rz.E)({disabled:i,value:a,domRef:d,get textValue(){return f()}}),p=(0,rU.T)(t,d);(0,rF.e)(()=>{if(0!==s.listboxState||!u||0===s.activationTrigger)return;let e=(0,rP.k)();return e.requestAnimationFrame(()=>{var e,t;null==(t=null==(e=d.current)?void 0:e.scrollIntoView)||t.call(e,{block:"nearest"})}),e.dispose},[d,u,s.listboxState,s.activationTrigger,s.activeOptionIndex]),(0,rF.e)(()=>l.registerOption(r,h),[h,r]);let m=(0,rZ.z)(e=>{if(i)return e.preventDefault();l.onChange(a),0===s.mode&&(l.closeListbox(),(0,rP.k)().nextFrame(()=>{var e;return null==(e=s.buttonRef.current)?void 0:e.focus({preventScroll:!0})}))}),x=(0,rZ.z)(()=>{if(i)return l.goToOption(iv.Nothing);l.goToOption(iv.Specific,r)}),g=im(),v=(0,rZ.z)(e=>g.update(e)),y=(0,rZ.z)(e=>{g.wasMoved(e)&&(i||u||l.goToOption(iv.Specific,r,0))}),b=(0,rZ.z)(e=>{g.wasMoved(e)&&(i||u&&l.goToOption(iv.Nothing))}),w=(0,R.useMemo)(()=>({active:u,selected:c,disabled:i}),[u,c,i]);return(0,rQ.sY)({ourProps:{id:r,ref:p,role:"option",tabIndex:!0===i?void 0:-1,"aria-disabled":!0===i||void 0,"aria-selected":c,disabled:void 0,onClick:m,onFocus:x,onPointerEnter:v,onMouseEnter:v,onPointerMove:y,onMouseMove:y,onPointerLeave:b,onMouseLeave:b},theirProps:o,slot:w,defaultTag:"li",name:"Listbox.Option"})})});var iZ=n(3935),iD=n(9008),iF=n.n(iD);function iz(){return(iz=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(i[n]=e[n]);return i}var iU=["keyOverride"],iW=["crossOrigin"],iH={templateTitle:"",noindex:!1,nofollow:!1,norobots:!1,defaultOpenGraphImageWidth:0,defaultOpenGraphImageHeight:0,defaultOpenGraphVideoWidth:0,defaultOpenGraphVideoHeight:0},iG=function(e,t,n){void 0===t&&(t=[]);var r=void 0===n?{}:n,i=r.defaultWidth,a=r.defaultHeight;return t.reduce(function(t,n,r){return t.push(R.createElement("meta",{key:"og:"+e+":0"+r,property:"og:"+e,content:n.url})),n.alt&&t.push(R.createElement("meta",{key:"og:"+e+":alt0"+r,property:"og:"+e+":alt",content:n.alt})),n.secureUrl&&t.push(R.createElement("meta",{key:"og:"+e+":secure_url0"+r,property:"og:"+e+":secure_url",content:n.secureUrl.toString()})),n.type&&t.push(R.createElement("meta",{key:"og:"+e+":type0"+r,property:"og:"+e+":type",content:n.type.toString()})),n.width?t.push(R.createElement("meta",{key:"og:"+e+":width0"+r,property:"og:"+e+":width",content:n.width.toString()})):i&&t.push(R.createElement("meta",{key:"og:"+e+":width0"+r,property:"og:"+e+":width",content:i.toString()})),n.height?t.push(R.createElement("meta",{key:"og:"+e+":height"+r,property:"og:"+e+":height",content:n.height.toString()})):a&&t.push(R.createElement("meta",{key:"og:"+e+":height"+r,property:"og:"+e+":height",content:a.toString()})),t},[])},iV=function(e){var t,n,r,i,a,o=[];e.titleTemplate&&(iH.templateTitle=e.titleTemplate);var s="";e.title?(s=e.title,iH.templateTitle&&(s=iH.templateTitle.replace(/%s/g,function(){return s}))):e.defaultTitle&&(s=e.defaultTitle),s&&o.push(R.createElement("title",{key:"title"},s));var l=void 0===e.noindex?iH.noindex||e.dangerouslySetAllPagesToNoIndex:e.noindex,u=void 0===e.nofollow?iH.nofollow||e.dangerouslySetAllPagesToNoFollow:e.nofollow,c=e.norobots||iH.norobots,d="";if(e.robotsProps){var f=e.robotsProps,h=f.nosnippet,p=f.maxSnippet,m=f.maxImagePreview,x=f.maxVideoPreview,g=f.noarchive,v=f.noimageindex,y=f.notranslate,b=f.unavailableAfter;d=(h?",nosnippet":"")+(p?",max-snippet:"+p:"")+(m?",max-image-preview:"+m:"")+(g?",noarchive":"")+(b?",unavailable_after:"+b:"")+(v?",noimageindex":"")+(x?",max-video-preview:"+x:"")+(y?",notranslate":"")}if(e.norobots&&(iH.norobots=!0),l||u?(e.dangerouslySetAllPagesToNoIndex&&(iH.noindex=!0),e.dangerouslySetAllPagesToNoFollow&&(iH.nofollow=!0),o.push(R.createElement("meta",{key:"robots",name:"robots",content:(l?"noindex":"index")+","+(u?"nofollow":"follow")+d}))):(!c||d)&&o.push(R.createElement("meta",{key:"robots",name:"robots",content:"index,follow"+d})),e.description&&o.push(R.createElement("meta",{key:"description",name:"description",content:e.description})),e.themeColor&&o.push(R.createElement("meta",{key:"theme-color",name:"theme-color",content:e.themeColor})),e.mobileAlternate&&o.push(R.createElement("link",{rel:"alternate",key:"mobileAlternate",media:e.mobileAlternate.media,href:e.mobileAlternate.href})),e.languageAlternates&&e.languageAlternates.length>0&&e.languageAlternates.forEach(function(e){o.push(R.createElement("link",{rel:"alternate",key:"languageAlternate-"+e.hrefLang,hrefLang:e.hrefLang,href:e.href}))}),e.twitter&&(e.twitter.cardType&&o.push(R.createElement("meta",{key:"twitter:card",name:"twitter:card",content:e.twitter.cardType})),e.twitter.site&&o.push(R.createElement("meta",{key:"twitter:site",name:"twitter:site",content:e.twitter.site})),e.twitter.handle&&o.push(R.createElement("meta",{key:"twitter:creator",name:"twitter:creator",content:e.twitter.handle}))),e.facebook&&e.facebook.appId&&o.push(R.createElement("meta",{key:"fb:app_id",property:"fb:app_id",content:e.facebook.appId})),(null!=(t=e.openGraph)&&t.title||s)&&o.push(R.createElement("meta",{key:"og:title",property:"og:title",content:(null==(i=e.openGraph)?void 0:i.title)||s})),(null!=(n=e.openGraph)&&n.description||e.description)&&o.push(R.createElement("meta",{key:"og:description",property:"og:description",content:(null==(a=e.openGraph)?void 0:a.description)||e.description})),e.openGraph){if((e.openGraph.url||e.canonical)&&o.push(R.createElement("meta",{key:"og:url",property:"og:url",content:e.openGraph.url||e.canonical})),e.openGraph.type){var w=e.openGraph.type.toLowerCase();o.push(R.createElement("meta",{key:"og:type",property:"og:type",content:w})),"profile"===w&&e.openGraph.profile?(e.openGraph.profile.firstName&&o.push(R.createElement("meta",{key:"profile:first_name",property:"profile:first_name",content:e.openGraph.profile.firstName})),e.openGraph.profile.lastName&&o.push(R.createElement("meta",{key:"profile:last_name",property:"profile:last_name",content:e.openGraph.profile.lastName})),e.openGraph.profile.username&&o.push(R.createElement("meta",{key:"profile:username",property:"profile:username",content:e.openGraph.profile.username})),e.openGraph.profile.gender&&o.push(R.createElement("meta",{key:"profile:gender",property:"profile:gender",content:e.openGraph.profile.gender}))):"book"===w&&e.openGraph.book?(e.openGraph.book.authors&&e.openGraph.book.authors.length&&e.openGraph.book.authors.forEach(function(e,t){o.push(R.createElement("meta",{key:"book:author:0"+t,property:"book:author",content:e}))}),e.openGraph.book.isbn&&o.push(R.createElement("meta",{key:"book:isbn",property:"book:isbn",content:e.openGraph.book.isbn})),e.openGraph.book.releaseDate&&o.push(R.createElement("meta",{key:"book:release_date",property:"book:release_date",content:e.openGraph.book.releaseDate})),e.openGraph.book.tags&&e.openGraph.book.tags.length&&e.openGraph.book.tags.forEach(function(e,t){o.push(R.createElement("meta",{key:"book:tag:0"+t,property:"book:tag",content:e}))})):"article"===w&&e.openGraph.article?(e.openGraph.article.publishedTime&&o.push(R.createElement("meta",{key:"article:published_time",property:"article:published_time",content:e.openGraph.article.publishedTime})),e.openGraph.article.modifiedTime&&o.push(R.createElement("meta",{key:"article:modified_time",property:"article:modified_time",content:e.openGraph.article.modifiedTime})),e.openGraph.article.expirationTime&&o.push(R.createElement("meta",{key:"article:expiration_time",property:"article:expiration_time",content:e.openGraph.article.expirationTime})),e.openGraph.article.authors&&e.openGraph.article.authors.length&&e.openGraph.article.authors.forEach(function(e,t){o.push(R.createElement("meta",{key:"article:author:0"+t,property:"article:author",content:e}))}),e.openGraph.article.section&&o.push(R.createElement("meta",{key:"article:section",property:"article:section",content:e.openGraph.article.section})),e.openGraph.article.tags&&e.openGraph.article.tags.length&&e.openGraph.article.tags.forEach(function(e,t){o.push(R.createElement("meta",{key:"article:tag:0"+t,property:"article:tag",content:e}))})):("video.movie"===w||"video.episode"===w||"video.tv_show"===w||"video.other"===w)&&e.openGraph.video&&(e.openGraph.video.actors&&e.openGraph.video.actors.length&&e.openGraph.video.actors.forEach(function(e,t){e.profile&&o.push(R.createElement("meta",{key:"video:actor:0"+t,property:"video:actor",content:e.profile})),e.role&&o.push(R.createElement("meta",{key:"video:actor:role:0"+t,property:"video:actor:role",content:e.role}))}),e.openGraph.video.directors&&e.openGraph.video.directors.length&&e.openGraph.video.directors.forEach(function(e,t){o.push(R.createElement("meta",{key:"video:director:0"+t,property:"video:director",content:e}))}),e.openGraph.video.writers&&e.openGraph.video.writers.length&&e.openGraph.video.writers.forEach(function(e,t){o.push(R.createElement("meta",{key:"video:writer:0"+t,property:"video:writer",content:e}))}),e.openGraph.video.duration&&o.push(R.createElement("meta",{key:"video:duration",property:"video:duration",content:e.openGraph.video.duration.toString()})),e.openGraph.video.releaseDate&&o.push(R.createElement("meta",{key:"video:release_date",property:"video:release_date",content:e.openGraph.video.releaseDate})),e.openGraph.video.tags&&e.openGraph.video.tags.length&&e.openGraph.video.tags.forEach(function(e,t){o.push(R.createElement("meta",{key:"video:tag:0"+t,property:"video:tag",content:e}))}),e.openGraph.video.series&&o.push(R.createElement("meta",{key:"video:series",property:"video:series",content:e.openGraph.video.series})))}e.defaultOpenGraphImageWidth&&(iH.defaultOpenGraphImageWidth=e.defaultOpenGraphImageWidth),e.defaultOpenGraphImageHeight&&(iH.defaultOpenGraphImageHeight=e.defaultOpenGraphImageHeight),e.openGraph.images&&e.openGraph.images.length&&o.push.apply(o,iG("image",e.openGraph.images,{defaultWidth:iH.defaultOpenGraphImageWidth,defaultHeight:iH.defaultOpenGraphImageHeight})),e.defaultOpenGraphVideoWidth&&(iH.defaultOpenGraphVideoWidth=e.defaultOpenGraphVideoWidth),e.defaultOpenGraphVideoHeight&&(iH.defaultOpenGraphVideoHeight=e.defaultOpenGraphVideoHeight),e.openGraph.videos&&e.openGraph.videos.length&&o.push.apply(o,iG("video",e.openGraph.videos,{defaultWidth:iH.defaultOpenGraphVideoWidth,defaultHeight:iH.defaultOpenGraphVideoHeight})),e.openGraph.audio&&o.push.apply(o,iG("audio",e.openGraph.audio)),e.openGraph.locale&&o.push(R.createElement("meta",{key:"og:locale",property:"og:locale",content:e.openGraph.locale})),(e.openGraph.siteName||e.openGraph.site_name)&&o.push(R.createElement("meta",{key:"og:site_name",property:"og:site_name",content:e.openGraph.siteName||e.openGraph.site_name}))}return e.canonical&&o.push(R.createElement("link",{rel:"canonical",href:e.canonical,key:"canonical"})),e.additionalMetaTags&&e.additionalMetaTags.length>0&&e.additionalMetaTags.forEach(function(e){var t,n,r=e.keyOverride,i=i$(e,iU);o.push(R.createElement("meta",iz({key:"meta:"+(null!=(t=null!=(n=null!=r?r:i.name)?n:i.property)?t:i.httpEquiv)},i)))}),null!=(r=e.additionalLinkTags)&&r.length&&e.additionalLinkTags.forEach(function(e){var t,n=e.crossOrigin,r=i$(e,iW);o.push(R.createElement("link",iz({key:"link"+(null!=(t=r.keyOverride)?t:r.href)+r.rel},r,{crossOrigin:"anonymous"===n||"use-credentials"===n||""===n?n:void 0})))}),o},iB=function(e){return R.createElement(iF(),null,iV(e))},iq=function(e){var t=e.title,n=e.themeColor,r=e.noindex,i=e.nofollow,a=e.robotsProps,o=e.description,s=e.canonical,l=e.openGraph,u=e.facebook,c=e.twitter,d=e.additionalMetaTags,f=e.titleTemplate,h=e.defaultTitle,p=e.mobileAlternate,m=e.languageAlternates,x=e.additionalLinkTags;return R.createElement(R.Fragment,null,R.createElement(iB,{title:t,themeColor:n,noindex:r,nofollow:i,robotsProps:a,description:o,canonical:s,facebook:u,openGraph:l,additionalMetaTags:d,twitter:c,titleTemplate:f,defaultTitle:h,mobileAlternate:p,languageAlternates:m,additionalLinkTags:x}))};RegExp("["+Object.keys(Object.freeze({"&":"&","<":"<",">":">",'"':""","'":"'"})).join("")+"]","g");var iK=((d=iK||{})[d.Open=0]="Open",d[d.Closed=1]="Closed",d),iY=((f=iY||{})[f.Pointer=0]="Pointer",f[f.Other=1]="Other",f),iQ=((h=iQ||{})[h.OpenMenu=0]="OpenMenu",h[h.CloseMenu=1]="CloseMenu",h[h.GoToItem=2]="GoToItem",h[h.Search=3]="Search",h[h.ClearSearch=4]="ClearSearch",h[h.RegisterItem=5]="RegisterItem",h[h.UnregisterItem=6]="UnregisterItem",h);function iJ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e,n=null!==e.activeItemIndex?e.items[e.activeItemIndex]:null,r=(0,io.z2)(t(e.items.slice()),e=>e.dataRef.current.domRef.current),i=n?r.indexOf(n):null;return -1===i&&(i=null),{items:r,activeItemIndex:i}}let iX={1:e=>1===e.menuState?e:{...e,activeItemIndex:null,menuState:1},0:e=>0===e.menuState?e:{...e,__demoMode:!1,menuState:0},2:(e,t)=>{var n;let r=iJ(e),i=iy(t,{resolveItems:()=>r.items,resolveActiveIndex:()=>r.activeItemIndex,resolveId:e=>e.id,resolveDisabled:e=>e.dataRef.current.disabled});return{...e,...r,searchQuery:"",activeItemIndex:i,activationTrigger:null!=(n=t.trigger)?n:1}},3:(e,t)=>{let n=""!==e.searchQuery?0:1,r=e.searchQuery+t.value.toLowerCase(),i=(null!==e.activeItemIndex?e.items.slice(e.activeItemIndex+n).concat(e.items.slice(0,e.activeItemIndex+n)):e.items).find(e=>{var t;return(null==(t=e.dataRef.current.textValue)?void 0:t.startsWith(r))&&!e.dataRef.current.disabled}),a=i?e.items.indexOf(i):-1;return -1===a||a===e.activeItemIndex?{...e,searchQuery:r}:{...e,searchQuery:r,activeItemIndex:a,activationTrigger:1}},4:e=>""===e.searchQuery?e:{...e,searchQuery:"",searchActiveItemIndex:null},5:(e,t)=>{let n=iJ(e,e=>[...e,{id:t.id,dataRef:t.dataRef}]);return{...e,...n}},6:(e,t)=>{let n=iJ(e,e=>{let n=e.findIndex(e=>e.id===t.id);return -1!==n&&e.splice(n,1),e});return{...e,...n,activationTrigger:1}}},i0=(0,R.createContext)(null);function i1(e){let t=(0,R.useContext)(i0);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,i1),t}return t}function i2(e,t){return(0,rW.E)(t.type,iX,e,t)}i0.displayName="MenuContext";let i4=R.Fragment,i5=rQ.AN.RenderStrategy|rQ.AN.Static,i3=R.Fragment,i6=Object.assign((0,rQ.yV)(function(e,t){let{__demoMode:n=!1,...r}=e,i=(0,R.useReducer)(i2,{__demoMode:n,menuState:n?0:1,buttonRef:(0,R.createRef)(),itemsRef:(0,R.createRef)(),items:[],searchQuery:"",activeItemIndex:null,activationTrigger:1}),[{menuState:a,itemsRef:o,buttonRef:s},l]=i,u=(0,rU.T)(t);il([s,o],(e,t)=>{var n;l({type:1}),(0,io.sP)(t,io.tJ.Loose)||(e.preventDefault(),null==(n=s.current)||n.focus())},0===a);let c=(0,rZ.z)(()=>{l({type:1})}),d=(0,R.useMemo)(()=>({open:0===a,close:c}),[a,c]);return R.createElement(i0.Provider,{value:i},R.createElement(rK,{value:(0,rW.E)(a,{0:rB.Open,1:rB.Closed})},(0,rQ.sY)({ourProps:{ref:u},theirProps:r,slot:d,defaultTag:i4,name:"Menu"})))}),{Button:(0,rQ.yV)(function(e,t){var n;let r=(0,ia.M)(),{id:i="headlessui-menu-button-".concat(r),...a}=e,[o,s]=i1("Menu.Button"),l=(0,rU.T)(o.buttonRef,t),u=rM(),c=(0,rZ.z)(e=>{switch(e.key){case ik.R.Space:case ik.R.Enter:case ik.R.ArrowDown:e.preventDefault(),e.stopPropagation(),s({type:0}),u.nextFrame(()=>s({type:2,focus:iv.First}));break;case ik.R.ArrowUp:e.preventDefault(),e.stopPropagation(),s({type:0}),u.nextFrame(()=>s({type:2,focus:iv.Last}))}}),d=(0,rZ.z)(e=>{e.key===ik.R.Space&&e.preventDefault()}),f=(0,rZ.z)(t=>{if(ig(t.currentTarget))return t.preventDefault();e.disabled||(0===o.menuState?(s({type:1}),u.nextFrame(()=>{var e;return null==(e=o.buttonRef.current)?void 0:e.focus({preventScroll:!0})})):(t.preventDefault(),s({type:0})))}),h=(0,R.useMemo)(()=>({open:0===o.menuState}),[o]),p={ref:l,id:i,type:(0,iu.f)(e,o.buttonRef),"aria-haspopup":"menu","aria-controls":null==(n=o.itemsRef.current)?void 0:n.id,"aria-expanded":0===o.menuState,onKeyDown:c,onKeyUp:d,onClick:f};return(0,rQ.sY)({ourProps:p,theirProps:a,slot:h,defaultTag:"button",name:"Menu.Button"})}),Items:(0,rQ.yV)(function(e,t){var n,r;let i=(0,ia.M)(),{id:a="headlessui-menu-items-".concat(i),...o}=e,[s,l]=i1("Menu.Items"),u=(0,rU.T)(s.itemsRef,t),c=function(){for(var e=arguments.length,t=Array(e),n=0;n(0,iw.r)(...t),[...t])}(s.itemsRef),d=rM(),f=rq(),h=null!==f?(f&rB.Open)===rB.Open:0===s.menuState;(0,R.useEffect)(()=>{let e=s.itemsRef.current;e&&0===s.menuState&&e!==(null==c?void 0:c.activeElement)&&e.focus({preventScroll:!0})},[s.menuState,s.itemsRef,c]),function(e){let{container:t,accept:n,walk:r,enabled:i=!0}=e,a=(0,R.useRef)(n),o=(0,R.useRef)(r);(0,R.useEffect)(()=>{a.current=n,o.current=r},[n,r]),(0,rF.e)(()=>{if(!t||!i)return;let e=(0,iw.r)(t);if(!e)return;let n=a.current,r=o.current,s=Object.assign(e=>n(e),{acceptNode:n}),l=e.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,s,!1);for(;l.nextNode();)r(l.currentNode)},[t,i,a,o])}({container:s.itemsRef.current,enabled:0===s.menuState,accept:e=>"menuitem"===e.getAttribute("role")?NodeFilter.FILTER_REJECT:e.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT,walk(e){e.setAttribute("role","none")}});let p=(0,rZ.z)(e=>{var t,n;switch(d.dispose(),e.key){case ik.R.Space:if(""!==s.searchQuery)return e.preventDefault(),e.stopPropagation(),l({type:3,value:e.key});case ik.R.Enter:if(e.preventDefault(),e.stopPropagation(),l({type:1}),null!==s.activeItemIndex){let{dataRef:e}=s.items[s.activeItemIndex];null==(n=null==(t=e.current)?void 0:t.domRef.current)||n.click()}(0,io.wI)(s.buttonRef.current);break;case ik.R.ArrowDown:return e.preventDefault(),e.stopPropagation(),l({type:2,focus:iv.Next});case ik.R.ArrowUp:return e.preventDefault(),e.stopPropagation(),l({type:2,focus:iv.Previous});case ik.R.Home:case ik.R.PageUp:return e.preventDefault(),e.stopPropagation(),l({type:2,focus:iv.First});case ik.R.End:case ik.R.PageDown:return e.preventDefault(),e.stopPropagation(),l({type:2,focus:iv.Last});case ik.R.Escape:e.preventDefault(),e.stopPropagation(),l({type:1}),(0,rP.k)().nextFrame(()=>{var e;return null==(e=s.buttonRef.current)?void 0:e.focus({preventScroll:!0})});break;case ik.R.Tab:e.preventDefault(),e.stopPropagation(),l({type:1}),(0,rP.k)().nextFrame(()=>{(0,io.EO)(s.buttonRef.current,e.shiftKey?io.TO.Previous:io.TO.Next)});break;default:1===e.key.length&&(l({type:3,value:e.key}),d.setTimeout(()=>l({type:4}),350))}}),m=(0,rZ.z)(e=>{e.key===ik.R.Space&&e.preventDefault()}),x=(0,R.useMemo)(()=>({open:0===s.menuState}),[s]),g={"aria-activedescendant":null===s.activeItemIndex||null==(n=s.items[s.activeItemIndex])?void 0:n.id,"aria-labelledby":null==(r=s.buttonRef.current)?void 0:r.id,id:a,onKeyDown:p,onKeyUp:m,role:"menu",tabIndex:0,ref:u};return(0,rQ.sY)({ourProps:g,theirProps:o,slot:x,defaultTag:"div",features:i5,visible:h,name:"Menu.Items"})}),Item:(0,rQ.yV)(function(e,t){let n=(0,ia.M)(),{id:r="headlessui-menu-item-".concat(n),disabled:i=!1,...a}=e,[o,s]=i1("Menu.Item"),l=null!==o.activeItemIndex&&o.items[o.activeItemIndex].id===r,u=(0,R.useRef)(null),c=(0,rU.T)(t,u);(0,rF.e)(()=>{if(o.__demoMode||0!==o.menuState||!l||0===o.activationTrigger)return;let e=(0,rP.k)();return e.requestAnimationFrame(()=>{var e,t;null==(t=null==(e=u.current)?void 0:e.scrollIntoView)||t.call(e,{block:"nearest"})}),e.dispose},[o.__demoMode,u,l,o.menuState,o.activationTrigger,o.activeItemIndex]);let d=ih(u),f=(0,R.useRef)({disabled:i,domRef:u,get textValue(){return d()}});(0,rF.e)(()=>{f.current.disabled=i},[f,i]),(0,rF.e)(()=>(s({type:5,id:r,dataRef:f}),()=>s({type:6,id:r})),[f,r]);let h=(0,rZ.z)(()=>{s({type:1})}),p=(0,rZ.z)(e=>{if(i)return e.preventDefault();s({type:1}),(0,io.wI)(o.buttonRef.current)}),m=(0,rZ.z)(()=>{if(i)return s({type:2,focus:iv.Nothing});s({type:2,focus:iv.Specific,id:r})}),x=im(),g=(0,rZ.z)(e=>x.update(e)),v=(0,rZ.z)(e=>{x.wasMoved(e)&&(i||l||s({type:2,focus:iv.Specific,id:r,trigger:0}))}),y=(0,rZ.z)(e=>{x.wasMoved(e)&&(i||l&&s({type:2,focus:iv.Nothing}))}),b=(0,R.useMemo)(()=>({active:l,disabled:i,close:h}),[l,i,h]);return(0,rQ.sY)({ourProps:{id:r,ref:c,role:"menuitem",tabIndex:!0===i?void 0:-1,"aria-disabled":!0===i||void 0,disabled:void 0,onClick:p,onFocus:m,onPointerEnter:g,onMouseEnter:g,onPointerMove:v,onMouseMove:v,onPointerLeave:y,onMouseLeave:y},theirProps:a,slot:b,defaultTag:i3,name:"Menu.Item"})})}),i7=e=>"object"==typeof e&&null!=e&&1===e.nodeType,i9=(e,t)=>(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e,i8=(e,t)=>{if(e.clientHeight{let t=(e=>{if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}})(e);return!!t&&(t.clientHeightat||a>e&&o=t&&s>=n?a-e-r:o>t&&sn?o-t+i:0,at=e=>{let t=e.parentElement;return null==t?e.getRootNode().host||null:t},an=(e,t)=>{var n,r,i,a;if("undefined"==typeof document)return[];let{scrollMode:o,block:s,inline:l,boundary:u,skipOverflowHiddenElements:c}=t,d="function"==typeof u?u:e=>e!==u;if(!i7(e))throw TypeError("Invalid target");let f=document.scrollingElement||document.documentElement,h=[],p=e;for(;i7(p)&&d(p);){if((p=at(p))===f){h.push(p);break}null!=p&&p===document.body&&i8(p)&&!i8(document.documentElement)||null!=p&&i8(p,c)&&h.push(p)}let m=null!=(r=null==(n=window.visualViewport)?void 0:n.width)?r:innerWidth,x=null!=(a=null==(i=window.visualViewport)?void 0:i.height)?a:innerHeight,{scrollX:g,scrollY:v}=window,{height:y,width:b,top:w,right:k,bottom:_,left:j}=e.getBoundingClientRect(),{top:E,right:O,bottom:T,left:C}=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e),S="start"===s||"nearest"===s?w-E:"end"===s?_+T:w+y/2-E+T,N="center"===l?j+b/2-C+O:"end"===l?k+O:j-C,R=[];for(let e=0;e=0&&j>=0&&_<=x&&k<=m&&w>=i&&_<=u&&j>=c&&k<=a)break;let d=getComputedStyle(t),p=parseInt(d.borderLeftWidth,10),E=parseInt(d.borderTopWidth,10),O=parseInt(d.borderRightWidth,10),T=parseInt(d.borderBottomWidth,10),C=0,I=0,A="offsetWidth"in t?t.offsetWidth-t.clientWidth-p-O:0,L="offsetHeight"in t?t.offsetHeight-t.clientHeight-E-T:0,P="offsetWidth"in t?0===t.offsetWidth?0:r/t.offsetWidth:0,M="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(f===t)C="start"===s?S:"end"===s?S-x:"nearest"===s?ae(v,v+x,x,E,T,v+S,v+S+y,y):S-x/2,I="start"===l?N:"center"===l?N-m/2:"end"===l?N-m:ae(g,g+m,m,p,O,g+N,g+N+b,b),C=Math.max(0,C+v),I=Math.max(0,I+g);else{C="start"===s?S-i-E:"end"===s?S-u+T+L:"nearest"===s?ae(i,u,n,E,T+L,S,S+y,y):S-(i+n/2)+L/2,I="start"===l?N-c-p:"center"===l?N-(c+r/2)+A/2:"end"===l?N-a+O+A:ae(c,a,r,p,O+A,N,N+b,b);let{scrollLeft:e,scrollTop:o}=t;C=0===M?0:Math.max(0,Math.min(o+C/M,t.scrollHeight-n/M+L)),I=0===P?0:Math.max(0,Math.min(e+I/P,t.scrollWidth-r/P+A)),S+=o-C,N+=e-I}R.push({el:t,top:C,left:I})}return R},ar=e=>!1===e?{block:"end",inline:"nearest"}:e===Object(e)&&0!==Object.keys(e).length?e:{block:"start",inline:"nearest"};function ai(e,t){if(!e.isConnected||!(e=>{let t=e;for(;t&&t.parentNode;){if(t.parentNode===document)return!0;t=t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentNode}return!1})(e))return;let n=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);if("object"==typeof t&&"function"==typeof t.behavior)return t.behavior(an(e,t));let r="boolean"==typeof t||null==t?void 0:t.behavior;for(let{el:i,top:a,left:o}of an(e,ar(t))){let e=a-n.top+n.bottom,t=o-n.left+n.right;i.scroll({top:e,left:t,behavior:r})}}var aa=n(6826),ao=n.n(aa);/** - * @name match-sorter - * @license MIT license. - * @copyright (c) 2020 Kent C. Dodds - * @author Kent C. Dodds (https://kentcdodds.com) - */let as={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},al=(e,t)=>String(e.rankedValue).localeCompare(String(t.rankedValue));function au(e,t,n){void 0===n&&(n={});let{keys:r,threshold:i=as.MATCHES,baseSort:a=al,sorter:o=e=>e.sort((e,t)=>(function(e,t,n){let{rank:r,keyIndex:i}=e,{rank:a,keyIndex:o}=t;return r!==a?r>a?-1:1:i===o?n(e,t):i{let{rank:i,rankedValue:a,keyIndex:o,keyThreshold:l}=e,{itemValue:u,attributes:c}=n,d=ac(u,t,s),f=a,{minRanking:h,maxRanking:p,threshold:m}=c;return d=as.MATCHES?d=h:d>p&&(d=p),d>i&&(i=d,o=r,l=m,f=u),{rankedValue:f,rank:i,keyIndex:o,keyThreshold:l}},{rankedValue:a,rank:as.NO_MATCH,keyIndex:-1,keyThreshold:s.threshold}):{rankedValue:a,rank:ac(a,t,s),keyIndex:-1,keyThreshold:s.threshold}),{rank:u,keyThreshold:c=i}=l;return u>=c&&e.push({...l,item:a,index:o}),e},[])).map(e=>{let{item:t}=e;return t})}function ac(e,t,n){let r;return(e=ad(e,n),(t=ad(t,n)).length>e.length)?as.NO_MATCH:e===t?as.CASE_SENSITIVE_EQUAL:(e=e.toLowerCase())===(t=t.toLowerCase())?as.EQUAL:e.startsWith(t)?as.STARTS_WITH:e.includes(` ${t}`)?as.WORD_STARTS_WITH:e.includes(t)?as.CONTAINS:1===t.length?as.NO_MATCH:(r="",e.split(" ").forEach(e=>{e.split("-").forEach(e=>{r+=e.substr(0,1)})}),r).includes(t)?as.ACRONYM:function(e,t){let n=0,r=0;function i(e,t,r){for(let i=r,a=t.length;i-1))return as.NO_MATCH;return function(e){let r=n/t.length;return as.MATCHES+1/e*r}(r-a)}(e,t)}function ad(e,t){let{keepDiacritics:n}=t;return e=`${e}`,n||(e=ao()(e)),e}au.rankings=as;let af={maxRanking:1/0,minRanking:-1/0};var ah=n(2154),ap=Object.defineProperty,am=Object.defineProperties,ax=Object.getOwnPropertyDescriptors,ag=Object.getOwnPropertySymbols,av=Object.prototype.hasOwnProperty,ay=Object.prototype.propertyIsEnumerable,ab=(e,t,n)=>t in e?ap(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,aw=(e,t)=>{for(var n in t||(t={}))av.call(t,n)&&ab(e,n,t[n]);if(ag)for(var n of ag(t))ay.call(t,n)&&ab(e,n,t[n]);return e},ak=(e,t)=>am(e,ax(t)),a_=(e,t)=>{var n={};for(var r in e)av.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&ag)for(var r of ag(e))0>t.indexOf(r)&&ay.call(e,r)&&(n[r]=e[r]);return n},aj=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),aE=(0,R.createContext)({}),aO=(0,R.createContext)(e=>e),aT=(0,R.createContext)(null),aC=new WeakMap,aS=(0,R.createContext)(aC),aN=()=>(0,R.useContext)(aE),aR=()=>(0,R.useContext)(aO),aI=()=>(0,R.useContext)(aT),aA=()=>(0,R.useContext)(aS),aL=({children:e})=>{let[t,n]=(0,R.useState)({}),r=(0,R.useRef)(null);return oj&&!r.current&&(r.current=new IntersectionObserver(e=>{n(t=>{let n=aw({},t);for(let t of e)if((null==t?void 0:t.rootBounds)&&aC.has(t.target)){let[e,r]=aC.get(t.target),i=t.boundingClientRect.y+t.boundingClientRect.height<=t.rootBounds.y+t.rootBounds.height,a=t.intersectionRatio>0;n[e]={index:r,aboveHalfViewport:i,insideHalfViewport:a}}let r="",i=1/0,a=-1;for(let e in n)n[e].isActive=!1,n[e].insideHalfViewport&&n[e].indexa&&(a=n[e].index,r=e);return n[r]&&(n[r].isActive=!0),n})},{rootMargin:"0px 0px -50%",threshold:[0,1]})),(0,tP.jsx)(aE.Provider,{value:t,children:(0,tP.jsx)(aO.Provider,{value:n,children:(0,tP.jsx)(aS.Provider,{value:aC,children:(0,tP.jsx)(aT.Provider,{value:r.current,children:e})})})})},aP=(0,R.createContext)({menu:!1,setMenu:()=>!1}),aM=()=>(0,R.useContext)(aP),aZ=aP.Provider,aD=(0,R.createContext)(aw({title:"",frontMatter:{}},oR));function aF(){return(0,R.useContext)(aD)}var az=({children:e,value:{themeConfig:t,pageOpts:n}})=>{let[r,i]=(0,R.useState)(!1);S||(S=aw(aw({},oR),Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t&&"object"==typeof t&&oI.includes(e)?aw(aw({},oR[e]),t):t]))));let a=ak(aw(ak(aw({},S),{flexsearch:n.flexsearch}),"boolean"==typeof n.newNextLinkBehavior&&{newNextLinkBehavior:n.newNextLinkBehavior}),{title:n.title,frontMatter:n.frontMatter}),{nextThemes:o}=a;return(0,tP.jsx)(tU,{attribute:"class",disableTransitionOnChange:!0,defaultTheme:o.defaultTheme,storageKey:o.storageKey,forcedTheme:o.forcedTheme,children:(0,tP.jsx)(aD.Provider,{value:a,children:(0,tP.jsx)(aZ,{value:{menu:r,setMenu:i},children:e})})})},a$=(0,R.createContext)(e=>e),aU=()=>(0,R.useContext)(a$),aW=a$.Provider,aH=Number("14.2.4".split(".")[0]),aG=(0,R.forwardRef)(function(e,t){var{href:n="",children:r,newWindow:i}=e,a=a_(e,["href","children","newWindow"]);let o=aF();return i?(0,tP.jsxs)("a",ak(aw({ref:t,href:n,target:"_blank",rel:"noreferrer"},a),{children:[r,(0,tP.jsx)("span",{className:"nx-sr-only nx-select-none",children:" (opens in a new tab)"})]})):n?aH>12||o.newNextLinkBehavior?(0,tP.jsx)(tL(),ak(aw({ref:t,href:n},a),{children:r})):(0,tP.jsx)(tL(),{href:n,passHref:!0,children:(0,tP.jsx)("a",ak(aw({ref:t},a),{children:r}))}):(0,tP.jsx)("a",ak(aw({ref:t},a),{children:r}))});aG.displayName="Anchor";var aV=({repository:e="",title:t,labels:n})=>{let r=t5()(e);if(!r)throw Error("Invalid `docsRepositoryBase` URL!");return r.resource.includes("gitlab")?`${r.protocol}://${r.resource}/${r.owner}/${r.name}/-/issues/new?issue[title]=${encodeURIComponent(t)}${n?`&issue[description]=/label${encodeURIComponent(` ~${n} -`)}`:""}`:r.resource.includes("github")?`${r.protocol}://${r.resource}/${r.owner}/${r.name}/issues/new?title=${encodeURIComponent(t)}&labels=${n||""}`:"#"};function aB(e,t){return e?"function"!=typeof e?e:(0,tP.jsx)(e,aw({},t)):null}function aq(e,t={}){return("function"==typeof e?e(t):e)||""}function aK(){let{banner:e}=aF();if(!e.text)return null;let t=`try{if(localStorage.getItem(${JSON.stringify(e.key)})==='0'){document.body.classList.add('nextra-banner-hidden')}}catch(e){}`;return(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)("script",{dangerouslySetInnerHTML:{__html:t}}),(0,tP.jsxs)("div",{className:(0,I.Z)("nextra-banner-container nx-sticky nx-top-0 nx-z-20 nx-flex nx-items-center md:nx-relative","nx-h-[var(--nextra-banner-height)] [body.nextra-banner-hidden_&]:nx-hidden","nx-text-slate-50 dark:nx-text-white nx-bg-neutral-900 dark:nx-bg-[linear-gradient(1deg,#383838,#212121)]","nx-px-2 ltr:nx-pl-10 rtl:nx-pr-10 print:nx-hidden"),children:[(0,tP.jsx)("div",{className:"nx-w-full nx-truncate nx-px-4 nx-text-center nx-font-medium nx-text-sm",children:aB(e.text)}),e.dismissible&&(0,tP.jsx)("button",{type:"button","aria-label":"Dismiss banner",className:"nx-w-8 nx-h-8 nx-opacity-80 hover:nx-opacity-100",onClick:()=>{try{localStorage.setItem(e.key,"0")}catch(e){}document.body.classList.add("nextra-banner-hidden")},children:(0,tP.jsx)(Z.b0,{className:"nx-mx-auto nx-h-4 nx-w-4"})})]})]})}function aY({activePath:e}){return(0,tP.jsx)("div",{className:"nextra-breadcrumb nx-mt-1.5 nx-flex nx-items-center nx-gap-1 nx-overflow-hidden nx-text-sm nx-text-gray-500 dark:nx-text-gray-400 contrast-more:nx-text-current",children:e.map((t,n)=>{let r=!t.children||t.withIndexPage,i=n===e.length-1;return(0,tP.jsxs)(R.Fragment,{children:[n>0&&(0,tP.jsx)(Z.LZ,{className:"nx-w-3.5 nx-shrink-0"}),(0,tP.jsx)("div",{className:(0,I.Z)("nx-whitespace-nowrap nx-transition-colors",i?"nx-font-medium nx-text-gray-700 contrast-more:nx-font-bold contrast-more:nx-text-current dark:nx-text-gray-100 contrast-more:dark:nx-text-current":["nx-min-w-[24px] nx-overflow-hidden nx-text-ellipsis",r&&"hover:nx-text-gray-900 dark:hover:nx-text-gray-100"]),title:t.title,children:r&&!i?(0,tP.jsx)(aG,{href:t.route,children:t.title}):t.title})]},t.route+t.name)})})}function aQ({children:e,className:t,isOpen:n,horizontal:r=!1}){let i=(0,R.useRef)(null),a=(0,R.useRef)(null),o=(0,R.useRef)(0),s=(0,R.useRef)(n),l=(0,R.useRef)(!0);return(0,R.useEffect)(()=>{let e=i.current,t=a.current,s=o.current;s&&clearTimeout(s),!l.current&&e&&t&&(e.classList.toggle("nx-duration-500",!n),e.classList.toggle("nx-duration-300",n),r?(t.style.width=`${t.clientWidth}px`,e.style.width=`${t.clientWidth}px`):e.style.height=`${t.clientHeight}px`,n?o.current=window.setTimeout(()=>{e.style.removeProperty("height")},300):setTimeout(()=>{r?e.style.width="0px":e.style.height="0px"},0))},[r,n]),(0,R.useEffect)(()=>{l.current=!1},[]),(0,tP.jsx)("div",{ref:i,className:"nx-transform-gpu nx-overflow-hidden nx-transition-all nx-ease-in-out motion-reduce:nx-transition-none",style:s.current||r?void 0:{height:0},children:(0,tP.jsx)("div",{ref:a,className:(0,I.Z)("nx-transition-opacity nx-duration-500 nx-ease-in-out motion-reduce:nx-transition-none",n?"nx-opacity-100":"nx-opacity-0",t),children:e})})}var aJ=(0,R.memo)(function({value:e,match:t}){let n;if(!e)return null;let r=e.split(""),i=RegExp((function(e){if("string"!=typeof e)throw TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")})(t.trim()).replaceAll(/\s+/g,"|"),"ig"),a=0,o=[];for(;n=i.exec(e);)if(n.index===i.lastIndex)i.lastIndex++;else{let e=r.splice(0,n.index-a).join(""),t=r.splice(0,i.lastIndex-n.index).join("");o.push(e,(0,tP.jsx)("span",{className:"nx-text-primary-600",children:t},n.index)),a=i.lastIndex}return(0,tP.jsxs)(tP.Fragment,{children:[o,r.join("")]})}),aX=(0,R.forwardRef)((e,t)=>{var{className:n,suffix:r}=e,i=a_(e,["className","suffix"]);return(0,tP.jsxs)("div",{className:"nx-relative nx-flex nx-items-center nx-text-gray-900 contrast-more:nx-text-gray-800 dark:nx-text-gray-300 contrast-more:dark:nx-text-gray-300",children:[(0,tP.jsx)("input",aw({ref:t,spellCheck:!1,className:(0,I.Z)(n,"nx-block nx-w-full nx-appearance-none nx-rounded-lg nx-px-3 nx-py-2 nx-transition-colors","nx-text-base nx-leading-tight md:nx-text-sm","nx-bg-black/[.05] dark:nx-bg-gray-50/10","focus:nx-bg-white dark:focus:nx-bg-dark","placeholder:nx-text-gray-500 dark:placeholder:nx-text-gray-400","contrast-more:nx-border contrast-more:nx-border-current")},i)),r]})});aX.displayName="Input";var a0=["input","select","button","textarea"];function a1({className:e,overlayClassName:t,value:n,onChange:r,onActive:i,loading:a,error:o,results:s}){let[l,u]=(0,R.useState)(!1),c=aF(),[d,f]=(0,R.useState)(0),h=(0,N.useRouter)(),{setMenu:p}=aM(),m=(0,R.useRef)(null),x=(0,R.useRef)(null),[g,v]=(0,R.useState)(!1),[y,b]=(0,R.useState)(!0);(0,R.useEffect)(()=>{f(0)},[n]),(0,R.useEffect)(()=>{let e=e=>{let t=document.activeElement,n=null==t?void 0:t.tagName.toLowerCase();!m.current||!n||a0.includes(n)||null!=t&&t.isContentEditable||("/"===e.key||"k"===e.key&&(e.metaKey||e.ctrlKey)?(e.preventDefault(),m.current.focus({preventScroll:!0})):"Escape"===e.key&&(u(!1),m.current.blur()))};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[]);let w=(0,R.useCallback)(()=>{var e;null==(e=m.current)||e.blur(),r(""),u(!1),p(!1)},[r,p]),k=(0,R.useCallback)(e=>{let{index:t}=e.currentTarget.dataset;f(Number(t))},[]),_=(0,R.useCallback)(function(e){var t,n,r;switch(e.key){case"ArrowDown":if(d+1 a`);n&&(e.preventDefault(),k({currentTarget:n}),n.focus())}break;case"ArrowUp":if(d-1>=0){let t=null==(n=x.current)?void 0:n.querySelector(`li:nth-of-type(${d}) > a`);t&&(e.preventDefault(),k({currentTarget:t}),t.focus())}break;case"Enter":{let e=s[d];e&&y&&(h.push(e.route),w());break}case"Escape":u(!1),null==(r=m.current)||r.blur()}},[d,s,h,w,k,y]),j=A(),E=l&&!!n,O=(0,tP.jsx)(it,{show:j&&(!l||!!n),as:R.Fragment,enter:"nx-transition-opacity",enterFrom:"nx-opacity-0",enterTo:"nx-opacity-100",leave:"nx-transition-opacity",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:(0,tP.jsx)("kbd",{className:(0,I.Z)("nx-absolute nx-my-1.5 nx-select-none ltr:nx-right-1.5 rtl:nx-left-1.5","nx-h-5 nx-rounded nx-bg-white nx-px-1.5 nx-font-mono nx-text-[10px] nx-font-medium nx-text-gray-500","nx-border dark:nx-border-gray-100/20 dark:nx-bg-dark/50","contrast-more:nx-border-current contrast-more:nx-text-current contrast-more:dark:nx-border-current","nx-items-center nx-gap-1 nx-transition-opacity",n?"nx-z-20 nx-flex nx-cursor-pointer hover:nx-opacity-70":"nx-pointer-events-none nx-hidden sm:nx-flex"),title:n?"Clear":void 0,onClick:()=>{r("")},children:n&&g?"ESC":j&&(navigator.userAgent.includes("Macintosh")?(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)("span",{className:"nx-text-xs",children:"⌘"}),"K"]}):"CTRL K")})}),T=(0,R.useCallback)(e=>{b("compositionend"===e.type)},[]);return(0,tP.jsxs)("div",{className:(0,I.Z)("nextra-search nx-relative md:nx-w-64",e),children:[E&&(0,tP.jsx)("div",{className:"nx-fixed nx-inset-0 nx-z-10",onClick:()=>u(!1)}),(0,tP.jsx)(aX,{ref:m,value:n,onChange:e=>{let{value:t}=e.target;r(t),u(!!t)},onFocus:()=>{null==i||i(!0),v(!0)},onBlur:()=>{v(!1)},onCompositionStart:T,onCompositionEnd:T,type:"search",placeholder:aq(c.search.placeholder),onKeyDown:_,suffix:O}),(0,tP.jsx)(it,{show:E,as:it.Child,leave:"nx-transition-opacity nx-duration-100",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:(0,tP.jsx)("ul",{className:(0,I.Z)("nextra-scrollbar","nx-border nx-border-gray-200 nx-bg-white nx-text-gray-100 dark:nx-border-neutral-800 dark:nx-bg-neutral-900","nx-absolute nx-top-full nx-z-20 nx-mt-2 nx-overflow-auto nx-overscroll-contain nx-rounded-xl nx-py-2.5 nx-shadow-xl","nx-max-h-[min(calc(50vh-11rem-env(safe-area-inset-bottom)),400px)]","md:nx-max-h-[min(calc(100vh-5rem-env(safe-area-inset-bottom)),400px)]","nx-inset-x-0 ltr:md:nx-left-auto rtl:md:nx-right-auto","contrast-more:nx-border contrast-more:nx-border-gray-900 contrast-more:dark:nx-border-gray-50",t),ref:x,style:{transition:"max-height .2s ease"},children:o?(0,tP.jsxs)("span",{className:"nx-flex nx-select-none nx-justify-center nx-gap-2 nx-p-8 nx-text-center nx-text-sm nx-text-red-500",children:[(0,tP.jsx)(Z.AV,{className:"nx-h-5 nx-w-5"}),aq(c.search.error)]}):a?(0,tP.jsxs)("span",{className:"nx-flex nx-select-none nx-justify-center nx-gap-2 nx-p-8 nx-text-center nx-text-sm nx-text-gray-400",children:[(0,tP.jsx)(Z.L4,{className:"nx-h-5 nx-w-5 nx-animate-spin"}),aB(c.search.loading)]}):s.length>0?s.map(({route:e,prefix:t,children:n,id:r},i)=>(0,tP.jsxs)(R.Fragment,{children:[t,(0,tP.jsx)("li",{className:(0,I.Z)("nx-mx-2.5 nx-break-words nx-rounded-md","contrast-more:nx-border",i===d?"nx-bg-primary-500/10 nx-text-primary-600 contrast-more:nx-border-primary-500":"nx-text-gray-800 contrast-more:nx-border-transparent dark:nx-text-gray-300"),children:(0,tP.jsx)(aG,{className:"nx-block nx-scroll-m-12 nx-px-2.5 nx-py-2",href:e,"data-index":i,onFocus:k,onMouseMove:k,onClick:w,onKeyDown:_,children:n})})]},r)):aB(c.search.emptyResult)})})]})}var a2={},a4=new Map,a5=(e,t)=>{let n=e+"@"+t;if(a4.has(n))return a4.get(n);let r=a3(e,t);return a4.set(n,r),r},a3=(e,t)=>aj(void 0,null,function*(){let n=yield fetch(`${e}/_next/static/chunks/nextra-data-${t}.json`),r=yield n.json(),i=new rk({cache:100,tokenize:"full",document:{id:"id",index:"content",store:["title"]},context:{resolution:9,depth:2,bidirectional:!0}}),a=new rk({cache:100,tokenize:"full",document:{id:"id",index:"content",tag:"pageId",store:["title","content","url","display"]},context:{resolution:9,depth:2,bidirectional:!0}}),o=0;for(let[e,t]of Object.entries(r)){let n="";for(let[r,i]of(++o,Object.entries(t.data))){let[s,l]=r.split("#"),u=e+(s?"#"+s:""),c=l||t.title,d=i.split("\n");a.add(aw({id:u,url:u,title:c,pageId:`page_${o}`,content:c},d[0]&&{display:d[0]}));for(let e=0;e{var n,r;if(!e)return;let[i,a]=a2[t],o=(null==(n=i.search(e,5,{enrich:!0,suggest:!0})[0])?void 0:n.result)||[],s=[],u={};for(let t=0;te._page_rk===t._page_rk?e._section_rk-t._section_rk:u[e._page_rk]!==u[t._page_rk]?u[t._page_rk]-u[e._page_rk]:e._page_rk-t._page_rk).map(e=>({id:`${e._page_rk}_${e._section_rk}`,route:e.route,prefix:e.prefix,children:e.children})))},f=(0,R.useCallback)(e=>aj(this,null,function*(){if(e&&!a2[t]){i(!0);try{yield a5(n,t)}catch(e){o(!0)}i(!1)}}),[t,n]);return(0,tP.jsx)(a1,{loading:r,error:a,value:u,onChange:e=>aj(this,null,function*(){if(c(e),!r){if(!a2[t]){i(!0);try{yield a5(n,t)}catch(e){o(!0)}i(!1)}d(e)}}),onActive:f,className:e,overlayClassName:"nx-w-screen nx-min-h-[100px] nx-max-w-[min(calc(100vw-2rem),calc(100%+20rem))]",results:s})}function a7({options:e,selected:t,onChange:n,title:r,className:i}){let[a,o]=function(e){let t=(0,R.useRef)(null),n=(0,R.useRef)(null),r=(0,R.useRef)(),i=(0,R.useCallback)(()=>{var i;t.current&&n.current&&(null==(i=r.current)||i.call(r),r.current=nY(t.current,n.current,e).destroy)},[t,n,r,e]);return(0,R.useMemo)(()=>[e=>{t.current=e,i()},e=>{n.current=e,i()}],[t,n,i])}({strategy:"fixed",placement:"top-start",modifiers:[{name:"offset",options:{offset:[0,10]}},{name:"sameWidth",enabled:!0,fn({state:e}){e.styles.popper.minWidth=`${e.rects.reference.width}px`},phase:"beforeWrite",requires:["computeStyles"]}]});return(0,tP.jsx)(iM,{value:t,onChange:n,children:({open:n})=>(0,tP.jsxs)(iM.Button,{ref:a,title:r,className:(0,I.Z)("nx-h-7 nx-rounded-md nx-px-2 nx-text-left nx-text-xs nx-font-medium nx-text-gray-600 nx-transition-colors dark:nx-text-gray-400",n?"nx-bg-gray-200 nx-text-gray-900 dark:nx-bg-primary-100/10 dark:nx-text-gray-50":"hover:nx-bg-gray-100 hover:nx-text-gray-900 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50",i),children:[t.name,(0,tP.jsx)(a9,{children:(0,tP.jsx)(it,{ref:o,show:n,as:iM.Options,className:"nx-z-20 nx-max-h-64 nx-overflow-auto nx-rounded-md nx-ring-1 nx-ring-black/5 nx-bg-white nx-py-1 nx-text-sm nx-shadow-lg dark:nx-ring-white/20 dark:nx-bg-neutral-800",leave:"nx-transition-opacity",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:e.map(e=>(0,tP.jsxs)(iM.Option,{value:e,className:({active:e})=>(0,I.Z)(e?"nx-bg-primary-50 nx-text-primary-600 dark:nx-bg-primary-500/10":"nx-text-gray-800 dark:nx-text-gray-100","nx-relative nx-cursor-pointer nx-whitespace-nowrap nx-py-1.5","nx-transition-colors ltr:nx-pl-3 ltr:nx-pr-9 rtl:nx-pr-3 rtl:nx-pl-9"),children:[e.name,e.key===t.key&&(0,tP.jsx)("span",{className:"nx-absolute nx-inset-y-0 nx-flex nx-items-center ltr:nx-right-3 rtl:nx-left-3",children:(0,tP.jsx)(Z.nQ,{})})]},e.key))})})]})})}function a9(e){return A()?(0,iZ.createPortal)(e.children,document.body):null}function a8({lite:e,className:t}){let n=aF(),{locale:r,asPath:i}=(0,N.useRouter)(),a=n.i18n;if(!a.length)return null;let o=a.find(e=>r===e.locale);return(0,tP.jsx)(a7,{title:"Change language",className:t,onChange:e=>{let t=new Date(Date.now()+31536e6);document.cookie=`NEXT_LOCALE=${e.key}; expires=${t.toUTCString()}; path=/`,location.href=(0,ir.addBasePath)(i)},selected:{key:(null==o?void 0:o.locale)||"",name:(0,tP.jsxs)("span",{className:"nx-flex nx-items-center nx-gap-2",children:[(0,tP.jsx)(Z.n9,{}),(0,tP.jsx)("span",{className:e?"nx-hidden":"",children:null==o?void 0:o.text})]})},options:a.map(e=>({key:e.locale,name:e.text}))})}function oe(){var e;let t=aF(),{resolvedTheme:n}=t$(),r=A(),i="function"==typeof t.head?t.head({}):t.head,{primaryHue:a,primarySaturation:o}=t,{dark:s,light:l}="number"==typeof a?{dark:a,light:a}:a,{dark:u,light:c}="number"==typeof o?{dark:o,light:o}:o,d=t.frontMatter;return(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)(iq,aw({title:t.title,description:d.description,canonical:d.canonical,openGraph:d.openGraph},null==(e=t.useNextSeoProps)?void 0:e.call(t))),(0,tP.jsxs)(iF(),{children:[t.faviconGlyph?(0,tP.jsx)("link",{rel:"icon",href:`data:image/svg+xml;utf8,${t.faviconGlyph}`}):null,r?(0,tP.jsx)("meta",{name:"theme-color",content:"dark"===n?"#111":"#fff"}):(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)("meta",{name:"theme-color",content:"#fff",media:"(prefers-color-scheme: light)"}),(0,tP.jsx)("meta",{name:"theme-color",content:"#111",media:"(prefers-color-scheme: dark)"})]}),(0,tP.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, viewport-fit=cover"}),(0,tP.jsx)("style",{children:` - :root { - --nextra-primary-hue: ${l}deg; - --nextra-primary-saturation: ${c}%; - --nextra-navbar-height: 4rem; - --nextra-menu-height: 3.75rem; - --nextra-banner-height: 2.5rem; - } - - .dark { - --nextra-primary-hue: ${s}deg; - --nextra-primary-saturation: ${u}%; - } - `}),i]})]})}var ot={link:(0,I.Z)("nx-flex nx-max-w-[50%] nx-items-center nx-gap-1 nx-py-4 nx-text-base nx-font-medium nx-text-gray-600 nx-transition-colors [word-break:break-word] hover:nx-text-primary-600 dark:nx-text-gray-300 md:nx-text-lg"),icon:(0,I.Z)("nx-inline nx-h-5 nx-shrink-0")},on=({flatDirectories:e,currentIndex:t})=>{let n=aF().navigation,r="boolean"==typeof n?{prev:n,next:n}:n,i=r.prev&&e[t-1],a=r.next&&e[t+1];return(i&&!i.isUnderCurrentDocsTree&&(i=!1),a&&!a.isUnderCurrentDocsTree&&(a=!1),i||a)?(0,tP.jsxs)("div",{className:(0,I.Z)("nx-mb-8 nx-flex nx-items-center nx-border-t nx-pt-8 dark:nx-border-neutral-800","contrast-more:nx-border-neutral-400 dark:contrast-more:nx-border-neutral-400","print:nx-hidden"),children:[i&&(0,tP.jsxs)(aG,{href:i.route,title:i.title,className:(0,I.Z)(ot.link,"ltr:nx-pr-4 rtl:nx-pl-4"),children:[(0,tP.jsx)(Z.LZ,{className:(0,I.Z)(ot.icon,"ltr:nx-rotate-180")}),i.title]}),a&&(0,tP.jsxs)(aG,{href:a.route,title:a.title,className:(0,I.Z)(ot.link,"ltr:nx-ml-auto ltr:nx-pl-4 ltr:nx-text-right rtl:nx-mr-auto rtl:nx-pr-4 rtl:nx-text-left"),children:[a.title,(0,tP.jsx)(Z.LZ,{className:(0,I.Z)(ot.icon,"rtl:nx-rotate-180")})]})]}):null},or={link:(0,I.Z)("nx-text-sm contrast-more:nx-text-gray-700 contrast-more:dark:nx-text-gray-100"),active:(0,I.Z)("nx-font-medium nx-subpixel-antialiased"),inactive:(0,I.Z)("nx-text-gray-600 hover:nx-text-gray-800 dark:nx-text-gray-400 dark:hover:nx-text-gray-200")};function oi({className:e,menu:t,children:n}){let{items:r}=t,i=Object.fromEntries((t.children||[]).map(e=>[e.name,e]));return(0,tP.jsx)("div",{className:"nx-relative nx-inline-block",children:(0,tP.jsxs)(i6,{children:[(0,tP.jsx)(i6.Button,{className:(0,I.Z)(e,"-nx-ml-2 nx-hidden nx-items-center nx-whitespace-nowrap nx-rounded nx-p-2 md:nx-inline-flex",or.inactive),children:n}),(0,tP.jsx)(it,{leave:"nx-transition-opacity",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:(0,tP.jsx)(i6.Items,{className:"nx-absolute nx-right-0 nx-z-20 nx-mt-1 nx-max-h-64 nx-min-w-full nx-overflow-auto nx-rounded-md nx-ring-1 nx-ring-black/5 nx-bg-white nx-py-1 nx-text-sm nx-shadow-lg dark:nx-ring-white/20 dark:nx-bg-neutral-800",children:Object.entries(r||{}).map(([e,n])=>{var r;return(0,tP.jsx)(i6.Item,{children:(0,tP.jsx)(aG,{href:n.href||(null==(r=i[e])?void 0:r.route)||t.route+"/"+e,className:(0,I.Z)("nx-relative nx-hidden nx-w-full nx-select-none nx-whitespace-nowrap nx-text-gray-600 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100 md:nx-inline-block","nx-py-1.5 nx-transition-colors ltr:nx-pl-3 ltr:nx-pr-9 rtl:nx-pr-3 rtl:nx-pl-9"),newWindow:n.newWindow,children:n.title||e})},e)})})})]})})}var oa=Object.create(null),oo=(0,R.createContext)(null),os=(0,R.createContext)(null),ol=(0,R.createContext)(0),ou=(0,R.memo)(function(e){let t=(0,R.useContext)(ol);return(0,tP.jsx)(ol.Provider,{value:t+1,children:(0,tP.jsx)(od,aw({},e))})}),oc={link:(0,I.Z)("nx-flex nx-rounded nx-px-2 nx-py-1.5 nx-text-sm nx-transition-colors [word-break:break-word]","nx-cursor-pointer [-webkit-tap-highlight-color:transparent] [-webkit-touch-callout:none] contrast-more:nx-border"),inactive:(0,I.Z)("nx-text-gray-500 hover:nx-bg-gray-100 hover:nx-text-gray-900","dark:nx-text-neutral-400 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50","contrast-more:nx-text-gray-900 contrast-more:dark:nx-text-gray-50","contrast-more:nx-border-transparent contrast-more:hover:nx-border-gray-900 contrast-more:dark:hover:nx-border-gray-50"),active:(0,I.Z)("nx-bg-primary-100 nx-font-semibold nx-text-primary-800 dark:nx-bg-primary-400/10 dark:nx-text-primary-600","contrast-more:nx-border-primary-500 contrast-more:dark:nx-border-primary-500"),list:(0,I.Z)("nx-flex nx-flex-col nx-gap-1"),border:(0,I.Z)("nx-relative before:nx-absolute before:nx-inset-y-1",'before:nx-w-px before:nx-bg-gray-200 before:nx-content-[""] dark:before:nx-bg-neutral-800',"ltr:nx-pl-3 ltr:before:nx-left-0 rtl:nx-pr-3 rtl:before:nx-right-0")};function od({item:e,anchors:t}){let[n]=P().split("#"),r=[n,n+"/"].includes(e.route+"/"),i=r||n.startsWith(e.route+"/"),a=(0,R.useContext)(oo),o=!!(null==a?void 0:a.startsWith(e.route+"/")),s=(0,R.useContext)(ol),{setMenu:l}=aM(),u=aF(),{theme:c}=e,d=void 0===oa[e.route]?r||i||o||(c&&"collapsed"in c?!c.collapsed:s{u.sidebar.autoCollapse?i&&o?oa[e.route]=!0:delete oa[e.route]:(i||o)&&(oa[e.route]=!0)},[i,o,e.route,u.sidebar.autoCollapse]),"menu"===e.type){let t=Object.fromEntries((e.children||[]).map(e=>[e.name,e]));e.children=Object.entries(e.items||{}).map(([n,r])=>{let i=t[n]||ak(aw({name:n},"locale"in e&&{locale:e.locale}),{route:e.route+"/"+n});return aw(aw({},i),r)})}let h="withIndexPage"in e&&e.withIndexPage,p=h?aG:"button";return(0,tP.jsxs)("li",{className:(0,I.Z)({open:d,active:r}),children:[(0,tP.jsxs)(p,{href:h?e.route:void 0,className:(0,I.Z)("nx-items-center nx-justify-between nx-gap-2",!h&&"nx-text-left nx-w-full",oc.link,r?oc.active:oc.inactive),onClick:t=>{let n=["svg","path"].includes(t.target.tagName.toLowerCase());if(n&&t.preventDefault(),h){r||n?oa[e.route]=!d:(oa[e.route]=!0,l(!1)),f({});return}r||(oa[e.route]=!d,f({}))},children:[aB(u.sidebar.titleComponent,{title:e.title,type:e.type,route:e.route}),(0,tP.jsx)(Z.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5 hover:nx-bg-gray-800/5 dark:hover:nx-bg-gray-100/5",pathClassName:(0,I.Z)("nx-origin-center nx-transition-transform rtl:-nx-rotate-180",d&&"ltr:nx-rotate-90 rtl:nx-rotate-[-270deg]")})]}),(0,tP.jsx)(aQ,{className:"ltr:nx-pr-0 rtl:nx-pl-0 nx-pt-1",isOpen:d,children:Array.isArray(e.children)?(0,tP.jsx)(op,{className:(0,I.Z)(oc.border,"ltr:nx-ml-3 rtl:nx-mr-3"),directories:e.children,base:e.route,anchors:t}):null})]})}function of({title:e}){let t=aF();return(0,tP.jsx)("li",{className:(0,I.Z)("[word-break:break-word]",e?"nx-mt-5 nx-mb-2 nx-px-2 nx-py-1.5 nx-text-sm nx-font-semibold nx-text-gray-900 first:nx-mt-0 dark:nx-text-gray-100":"nx-my-4"),children:e?aB(t.sidebar.titleComponent,{title:e,type:"separator",route:""}):(0,tP.jsx)("hr",{className:"nx-mx-2 nx-border-t nx-border-gray-200 dark:nx-border-primary-100/10"})})}function oh({item:e,anchors:t}){let n=P(),r=(0,R.useContext)(os),i=e.route&&[n,n+"/"].includes(e.route+"/"),a=aN(),{setMenu:o}=aM(),s=aF();return"separator"===e.type?(0,tP.jsx)(of,{title:e.title}):(0,tP.jsxs)("li",{className:(0,I.Z)(oc.list,{active:i}),children:[(0,tP.jsx)(aG,{href:e.href||e.route,newWindow:e.newWindow,className:(0,I.Z)(oc.link,i?oc.active:oc.inactive),onClick:()=>{o(!1)},onFocus:()=>{null==r||r(e.route)},onBlur:()=>{null==r||r(null)},children:aB(s.sidebar.titleComponent,{title:e.title,type:e.type,route:e.route})}),i&&t.length>0&&(0,tP.jsx)("ul",{className:(0,I.Z)(oc.list,oc.border,"ltr:nx-ml-3 rtl:nx-mr-3"),children:t.map(({id:e,value:t})=>{var n;return(0,tP.jsx)("li",{children:(0,tP.jsx)("a",{href:`#${e}`,className:(0,I.Z)(oc.link,'nx-flex nx-gap-2 before:nx-opacity-25 before:nx-content-["#"]',(null==(n=a[e])?void 0:n.isActive)?oc.active:oc.inactive),onClick:()=>{o(!1)},children:t})},e)})})]})}function op({directories:e,anchors:t,className:n,onlyCurrentDocs:r}){return(0,tP.jsx)("ul",{className:(0,I.Z)(oc.list,n),children:e.map(e=>!r||e.isUnderCurrentDocsTree?"menu"===e.type||e.children&&(e.children.length||!e.withIndexPage)?(0,tP.jsx)(ou,{item:e,anchors:t},e.name):(0,tP.jsx)(oh,{item:e,anchors:t},e.name):null)})}function om({docsDirectories:e,flatDirectories:t,fullDirectories:n,asPopover:r=!1,headings:i,includePlaceholder:a}){let o=aF(),{menu:s,setMenu:l}=aM(),u=(0,N.useRouter)(),[c,d]=(0,R.useState)(null),[f,h]=(0,R.useState)(!0),[p,m]=(0,R.useState)(!1),x=(0,R.useMemo)(()=>i.filter(e=>2===e.depth),[i]),g=(0,R.useRef)(null),v=(0,R.useRef)(null),y=A();(0,R.useEffect)(()=>{s?document.body.classList.add("nx-overflow-hidden","md:nx-overflow-auto"):document.body.classList.remove("nx-overflow-hidden","md:nx-overflow-auto")},[s]),(0,R.useEffect)(()=>{var e;let t=null==(e=g.current)?void 0:e.querySelector("li.active");if(t&&(window.innerWidth>767||s)){let e=()=>{ai(t,{block:"center",inline:"center",scrollMode:"always",boundary:v.current})};s?setTimeout(e,300):e()}},[s]),(0,R.useEffect)(()=>{l(!1)},[u.asPath,l]);let b=o.i18n.length>0,w=o.darkMode||b||o.sidebar.toggleButton;return(0,tP.jsxs)(tP.Fragment,{children:[a&&r?(0,tP.jsx)("div",{className:"max-xl:nx-hidden nx-h-0 nx-w-64 nx-shrink-0"}):null,(0,tP.jsx)("div",{className:(0,I.Z)("motion-reduce:nx-transition-none [transition:background-color_1.5s_ease]",s?"nx-fixed nx-inset-0 nx-z-10 nx-bg-black/80 dark:nx-bg-black/60":"nx-bg-transparent"),onClick:()=>l(!1)}),(0,tP.jsxs)("aside",{className:(0,I.Z)("nextra-sidebar-container nx-flex nx-flex-col","md:nx-top-16 md:nx-shrink-0 motion-reduce:nx-transform-none","nx-transform-gpu nx-transition-all nx-ease-in-out","print:nx-hidden",f?"md:nx-w-64":"md:nx-w-20",r?"md:nx-hidden":"md:nx-sticky md:nx-self-start",s?"max-md:[transform:translate3d(0,0,0)]":"max-md:[transform:translate3d(0,-100%,0)]"),ref:v,children:[(0,tP.jsx)("div",{className:"nx-px-4 nx-pt-4 md:nx-hidden",children:aB(o.search.component,{directories:t})}),(0,tP.jsx)(oo.Provider,{value:c,children:(0,tP.jsx)(os.Provider,{value:e=>{d(e)},children:(0,tP.jsxs)("div",{className:(0,I.Z)("nx-overflow-y-auto nx-overflow-x-hidden","nx-p-4 nx-grow md:nx-h-[calc(100vh-var(--nextra-navbar-height)-var(--nextra-menu-height))]",f?"nextra-scrollbar":"no-scrollbar"),ref:g,children:[(!r||!f)&&(0,tP.jsx)(aQ,{isOpen:f,horizontal:!0,children:(0,tP.jsx)(op,{className:"nextra-menu-desktop max-md:nx-hidden",directories:e,anchors:o.toc.float?[]:x,onlyCurrentDocs:!0})}),y&&window.innerWidth<768&&(0,tP.jsx)(op,{className:"nextra-menu-mobile md:nx-hidden",directories:n,anchors:x})]})})}),w&&(0,tP.jsxs)("div",{className:(0,I.Z)("nx-sticky nx-bottom-0","nx-bg-white dark:nx-bg-dark","nx-mx-4 nx-py-4 nx-shadow-[0_-12px_16px_#fff]","nx-flex nx-items-center nx-gap-2","dark:nx-border-neutral-800 dark:nx-shadow-[0_-12px_16px_#111]","contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-shadow-none",f?(0,I.Z)(b&&"nx-justify-end","nx-border-t"):"nx-py-4 nx-flex-wrap nx-justify-center"),"data-toggle-animation":p?f?"show":"hide":"off",children:[(0,tP.jsx)(a8,{lite:!f,className:(0,I.Z)(f?"nx-grow":"max-md:nx-grow")}),o.darkMode&&(0,tP.jsx)("div",{className:f&&!b?"nx-grow nx-flex nx-flex-col":"",children:aB(o.themeSwitch.component,{lite:!f||b})}),o.sidebar.toggleButton&&(0,tP.jsx)("button",{title:f?"Hide sidebar":"Show sidebar",className:"max-md:nx-hidden nx-h-7 nx-rounded-md nx-transition-colors nx-text-gray-600 dark:nx-text-gray-400 nx-px-2 hover:nx-bg-gray-100 hover:nx-text-gray-900 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50",onClick:()=>{h(!f),m(!0)},children:(0,tP.jsx)(Z.Qq,{isOpen:f})})]})]})]})}var ox="reach-skip-nav";(0,R.forwardRef)(function(e,t){var{className:n,id:r,label:i="Skip to content",styled:a}=e,o=a_(e,["className","id","label","styled"]);let s=void 0===n?a?(0,I.Z)("nx-sr-only","focus:nx-not-sr-only focus:nx-fixed focus:nx-z-50 focus:nx-m-3 focus:nx-ml-4 focus:nx-h-[calc(var(--nextra-navbar-height)-1.5rem)] focus:nx-rounded-lg focus:nx-border focus:nx-px-3 focus:nx-py-2 focus:nx-align-middle focus:nx-text-sm focus:nx-font-bold","focus:nx-text-gray-900 focus:dark:nx-text-gray-100","focus:nx-bg-white focus:dark:nx-bg-neutral-900","focus:nx-border-neutral-400 focus:dark:nx-border-neutral-800"):"":n;return(0,tP.jsx)("a",ak(aw({},o),{ref:t,href:`#${r||ox}`,className:s,"data-reach-skip-link":"",children:i}))}).displayName="SkipNavLink";var og=(0,R.forwardRef)(function(e,t){var{id:n}=e,r=a_(e,["id"]);return(0,tP.jsx)("div",ak(aw({},r),{ref:t,id:n||ox}))});og.displayName="SkipNavContent";var ov=tI.strictObject({light:tI.string(),dark:tI.string(),system:tI.string()});function oy(){window.scrollTo({top:0,behavior:"smooth"})}function ob({className:e}){let t=(0,R.useRef)(null);return(0,R.useEffect)(()=>{function e(){var e;let{scrollTop:n}=document.documentElement;null==(e=t.current)||e.classList.toggle("nx-opacity-0",n<300)}return window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),(0,tP.jsxs)("button",{ref:t,"aria-hidden":"true",onClick:oy,className:(0,I.Z)("nx-flex nx-items-center nx-gap-1.5 nx-transition nx-opacity-0",e),children:["Scroll to top",(0,tP.jsx)(Z.LZ,{className:"-nx-rotate-90 nx-w-3.5 nx-h-3.5 nx-border nx-rounded-full nx-border-current"})]})}var ow=(0,I.Z)("nx-text-xs nx-font-medium nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100","contrast-more:nx-text-gray-800 contrast-more:dark:nx-text-gray-50");function ok({className:e,directories:t}){let[n,r]=(0,R.useState)(""),i=(0,R.useMemo)(()=>n?au(t,n,{keys:["title"]}).map(({route:e,title:t})=>({id:e+t,route:e,children:(0,tP.jsx)(aJ,{value:t,match:n})})):[],[n,t]);return(0,tP.jsx)(a1,{value:n,onChange:r,className:e,overlayClassName:"nx-w-full",results:i})}var o_="en-US",oj="undefined"!=typeof window;function oE(e){return"function"==typeof e}var oO=tI.array(tI.strictObject({direction:tI.enum(["ltr","rtl"]).optional(),locale:tI.string(),text:tI.string()})),oT=[function(e){return null==e||"string"==typeof e||oE(e)||(0,R.isValidElement)(e)},{message:"Must be React.ReactNode or React.FC"}],oC=[oE,{message:"Must be React.FC"}];tI.strictObject({banner:tI.strictObject({dismissible:tI.boolean(),key:tI.string(),text:tI.custom(...oT).optional()}),chat:tI.strictObject({icon:tI.custom(...oT),link:tI.string().startsWith("https://").optional()}),components:tI.record(tI.custom(...oC)).optional(),darkMode:tI.boolean(),direction:tI.enum(["ltr","rtl"]),docsRepositoryBase:tI.string().startsWith("https://"),editLink:tI.strictObject({component:tI.custom(...oC).or(tI.null()),text:tI.custom(...oT)}),faviconGlyph:tI.string().optional(),feedback:tI.strictObject({content:tI.custom(...oT),labels:tI.string(),useLink:tI.function().returns(tI.string())}),footer:tI.strictObject({component:tI.custom(...oT),text:tI.custom(...oT)}),gitTimestamp:tI.custom(...oT),head:tI.custom(...oT),i18n:oO,logo:tI.custom(...oT),logoLink:tI.boolean().or(tI.string()),main:tI.custom(...oC).optional(),navbar:tI.strictObject({component:tI.custom(...oT),extraContent:tI.custom(...oT).optional()}),navigation:tI.boolean().or(tI.strictObject({next:tI.boolean(),prev:tI.boolean()})),nextThemes:tI.strictObject({defaultTheme:tI.string(),forcedTheme:tI.string().optional(),storageKey:tI.string()}),notFound:tI.strictObject({content:tI.custom(...oT),labels:tI.string()}),primaryHue:tI.number().or(tI.strictObject({dark:tI.number(),light:tI.number()})),primarySaturation:tI.number().or(tI.strictObject({dark:tI.number(),light:tI.number()})),project:tI.strictObject({icon:tI.custom(...oT),link:tI.string().startsWith("https://").optional()}),search:tI.strictObject({component:tI.custom(...oT),emptyResult:tI.custom(...oT),error:tI.string().or(tI.function().returns(tI.string())),loading:tI.custom(...oT),placeholder:tI.string().or(tI.function().returns(tI.string()))}),serverSideError:tI.strictObject({content:tI.custom(...oT),labels:tI.string()}),sidebar:tI.strictObject({autoCollapse:tI.boolean().optional(),defaultMenuCollapseLevel:tI.number().min(1).int(),titleComponent:tI.custom(...oT),toggleButton:tI.boolean()}),themeSwitch:tI.strictObject({component:tI.custom(...oT),useOptions:ov.or(tI.function().returns(ov))}),toc:tI.strictObject({backToTop:tI.boolean(),component:tI.custom(...oT),extraContent:tI.custom(...oT),float:tI.boolean(),headingComponent:tI.custom(...oC).optional(),title:tI.custom(...oT)}),useNextSeoProps:tI.custom(oE)}).deepPartial().extend({i18n:oO.optional()});var oS={"en-US":"Loading",fr:"Сhargement",ru:"Загрузка","zh-CN":"正在加载"},oN={"en-US":"Search documentation",fr:"Rechercher documents",ru:"Поиск документации","zh-CN":"搜索文档"},oR={banner:{dismissible:!0,key:"nextra-banner"},chat:{icon:(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)(Z.D7,{}),(0,tP.jsx)("span",{className:"nx-sr-only",children:"Discord"})]})},darkMode:!0,direction:"ltr",docsRepositoryBase:"https://github.com/shuding/nextra",editLink:{component:function({className:e,filePath:t,children:n}){let r=function(e=""){let t=aF(),n=t5()(t.docsRepositoryBase||"");if(!n)throw Error("Invalid `docsRepositoryBase` URL!");return`${n.href}/${e}`}(t);return r?(0,tP.jsx)(aG,{className:e,href:r,children:n}):null},text:"Edit this page"},feedback:{content:"Question? Give us feedback →",labels:"feedback",useLink(){let e=aF();return aV({labels:e.feedback.labels,repository:e.docsRepositoryBase,title:`Feedback for \u201C${e.title}\u201D`})}},footer:{component:function({menu:e}){let t=aF();return(0,tP.jsxs)("footer",{className:"nx-bg-gray-100 nx-pb-[env(safe-area-inset-bottom)] dark:nx-bg-neutral-900 print:nx-bg-transparent",children:[(0,tP.jsxs)("div",{className:(0,I.Z)("nx-mx-auto nx-flex nx-max-w-[90rem] nx-gap-2 nx-py-2 nx-px-4",e&&(t.i18n.length>0||t.darkMode)?"nx-flex":"nx-hidden"),children:[(0,tP.jsx)(a8,{}),t.darkMode&&aB(t.themeSwitch.component)]}),(0,tP.jsx)("hr",{className:"dark:nx-border-neutral-800"}),(0,tP.jsx)("div",{className:(0,I.Z)("nx-mx-auto nx-flex nx-max-w-[90rem] nx-justify-center nx-py-12 nx-text-gray-600 dark:nx-text-gray-400 md:nx-justify-start","nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]"),children:aB(t.footer.text)})]})},text:`MIT ${new Date().getFullYear()} \xa9 Nextra.`},gitTimestamp:function({timestamp:e}){let{locale:t=o_}=(0,N.useRouter)();return(0,tP.jsxs)(tP.Fragment,{children:["Last updated on"," ",(0,tP.jsx)("time",{dateTime:e.toISOString(),children:e.toLocaleDateString(t,{day:"numeric",month:"long",year:"numeric"})})]})},head:(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)("meta",{name:"msapplication-TileColor",content:"#fff"}),(0,tP.jsx)("meta",{httpEquiv:"Content-Language",content:"en"}),(0,tP.jsx)("meta",{name:"description",content:"Nextra: the next docs builder"}),(0,tP.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,tP.jsx)("meta",{name:"twitter:site",content:"@shuding_"}),(0,tP.jsx)("meta",{property:"og:title",content:"Nextra: the next docs builder"}),(0,tP.jsx)("meta",{property:"og:description",content:"Nextra: the next docs builder"}),(0,tP.jsx)("meta",{name:"apple-mobile-web-app-title",content:"Nextra"})]}),i18n:[],logo:(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)("span",{className:"nx-font-extrabold",children:"Nextra"}),(0,tP.jsx)("span",{className:"nx-ml-2 nx-hidden nx-font-normal nx-text-gray-600 md:nx-inline",children:"The Next Docs Builder"})]}),logoLink:!0,navbar:{component:function({flatDirectories:e,items:t}){let n=aF(),r=P(),{menu:i,setMenu:a}=aM();return(0,tP.jsxs)("div",{className:"nextra-nav-container nx-sticky nx-top-0 nx-z-20 nx-w-full nx-bg-transparent print:nx-hidden",children:[(0,tP.jsx)("div",{className:(0,I.Z)("nextra-nav-container-blur","nx-pointer-events-none nx-absolute nx-z-[-1] nx-h-full nx-w-full nx-bg-white dark:nx-bg-dark","nx-shadow-[0_2px_4px_rgba(0,0,0,.02),0_1px_0_rgba(0,0,0,.06)] dark:nx-shadow-[0_-1px_0_rgba(255,255,255,.1)_inset]","contrast-more:nx-shadow-[0_0_0_1px_#000] contrast-more:dark:nx-shadow-[0_0_0_1px_#fff]")}),(0,tP.jsxs)("nav",{className:"nx-mx-auto nx-flex nx-h-[var(--nextra-navbar-height)] nx-max-w-[90rem] nx-items-center nx-justify-end nx-gap-2 nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]",children:[n.logoLink?(0,tP.jsx)(aG,{href:"string"==typeof n.logoLink?n.logoLink:"/",className:"nx-flex nx-items-center hover:nx-opacity-75 ltr:nx-mr-auto rtl:nx-ml-auto",children:aB(n.logo)}):(0,tP.jsx)("div",{className:"nx-flex nx-items-center ltr:nx-mr-auto rtl:nx-ml-auto",children:aB(n.logo)}),t.map(e=>{if("hidden"===e.display)return null;if("menu"===e.type)return(0,tP.jsxs)(oi,{className:(0,I.Z)(or.link,"nx-flex nx-gap-1",or.inactive),menu:e,children:[e.title,(0,tP.jsx)(Z.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5",pathClassName:"nx-origin-center nx-transition-transform nx-rotate-90"})]},e.title);let t=e.href||e.route||"#";e.children&&(t=(e.withIndexPage?e.route:e.firstChildRoute)||t);let n=e.route===r||r.startsWith(e.route+"/");return(0,tP.jsxs)(aG,{href:t,className:(0,I.Z)(or.link,"nx-relative -nx-ml-2 nx-hidden nx-whitespace-nowrap nx-p-2 md:nx-inline-block",!n||e.newWindow?or.inactive:or.active),newWindow:e.newWindow,"aria-current":!e.newWindow&&n,children:[(0,tP.jsx)("span",{className:"nx-absolute nx-inset-x-0 nx-text-center",children:e.title}),(0,tP.jsx)("span",{className:"nx-invisible nx-font-medium",children:e.title})]},t)}),aB(n.search.component,{directories:e,className:"nx-hidden md:nx-inline-block mx-min-w-[200px]"}),n.project.link?(0,tP.jsx)(aG,{className:"nx-p-2 nx-text-current",href:n.project.link,newWindow:!0,children:aB(n.project.icon)}):null,n.chat.link?(0,tP.jsx)(aG,{className:"nx-p-2 nx-text-current",href:n.chat.link,newWindow:!0,children:aB(n.chat.icon)}):null,aB(n.navbar.extraContent),(0,tP.jsx)("button",{type:"button","aria-label":"Menu",className:"nextra-hamburger -nx-mr-2 nx-rounded nx-p-2 active:nx-bg-gray-400/20 md:nx-hidden",onClick:()=>a(!i),children:(0,tP.jsx)(Z.Oq,{className:(0,I.Z)({open:i})})})]})]})}},navigation:!0,nextThemes:{defaultTheme:"system",storageKey:"theme"},notFound:{content:"Submit an issue about broken link →",labels:"bug"},primaryHue:{dark:204,light:212},primarySaturation:{dark:100,light:100},project:{icon:(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)(Z.fy,{}),(0,tP.jsx)("span",{className:"nx-sr-only",children:"GitHub"})]})},search:{component:function({className:e,directories:t}){return aF().flexsearch?(0,tP.jsx)(a6,{className:e}):(0,tP.jsx)(ok,{className:e,directories:t})},emptyResult:(0,tP.jsx)("span",{className:"nx-block nx-select-none nx-p-8 nx-text-center nx-text-sm nx-text-gray-400",children:"No results found."}),error:"Failed to load search index.",loading:function(){let{locale:e,defaultLocale:t=o_}=(0,N.useRouter)(),n=e&&oS[e]||oS[t];return(0,tP.jsxs)(tP.Fragment,{children:[n,"…"]})},placeholder:function(){let{locale:e,defaultLocale:t=o_}=(0,N.useRouter)(),n=e&&oN[e]||oN[t];return`${n}\u2026`}},serverSideError:{content:"Submit an issue about error in url →",labels:"bug"},sidebar:{defaultMenuCollapseLevel:2,titleComponent:({title:e})=>(0,tP.jsx)(tP.Fragment,{children:e}),toggleButton:!1},themeSwitch:{component:function({lite:e,className:t}){let{setTheme:n,resolvedTheme:r,theme:i=""}=t$(),a=A(),o=aF().themeSwitch,s=a&&"dark"===r?Z.kL:Z.NW,l="function"==typeof o.useOptions?o.useOptions():o.useOptions;return(0,tP.jsx)(a7,{className:t,title:"Change theme",options:[{key:"light",name:l.light},{key:"dark",name:l.dark},{key:"system",name:l.system}],onChange:e=>{n(e.key)},selected:{key:i,name:(0,tP.jsxs)("div",{className:"nx-flex nx-items-center nx-gap-2 nx-capitalize",children:[(0,tP.jsx)(s,{}),(0,tP.jsx)("span",{className:e?"md:nx-hidden":"",children:a?l[i]:l.light})]})}})},useOptions(){let{locale:e}=(0,N.useRouter)();return"zh-CN"===e?{dark:"深色主题",light:"浅色主题",system:"系统默认"}:{dark:"Dark",light:"Light",system:"System"}}},toc:{backToTop:!1,component:function({headings:e,filePath:t}){var n;let r=aN(),i=aF(),a=(0,R.useRef)(null),o=(0,R.useMemo)(()=>e.filter(e=>e.depth>1),[e]),s=o.length>0,l=!!(i.feedback.content||i.editLink.component||i.toc.extraContent),u=null==(n=Object.entries(r).find(([,{isActive:e}])=>e))?void 0:n[0];return(0,R.useEffect)(()=>{var e;if(!u)return;let t=null==(e=a.current)?void 0:e.querySelector(`li > a[href="#${u}"]`);t&&ai(t,{behavior:"smooth",block:"center",inline:"center",scrollMode:"always",boundary:a.current})},[u]),(0,tP.jsxs)("div",{ref:a,className:(0,I.Z)("nextra-scrollbar nx-sticky nx-top-16 nx-overflow-y-auto nx-pr-4 nx-pt-6 nx-text-sm [hyphens:auto]","nx-max-h-[calc(100vh-var(--nextra-navbar-height)-env(safe-area-inset-bottom))] ltr:-nx-mr-4 rtl:-nx-ml-4"),children:[s&&(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)("p",{className:"nx-mb-4 nx-font-semibold nx-tracking-tight",children:aB(i.toc.title)}),(0,tP.jsx)("ul",{children:o.map(({id:e,value:t,depth:n})=>{var a,o,s,l;return(0,tP.jsx)("li",{className:"nx-my-2 nx-scroll-my-6 nx-scroll-py-6",children:(0,tP.jsx)("a",{href:`#${e}`,className:(0,I.Z)({2:"nx-font-semibold",3:"ltr:nx-pl-4 rtl:nx-pr-4",4:"ltr:nx-pl-8 rtl:nx-pr-8",5:"ltr:nx-pl-12 rtl:nx-pr-12",6:"ltr:nx-pl-16 rtl:nx-pr-16"}[n],"nx-inline-block",(null==(a=r[e])?void 0:a.isActive)?"nx-text-primary-600 nx-subpixel-antialiased contrast-more:!nx-text-primary-600":"nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-300","contrast-more:nx-text-gray-900 contrast-more:nx-underline contrast-more:dark:nx-text-gray-50 nx-w-full nx-break-words"),children:null!=(l=null==(s=(o=i.toc).headingComponent)?void 0:s.call(o,{id:e,children:t}))?l:t})},e)})})]}),l&&(0,tP.jsxs)("div",{className:(0,I.Z)(s&&"nx-mt-8 nx-border-t nx-bg-white nx-pt-8 nx-shadow-[0_-12px_16px_white] dark:nx-bg-dark dark:nx-shadow-[0_-12px_16px_#111]","nx-sticky nx-bottom-0 nx-flex nx-flex-col nx-items-start nx-gap-2 nx-pb-8 dark:nx-border-neutral-800","contrast-more:nx-border-t contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-border-neutral-400"),children:[i.feedback.content?(0,tP.jsx)(aG,{className:ow,href:i.feedback.useLink(),newWindow:!0,children:aB(i.feedback.content)}):null,aB(i.editLink.component,{filePath:t,className:ow,children:aB(i.editLink.text)}),aB(i.toc.extraContent),i.toc.backToTop&&(0,tP.jsx)(ob,{className:ow})]})]})},float:!0,title:"On This Page"},useNextSeoProps:()=>({titleTemplate:"%s – Nextra"})},oI=Object.entries(oR).map(([e,t])=>{if(t&&"object"==typeof t&&!Array.isArray(t)&&!(0,R.isValidElement)(t))return e}).filter(Boolean);if(oj){let e;window.addEventListener("resize",()=>{document.body.classList.add("resizing"),clearTimeout(e),e=setTimeout(()=>{document.body.classList.remove("resizing")},200)})}function oA(e){var{tag:t,context:n,children:r,id:i,className:a}=e,o=a_(e,["tag","context","children","id","className"]);let s=aR(),l=aA(),u=aI(),c=(0,R.useRef)(null);return(0,R.useEffect)(()=>{if(!i)return;let e=c.current;if(e)return l.set(e,[i,n.index+=1]),null==u||u.observe(e),()=>{null==u||u.disconnect(),l.delete(e),s(e=>{let t=aw({},e);return delete t[i],t})}},[i,n,l,u,s]),(0,tP.jsxs)(t,ak(aw({className:"sr-only"===a?"nx-sr-only":(0,I.Z)("nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100",{h2:"nx-mt-10 nx-border-b nx-pb-1 nx-text-3xl nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400",h3:"nx-mt-8 nx-text-2xl",h4:"nx-mt-8 nx-text-xl",h5:"nx-mt-8 nx-text-lg",h6:"nx-mt-8 nx-text-base"}[t])},o),{children:[r,i&&(0,tP.jsx)("a",{href:`#${i}`,id:i,className:"subheading-anchor","aria-label":"Permalink for this section",ref:c})]}))}var oL=e=>{let t=null,n=[];return R.Children.forEach(e,(e,r)=>{var i;if(e&&e.type===oM){t||(t=e);return}let a=e;if(!t&&e&&"object"==typeof e&&e.type!==oP&&"props"in e&&e.props){let n=oL(e.props.children);t=n[0],a=(0,R.cloneElement)(e,ak(aw({},e.props),{children:(null==(i=n[1])?void 0:i.length)?n[1]:void 0,key:r}))}n.push(a)}),[t,n]},oP=e=>{var{children:t,open:n}=e,r=a_(e,["children","open"]);let[i,a]=(0,R.useState)(!!n),[o,s]=oL(t),[l,u]=(0,R.useState)(i);return(0,R.useEffect)(()=>{if(i)u(!0);else{let e=setTimeout(()=>u(i),500);return()=>clearTimeout(e)}},[i]),(0,tP.jsxs)("details",ak(aw(ak(aw({className:"nx-my-4 nx-rounded nx-border nx-border-gray-200 nx-bg-white nx-p-2 nx-shadow-sm first:nx-mt-0 dark:nx-border-neutral-800 dark:nx-bg-neutral-900"},r),{open:l}),i&&{"data-expanded":!0}),{children:[(0,tP.jsx)(aW,{value:a,children:o}),(0,tP.jsx)(aQ,{isOpen:i,children:s})]}))},oM=e=>{let t=aU();return(0,tP.jsx)("summary",ak(aw({className:(0,I.Z)("nx-flex nx-items-center nx-cursor-pointer nx-list-none nx-p-1 nx-transition-colors hover:nx-bg-gray-100 dark:hover:nx-bg-neutral-800","before:nx-mr-1 before:nx-inline-block before:nx-transition-transform before:nx-content-[''] dark:before:nx-invert before:nx-shrink-0","rtl:before:nx-rotate-180 [[data-expanded]>&]:before:nx-rotate-90")},e),{onClick:e=>{e.preventDefault(),t(e=>!e)}}))},oZ=/https?:\/\//,oD=e=>{var{href:t="",className:n}=e,r=a_(e,["href","className"]);return(0,tP.jsx)(aG,aw({href:t,newWindow:oZ.test(t),className:(0,I.Z)("nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]",n)},r))},oF=e=>{var{href:t=""}=e,n=a_(e,["href"]);return(0,tP.jsx)(aG,aw({href:t,newWindow:oZ.test(t)},n))},oz=({isRawLayout:e,components:t})=>{if(e)return{a:oF};let n={index:0};return aw({h1:e=>(0,tP.jsx)("h1",aw({className:"nx-mt-2 nx-text-4xl nx-font-bold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100"},e)),h2:e=>(0,tP.jsx)(oA,aw({tag:"h2",context:n},e)),h3:e=>(0,tP.jsx)(oA,aw({tag:"h3",context:n},e)),h4:e=>(0,tP.jsx)(oA,aw({tag:"h4",context:n},e)),h5:e=>(0,tP.jsx)(oA,aw({tag:"h5",context:n},e)),h6:e=>(0,tP.jsx)(oA,aw({tag:"h6",context:n},e)),ul:e=>(0,tP.jsx)("ul",aw({className:"nx-mt-6 nx-list-disc first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},e)),ol:e=>(0,tP.jsx)("ol",aw({className:"nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},e)),li:e=>(0,tP.jsx)("li",aw({className:"nx-my-2"},e)),blockquote:e=>(0,tP.jsx)("blockquote",aw({className:(0,I.Z)("nx-mt-6 nx-border-gray-300 nx-italic nx-text-gray-700 dark:nx-border-gray-700 dark:nx-text-gray-400","first:nx-mt-0 ltr:nx-border-l-2 ltr:nx-pl-6 rtl:nx-border-r-2 rtl:nx-pr-6")},e)),hr:e=>(0,tP.jsx)("hr",aw({className:"nx-my-8 nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400"},e)),a:oD,table:e=>(0,tP.jsx)(ah.iA,aw({className:"nextra-scrollbar nx-mt-6 nx-p-0 first:nx-mt-0"},e)),p:e=>(0,tP.jsx)("p",aw({className:"nx-mt-6 nx-leading-7 first:nx-mt-0"},e)),tr:ah.Tr,th:ah.Th,td:ah.Td,details:oP,summary:oM,pre:ah.SU,code:ah.EK},t)},o$={toc:(0,I.Z)("nextra-toc nx-order-last nx-hidden nx-w-64 nx-shrink-0 xl:nx-block print:nx-hidden"),main:(0,I.Z)("nx-w-full nx-break-words")},oU=({themeContext:e,breadcrumb:t,timestamp:n,navigation:r,children:i})=>{var a;let o=aF(),s=A();if("raw"===e.layout)return(0,tP.jsx)("div",{className:o$.main,children:i});let l=e.timestamp&&o.gitTimestamp&&n?new Date(n):null,u=s&&l?(0,tP.jsx)("div",{className:"nx-mt-12 nx-mb-8 nx-block nx-text-xs nx-text-gray-500 ltr:nx-text-right rtl:nx-text-left dark:nx-text-gray-400",children:aB(o.gitTimestamp,{timestamp:l})}):(0,tP.jsx)("div",{className:"nx-mt-16"}),c=(0,tP.jsxs)(tP.Fragment,{children:[i,u,r]}),d=(null==(a=o.main)?void 0:a.call(o,{children:c}))||c;return"full"===e.layout?(0,tP.jsx)("article",{className:(0,I.Z)(o$.main,"nextra-content nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]"),children:d}):(0,tP.jsx)("article",{className:(0,I.Z)(o$.main,"nextra-content nx-flex nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-min-w-0 nx-justify-center nx-pb-8 nx-pr-[calc(env(safe-area-inset-right)-1.5rem)]","article"===e.typesetting&&"nextra-body-typesetting-article"),children:(0,tP.jsxs)("main",{className:"nx-w-full nx-min-w-0 nx-max-w-6xl nx-px-6 nx-pt-4 md:nx-px-12",children:[t,d]})})},oW=({filePath:e,pageMap:t,frontMatter:n,headings:r,timestamp:i,children:a})=>{let o=aF(),{locale:s=o_,defaultLocale:l}=(0,N.useRouter)(),u=P(),{activeType:c,activeIndex:d,activeThemeContext:f,activePath:h,topLevelNavbarItems:p,docsDirectories:m,flatDirectories:x,flatDocsDirectories:g,directories:v}=(0,R.useMemo)(()=>(function e({list:t,locale:n,defaultLocale:r,route:i,docsRoot:a="",underCurrentDocsRoot:o=!1,pageThemeContext:s=tK}){let l,u;for(let e of t)if("Meta"===e.kind){if(e.locale===n){l=e.data;break}l||(l=e.data)}let c=l||{},d=Object.keys(c);for(let e of d)"string"==typeof c[e]&&(c[e]={title:c[e]});let f=[],h=[],p=[],m=[],x=[],g=0,v=s,y=[],b=-1,w=c["*"]||{};delete w.title,delete w.href;let k=t.filter(e=>"Meta"!==e.kind&&!e.name.startsWith("_")&&(!("locale"in e)||!e.locale||[n,r].includes(e.locale))).sort((e,t)=>{let n=d.indexOf(e.name),r=d.indexOf(t.name);return -1===n&&-1===r?e.name{let t;let n=[],r=d.indexOf(e.name);if(-1!==r){for(let e=b+1;e({...l,type:_,...T&&{title:T},...b&&{display:b},...O&&{children:[]}}),S=C(),N=C(),R=C();if(N.isUnderCurrentDocsTree=E,"separator"===_&&(S.isUnderCurrentDocsTree=E),l.route===i)switch(y=[S],u=_,v={...v,...j},_){case"page":case"menu":g=x.length;break;case"doc":g=m.length}if(!("hidden"===b&&"Folder"!==S.kind||L.hV.has(l.route))){if(O){if(void 0!==O.activeIndex&&void 0!==O.activeType){switch(v=O.activeThemeContext,u=O.activeType,y=[S,...O.activePath],u){case"page":case"menu":g=x.length+O.activeIndex;break;case"doc":g=m.length+O.activeIndex}l.withIndexPage&&"doc"===_&&g++}switch(_){case"page":case"menu":R.children.push(...O.directories),p.push(...O.docsDirectories),O.flatDirectories.length?(R.firstChildRoute=function e(t){for(let n of t){if(n.route)return n.route;if(n.children){let t=e(n.children);if(t)return t}}}(O.flatDirectories),x.push(R)):R.withIndexPage&&x.push(R);break;case"doc":Array.isArray(N.children)&&N.children.push(...O.docsDirectories),S.withIndexPage&&"children"!==b&&m.push(N)}h.push(...O.flatDirectories),m.push(...O.flatDocsDirectories),Array.isArray(S.children)&&S.children.push(...O.directories)}else switch(h.push(S),_){case"page":case"menu":x.push(R);break;case"doc":m.push(N)}switch("doc"===_&&"children"===b?N.children&&(f.push(...N.children),p.push(...N.children)):f.push(S),_){case"page":case"menu":p.push(R);break;case"doc":"children"!==b&&p.push(N);break;case"separator":p.push(S)}}}return{activeType:u,activeIndex:g,activeThemeContext:v,activePath:y,directories:f,flatDirectories:h,docsDirectories:p,flatDocsDirectories:m,topLevelNavbarItems:x}})({list:t,locale:s,defaultLocale:l,route:u}),[t,s,l,u]),y=aw(aw({},f),n),b=!y.sidebar||"raw"===y.layout||"page"===c,w="page"!==c&&y.toc&&"default"===y.layout?(0,tP.jsx)("nav",{className:(0,I.Z)(o$.toc,"nx-px-4"),"aria-label":"table of contents",children:aB(o.toc.component,{headings:o.toc.float?r:[],filePath:e})}):"full"!==y.layout&&"raw"!==y.layout&&(0,tP.jsx)("nav",{className:o$.toc,"aria-label":"table of contents"}),k=o.i18n.find(e=>e.locale===s),_=(k?"rtl"===k.direction:"rtl"===o.direction)?"rtl":"ltr";return(0,tP.jsxs)("div",{dir:_,children:[(0,tP.jsx)("script",{dangerouslySetInnerHTML:{__html:`document.documentElement.setAttribute('dir','${_}')`}}),(0,tP.jsx)(oe,{}),(0,tP.jsx)(aK,{}),y.navbar&&aB(o.navbar.component,{flatDirectories:x,items:p}),(0,tP.jsx)("div",{className:(0,I.Z)("nx-mx-auto nx-flex","raw"!==y.layout&&"nx-max-w-[90rem]"),children:(0,tP.jsxs)(aL,{children:[(0,tP.jsx)(om,{docsDirectories:m,flatDirectories:x,fullDirectories:v,headings:r,asPopover:b,includePlaceholder:"default"===y.layout}),w,(0,tP.jsx)(og,{}),(0,tP.jsx)(oU,{themeContext:y,breadcrumb:"page"!==c&&y.breadcrumb?(0,tP.jsx)(aY,{activePath:h}):null,timestamp:i,navigation:"page"!==c&&y.pagination?(0,tP.jsx)(on,{flatDirectories:g,currentIndex:d}):null,children:(0,tP.jsx)(M.Z,{components:oz({isRawLayout:"raw"===y.layout,components:o.components}),children:a})})]})}),y.footer&&aB(o.footer.component,{menu:b})]})};function oH(e){var{children:t}=e,n=a_(e,["children"]);return(0,tP.jsx)(az,{value:n,children:(0,tP.jsx)(oW,ak(aw({},n.pageOpts),{children:t}))})}},2154:function(e,t,n){"use strict";let r,i,a;n.d(t,{UW:function(){return f},EK:function(){return m},SU:function(){return x},OK:function(){return q},iA:function(){return Q},mQ:function(){return K},Td:function(){return Y},Th:function(){return J},Tr:function(){return X}});var o=n(512),s=n(5893),l=({children:e,className:t,...n})=>(0,s.jsx)("button",{className:(0,o.Z)("nextra-button nx-transition-all active:nx-opacity-50","nx-bg-primary-700/5 nx-border nx-border-black/5 nx-text-gray-600 hover:nx-text-gray-900 nx-rounded-md nx-p-1.5","dark:nx-bg-primary-300/10 dark:nx-border-white/10 dark:nx-text-gray-400 dark:hover:nx-text-gray-50",t),...n,children:e}),u=n(4861),c={default:"\uD83D\uDCA1",error:"\uD83D\uDEAB",info:(0,s.jsx)(u.AV,{className:"nx-mt-1"}),warning:"⚠️"},d={default:(0,o.Z)("nx-border-orange-100 nx-bg-orange-50 nx-text-orange-800 dark:nx-border-orange-400/30 dark:nx-bg-orange-400/20 dark:nx-text-orange-300"),error:(0,o.Z)("nx-border-red-200 nx-bg-red-100 nx-text-red-900 dark:nx-border-red-200/30 dark:nx-bg-red-900/30 dark:nx-text-red-200"),info:(0,o.Z)("nx-border-blue-200 nx-bg-blue-100 nx-text-blue-900 dark:nx-border-blue-200/30 dark:nx-bg-blue-900/30 dark:nx-text-blue-200"),warning:(0,o.Z)("nx-border-yellow-100 nx-bg-yellow-50 nx-text-yellow-900 dark:nx-border-yellow-200/30 dark:nx-bg-yellow-700/30 dark:nx-text-yellow-200")};function f({children:e,type:t="default",emoji:n=c[t]}){return(0,s.jsxs)("div",{className:(0,o.Z)("nextra-callout nx-overflow-x-auto nx-mt-6 nx-flex nx-rounded-lg nx-border nx-py-2 ltr:nx-pr-4 rtl:nx-pl-4","contrast-more:nx-border-current contrast-more:dark:nx-border-current",d[t]),children:[(0,s.jsx)("div",{className:"nx-select-none nx-text-xl ltr:nx-pl-3 ltr:nx-pr-2 rtl:nx-pr-3 rtl:nx-pl-2",style:{fontFamily:'"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'},children:n}),(0,s.jsx)("div",{className:"nx-w-full nx-min-w-0 nx-leading-7",children:e})]})}var h=n(7294),p=({getValue:e,...t})=>{let[n,r]=(0,h.useState)(!1);(0,h.useEffect)(()=>{if(!n)return;let e=setTimeout(()=>{r(!1)},2e3);return()=>{clearTimeout(e)}},[n]);let i=(0,h.useCallback)(async()=>{r(!0),navigator?.clipboard||console.error("Access to clipboard rejected!");try{await navigator.clipboard.writeText(e())}catch{console.error("Failed to copy!")}},[e]),a=n?u.nQ:u.TI;return(0,s.jsx)(l,{onClick:i,title:"Copy code",tabIndex:0,...t,children:(0,s.jsx)(a,{className:"nextra-copy-icon nx-pointer-events-none nx-h-4 nx-w-4"})})},m=({children:e,className:t,...n})=>(0,s.jsx)("code",{className:(0,o.Z)("nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em]","dark:nx-border-white/10 dark:nx-bg-white/10","data-line-numbers"in n&&"[counter-reset:line]",t),dir:"ltr",...n,children:e}),x=({children:e,className:t,hasCopyCode:n,filename:r,...i})=>{let a=(0,h.useRef)(null),c=(0,h.useCallback)(()=>{let e=document.documentElement.dataset;"nextraWordWrap"in e?delete e.nextraWordWrap:e.nextraWordWrap=""},[]);return(0,s.jsxs)("div",{className:"nextra-code-block nx-relative nx-mt-6 first:nx-mt-0",children:[r&&(0,s.jsx)("div",{className:"nx-absolute nx-top-0 nx-z-[1] nx-w-full nx-truncate nx-rounded-t-xl nx-bg-primary-700/5 nx-py-2 nx-px-4 nx-text-xs nx-text-gray-700 dark:nx-bg-primary-300/10 dark:nx-text-gray-200",children:r}),(0,s.jsx)("pre",{className:(0,o.Z)("nx-bg-primary-700/5 nx-mb-4 nx-overflow-x-auto nx-rounded-xl nx-subpixel-antialiased dark:nx-bg-primary-300/10 nx-text-[.9em]","contrast-more:nx-border contrast-more:nx-border-primary-900/20 contrast-more:nx-contrast-150 contrast-more:dark:nx-border-primary-100/40",r?"nx-pt-12 nx-pb-4":"nx-py-4",t),ref:a,...i,children:e}),(0,s.jsxs)("div",{className:(0,o.Z)("nx-opacity-0 nx-transition [div:hover>&]:nx-opacity-100 focus-within:nx-opacity-100","nx-flex nx-gap-1 nx-absolute nx-m-[11px] nx-right-0",r?"nx-top-8":"nx-top-0"),children:[(0,s.jsx)(l,{onClick:c,className:"md:nx-hidden",title:"Toggle word wrap",children:(0,s.jsx)(u.NK,{className:"nx-pointer-events-none nx-h-4 nx-w-4"})}),n&&(0,s.jsx)(p,{getValue:()=>a.current?.querySelector("code")?.textContent||""})]})]})},g=n(933),v=n(3),y=n(4924),b=n(1378),w=n(5508),k=n(961),_=n(1813),j=n(2308),E=n(7524);function O(e){let{onFocus:t}=e,[n,r]=(0,h.useState)(!0),i=(0,j.t)();return n?h.createElement(E._,{as:"button",type:"button",features:E.A.Focusable,onFocus:e=>{e.preventDefault();let n,a=50;n=requestAnimationFrame(function e(){if(a--<=0){n&&cancelAnimationFrame(n);return}if(t()){if(cancelAnimationFrame(n),!i.current)return;r(!1);return}n=requestAnimationFrame(e)})}}):null}var T=n(8657),C=n(8844),S=n(1291),N=n(8961),R=n(8287);let I=h.createContext(null);function A(e){let{children:t}=e,n=h.useRef({groups:new Map,get(e,t){var n;let r=this.groups.get(e);r||(r=new Map,this.groups.set(e,r));let i=null!=(n=r.get(t))?n:0;return r.set(t,i+1),[Array.from(r.keys()).indexOf(t),function(){let e=r.get(t);e>1?r.set(t,e-1):r.delete(t)}]}});return h.createElement(I.Provider,{value:n},t)}function L(e){let t=h.useContext(I);if(!t)throw Error("You must wrap your component in a ");let n=function(){var e,t,n;let r=null!=(n=null==(t=null==(e=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)?void 0:e.ReactCurrentOwner)?void 0:t.current)?n:null;if(!r)return Symbol();let i=[],a=r;for(;a;)i.push(a.index),a=a.return;return"$."+i.join(".")}(),[r,i]=t.current.get(e,n);return h.useEffect(()=>i,[]),r}var P=((r=P||{})[r.Forwards=0]="Forwards",r[r.Backwards=1]="Backwards",r),M=((i=M||{})[i.Less=-1]="Less",i[i.Equal=0]="Equal",i[i.Greater=1]="Greater",i),Z=((a=Z||{})[a.SetSelectedIndex=0]="SetSelectedIndex",a[a.RegisterTab=1]="RegisterTab",a[a.UnregisterTab=2]="UnregisterTab",a[a.RegisterPanel=3]="RegisterPanel",a[a.UnregisterPanel=4]="UnregisterPanel",a);let D={0(e,t){var n;let r=(0,T.z2)(e.tabs,e=>e.current),i=(0,T.z2)(e.panels,e=>e.current),a=r.filter(e=>{var t;return!(null!=(t=e.current)&&t.hasAttribute("disabled"))}),o={...e,tabs:r,panels:i};if(t.index<0||t.index>r.length-1){let n=(0,C.E)(Math.sign(t.index-e.selectedIndex),{[-1]:()=>1,0:()=>(0,C.E)(Math.sign(t.index),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0});if(0===a.length)return o;let i=(0,C.E)(n,{0:()=>r.indexOf(a[0]),1:()=>r.indexOf(a[a.length-1])});return{...o,selectedIndex:-1===i?e.selectedIndex:i}}let s=r.slice(0,t.index),l=[...r.slice(t.index),...s].find(e=>a.includes(e));if(!l)return o;let u=null!=(n=r.indexOf(l))?n:e.selectedIndex;return -1===u&&(u=e.selectedIndex),{...o,selectedIndex:u}},1(e,t){if(e.tabs.includes(t.tab))return e;let n=e.tabs[e.selectedIndex],r=(0,T.z2)([...e.tabs,t.tab],e=>e.current),i=e.selectedIndex;return e.info.current.isControlled||-1===(i=r.indexOf(n))&&(i=e.selectedIndex),{...e,tabs:r,selectedIndex:i}},2:(e,t)=>({...e,tabs:e.tabs.filter(e=>e!==t.tab)}),3:(e,t)=>e.panels.includes(t.panel)?e:{...e,panels:(0,T.z2)([...e.panels,t.panel],e=>e.current)},4:(e,t)=>({...e,panels:e.panels.filter(e=>e!==t.panel)})},F=(0,h.createContext)(null);function z(e){let t=(0,h.useContext)(F);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,z),t}return t}F.displayName="TabsDataContext";let $=(0,h.createContext)(null);function U(e){let t=(0,h.useContext)($);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,U),t}return t}function W(e,t){return(0,C.E)(t.type,D,e,t)}$.displayName="TabsActionsContext";let H=h.Fragment,G=R.AN.RenderStrategy|R.AN.Static,V=Object.assign((0,R.yV)(function(e,t){var n,r;let i=(0,y.M)(),{id:a="headlessui-tabs-tab-".concat(i),...o}=e,{orientation:s,activation:l,selectedIndex:u,tabs:c,panels:d}=z("Tab"),f=U("Tab"),p=z("Tab"),m=(0,h.useRef)(null),x=(0,_.T)(m,t);(0,b.e)(()=>f.registerTab(m),[f,m]);let w=L("tabs"),j=c.indexOf(m);-1===j&&(j=w);let E=j===u,O=(0,v.z)(e=>{var t;let n=e();if(n===T.fE.Success&&"auto"===l){let e=null==(t=(0,N.r)(m))?void 0:t.activeElement,n=p.tabs.findIndex(t=>t.current===e);-1!==n&&f.change(n)}return n}),I=(0,v.z)(e=>{let t=c.map(e=>e.current).filter(Boolean);if(e.key===g.R.Space||e.key===g.R.Enter){e.preventDefault(),e.stopPropagation(),f.change(j);return}switch(e.key){case g.R.Home:case g.R.PageUp:return e.preventDefault(),e.stopPropagation(),O(()=>(0,T.jA)(t,T.TO.First));case g.R.End:case g.R.PageDown:return e.preventDefault(),e.stopPropagation(),O(()=>(0,T.jA)(t,T.TO.Last))}if(O(()=>(0,C.E)(s,{vertical:()=>e.key===g.R.ArrowUp?(0,T.jA)(t,T.TO.Previous|T.TO.WrapAround):e.key===g.R.ArrowDown?(0,T.jA)(t,T.TO.Next|T.TO.WrapAround):T.fE.Error,horizontal:()=>e.key===g.R.ArrowLeft?(0,T.jA)(t,T.TO.Previous|T.TO.WrapAround):e.key===g.R.ArrowRight?(0,T.jA)(t,T.TO.Next|T.TO.WrapAround):T.fE.Error}))===T.fE.Success)return e.preventDefault()}),A=(0,h.useRef)(!1),P=(0,v.z)(()=>{var e;A.current||(A.current=!0,null==(e=m.current)||e.focus({preventScroll:!0}),f.change(j),(0,S.Y)(()=>{A.current=!1}))}),M=(0,v.z)(e=>{e.preventDefault()}),Z=(0,h.useMemo)(()=>{var t;return{selected:E,disabled:null!=(t=e.disabled)&&t}},[E,e.disabled]),D={ref:x,onKeyDown:I,onMouseDown:M,onClick:P,id:a,role:"tab",type:(0,k.f)(e,m),"aria-controls":null==(r=null==(n=d[j])?void 0:n.current)?void 0:r.id,"aria-selected":E,tabIndex:E?0:-1};return(0,R.sY)({ourProps:D,theirProps:o,slot:Z,defaultTag:"button",name:"Tabs.Tab"})}),{Group:(0,R.yV)(function(e,t){let{defaultIndex:n=0,vertical:r=!1,manual:i=!1,onChange:a,selectedIndex:o=null,...s}=e,l=r?"vertical":"horizontal",u=i?"manual":"auto",c=null!==o,d=(0,w.E)({isControlled:c}),f=(0,_.T)(t),[p,m]=(0,h.useReducer)(W,{info:d,selectedIndex:null!=o?o:n,tabs:[],panels:[]}),x=(0,h.useMemo)(()=>({selectedIndex:p.selectedIndex}),[p.selectedIndex]),g=(0,w.E)(a||(()=>{})),y=(0,w.E)(p.tabs),k=(0,h.useMemo)(()=>({orientation:l,activation:u,...p}),[l,u,p]),j=(0,v.z)(e=>(m({type:1,tab:e}),()=>m({type:2,tab:e}))),E=(0,v.z)(e=>(m({type:3,panel:e}),()=>m({type:4,panel:e}))),C=(0,v.z)(e=>{S.current!==e&&g.current(e),c||m({type:0,index:e})}),S=(0,w.E)(c?e.selectedIndex:p.selectedIndex),N=(0,h.useMemo)(()=>({registerTab:j,registerPanel:E,change:C}),[]);return(0,b.e)(()=>{m({type:0,index:null!=o?o:n})},[o]),(0,b.e)(()=>{if(void 0===S.current||p.tabs.length<=0)return;let e=(0,T.z2)(p.tabs,e=>e.current);e.some((e,t)=>p.tabs[t]!==e)&&C(e.indexOf(p.tabs[S.current]))}),h.createElement(A,null,h.createElement($.Provider,{value:N},h.createElement(F.Provider,{value:k},k.tabs.length<=0&&h.createElement(O,{onFocus:()=>{var e,t;for(let n of y.current)if((null==(e=n.current)?void 0:e.tabIndex)===0)return null==(t=n.current)||t.focus(),!0;return!1}}),(0,R.sY)({ourProps:{ref:f},theirProps:s,slot:x,defaultTag:H,name:"Tabs"}))))}),List:(0,R.yV)(function(e,t){let{orientation:n,selectedIndex:r}=z("Tab.List"),i=(0,_.T)(t);return(0,R.sY)({ourProps:{ref:i,role:"tablist","aria-orientation":n},theirProps:e,slot:{selectedIndex:r},defaultTag:"div",name:"Tabs.List"})}),Panels:(0,R.yV)(function(e,t){let{selectedIndex:n}=z("Tab.Panels"),r=(0,_.T)(t),i=(0,h.useMemo)(()=>({selectedIndex:n}),[n]);return(0,R.sY)({ourProps:{ref:r},theirProps:e,slot:i,defaultTag:"div",name:"Tabs.Panels"})}),Panel:(0,R.yV)(function(e,t){var n,r,i,a;let o=(0,y.M)(),{id:s="headlessui-tabs-panel-".concat(o),tabIndex:l=0,...u}=e,{selectedIndex:c,tabs:d,panels:f}=z("Tab.Panel"),p=U("Tab.Panel"),m=(0,h.useRef)(null),x=(0,_.T)(m,t);(0,b.e)(()=>p.registerPanel(m),[p,m,s]);let g=L("panels"),v=f.indexOf(m);-1===v&&(v=g);let w=v===c,k=(0,h.useMemo)(()=>({selected:w}),[w]),j={ref:x,id:s,role:"tabpanel","aria-labelledby":null==(r=null==(n=d[v])?void 0:n.current)?void 0:r.id,tabIndex:w?l:-1};return w||null!=(i=u.unmount)&&!i||null!=(a=u.static)&&a?(0,R.sY)({ourProps:j,theirProps:u,slot:k,defaultTag:"div",features:G,visible:w,name:"Tabs.Panel"}):h.createElement(E._,{as:"span","aria-hidden":"true",...j})})});function B(e){return!!e&&"object"==typeof e&&"label"in e}function q({children:e,...t}){return(0,s.jsx)(V.Panel,{...t,className:"nx-rounded nx-pt-6",children:e})}var K=Object.assign(function({items:e,selectedIndex:t,defaultIndex:n=0,onChange:r,children:i,storageKey:a}){let[l,u]=(0,h.useState)(n);(0,h.useEffect)(()=>{void 0!==t&&u(t)},[t]),(0,h.useEffect)(()=>{if(!a)return;function e(e){e.key===a&&u(Number(e.newValue))}let t=Number(localStorage.getItem(a));return u(Number.isNaN(t)?0:t),window.addEventListener("storage",e),()=>{window.removeEventListener("storage",e)}},[]);let c=(0,h.useCallback)(e=>{if(a){let t=String(e);localStorage.setItem(a,t),window.dispatchEvent(new StorageEvent("storage",{key:a,newValue:t}));return}u(e),r?.(e)},[]);return(0,s.jsxs)(V.Group,{selectedIndex:l,defaultIndex:n,onChange:c,children:[(0,s.jsx)("div",{className:"nextra-scrollbar nx-overflow-x-auto nx-overflow-y-hidden nx-overscroll-x-contain",children:(0,s.jsx)(V.List,{className:"nx-mt-4 nx-flex nx-w-max nx-min-w-full nx-border-b nx-border-gray-200 nx-pb-px dark:nx-border-neutral-800",children:e.map((e,t)=>{let n=B(e)&&e.disabled;return(0,s.jsx)(V,{disabled:n,className:({selected:e})=>(0,o.Z)("nx-mr-2 nx-rounded-t nx-p-2 nx-font-medium nx-leading-5 nx-transition-colors","-nx-mb-0.5 nx-select-none nx-border-b-2",e?"nx-border-primary-500 nx-text-primary-600":"nx-border-transparent nx-text-gray-600 hover:nx-border-gray-200 hover:nx-text-black dark:nx-text-gray-200 dark:hover:nx-border-neutral-800 dark:hover:nx-text-white",n&&"nx-pointer-events-none nx-text-gray-400 dark:nx-text-neutral-600"),children:B(e)?e.label:e},t)})})}),(0,s.jsx)(V.Panels,{children:i})]})},{displayName:"Tabs",Tab:q}),Y=({className:e="",...t})=>(0,s.jsx)("td",{className:(0,o.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600",e),...t}),Q=({className:e="",...t})=>(0,s.jsx)("table",{className:(0,o.Z)("nx-block nx-overflow-x-scroll",e),...t}),J=({className:e="",...t})=>(0,s.jsx)("th",{className:(0,o.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 nx-font-semibold dark:nx-border-gray-600",e),...t}),X=({className:e="",...t})=>(0,s.jsx)("tr",{className:(0,o.Z)("nx-m-0 nx-border-t nx-border-gray-300 nx-p-0 dark:nx-border-gray-600","even:nx-bg-gray-100 even:dark:nx-bg-gray-600/20",e),...t}),ee=n(1664),et=n.n(ee),en={cards:(0,o.Z)("nextra-cards nx-mt-4 nx-gap-4 nx-grid","nx-not-prose"),card:(0,o.Z)("nextra-card nx-group nx-flex nx-flex-col nx-justify-start nx-overflow-hidden nx-rounded-lg nx-border nx-border-gray-200","nx-text-current nx-no-underline dark:nx-shadow-none","hover:nx-shadow-gray-100 dark:hover:nx-shadow-none nx-shadow-gray-100","active:nx-shadow-sm active:nx-shadow-gray-200","nx-transition-all nx-duration-200 hover:nx-border-gray-300"),title:(0,o.Z)("nx-flex nx-font-semibold nx-items-start nx-gap-2 nx-p-4 nx-text-gray-700 hover:nx-text-gray-900")},er=(0,s.jsx)("span",{className:"nx-transition-transform nx-duration-75 group-hover:nx-translate-x-[2px]",children:"→"});Object.assign(function({children:e,num:t=3,className:n,style:r,...i}){return(0,s.jsx)("div",{className:(0,o.Z)(en.cards,n),...i,style:{...r,"--rows":t},children:e})},{displayName:"Cards",Card:function({children:e,title:t,icon:n,image:r,arrow:i,href:a,...l}){let u=i?er:null;return r?(0,s.jsxs)(et(),{href:a,className:(0,o.Z)(en.card,"nx-bg-gray-100 nx-shadow dark:nx-border-neutral-700 dark:nx-bg-neutral-800 dark:nx-text-gray-50 hover:nx-shadow-lg dark:hover:nx-border-neutral-500 dark:hover:nx-bg-neutral-700"),...l,children:[e,(0,s.jsxs)("span",{className:(0,o.Z)(en.title,"dark:nx-text-gray-300 dark:hover:nx-text-gray-100"),children:[n,(0,s.jsxs)("span",{className:"nx-flex nx-gap-1",children:[t,u]})]})]}):(0,s.jsx)(et(),{href:a,className:(0,o.Z)(en.card,"nx-bg-transparent nx-shadow-sm dark:nx-border-neutral-800 hover:nx-bg-slate-50 hover:nx-shadow-md dark:hover:nx-border-neutral-700 dark:hover:nx-bg-neutral-900"),...l,children:(0,s.jsxs)("span",{className:(0,o.Z)(en.title,"dark:nx-text-neutral-200 dark:hover:nx-text-neutral-50 nx-flex nx-items-center"),children:[n,t,u]})})}});var ei=(0,h.createContext)(0);function ea(){return(0,h.useContext)(ei)}function eo(){let e=ea();return(0,s.jsx)(s.Fragment,{children:Array.from({length:e},(e,t)=>(0,s.jsx)("span",{className:"nx-w-5"},t))})}var es=(0,h.memo)(({label:e,name:t,open:n,children:r,defaultOpen:i=!1,onToggle:a})=>{let o=ea(),[l,u]=(0,h.useState)(i),c=(0,h.useCallback)(()=>{a?.(!l),u(!l)},[l,a]),d=void 0===n?l:n;return(0,s.jsxs)("li",{className:"nx-flex nx-list-none nx-flex-col",children:[(0,s.jsxs)("button",{onClick:c,title:t,className:"nx-inline-flex nx-cursor-pointer nx-items-center nx-py-1 hover:nx-opacity-60",children:[(0,s.jsx)(eo,{}),(0,s.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:d?"M5 19a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4l2 2h4a2 2 0 0 1 2 2v1M5 19h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2Z":"M3 7v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-6l-2-2H5a2 2 0 0 0-2 2Z"})}),(0,s.jsx)("span",{className:"nx-ml-1",children:e??t})]}),d&&(0,s.jsx)("ul",{children:(0,s.jsx)(ei.Provider,{value:o+1,children:r})})]})});es.displayName="Folder";var el=(0,h.memo)(({label:e,name:t,active:n})=>(0,s.jsx)("li",{className:(0,o.Z)("nx-flex nx-list-none",n&&"nx-text-primary-600 contrast-more:nx-underline"),children:(0,s.jsxs)("span",{className:"nx-inline-flex nx-cursor-default nx-items-center nx-py-1",children:[(0,s.jsx)(eo,{}),(0,s.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5.586a1 1 0 0 1 .707.293l5.414 5.414a1 1 0 0 1 .293.707V19a2 2 0 0 1-2 2Z"})}),(0,s.jsx)("span",{className:"nx-ml-1",children:e??t})]})}));el.displayName="File",Object.assign(function({children:e}){return(0,s.jsx)("div",{className:(0,o.Z)("nextra-filetree nx-mt-6 nx-select-none nx-text-sm nx-text-gray-800 dark:nx-text-gray-300","nx-not-prose"),children:(0,s.jsx)("div",{className:"nx-inline-block nx-rounded-lg nx-border nx-px-4 nx-py-2 dark:nx-border-neutral-800",children:e})})},{Folder:es,File:el})},4861:function(e,t,n){"use strict";n.d(t,{LZ:function(){return i},nQ:function(){return a},TI:function(){return o},D7:function(){return s},Qq:function(){return l},fy:function(){return u},n9:function(){return c},AV:function(){return d},Oq:function(){return f},kL:function(){return h},L4:function(){return p},NW:function(){return m},NK:function(){return x},b0:function(){return g}});var r=n(5893);function i({pathClassName:e,...t}){return(0,r.jsx)("svg",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",...t,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 5l7 7-7 7",className:e})})}function a(e){return(0,r.jsx)("svg",{viewBox:"0 0 20 20",width:"1em",height:"1em",fill:"currentColor",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})}function o(e){return(0,r.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...e,children:[(0,r.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M5 15H4C2.89543 15 2 14.1046 2 13V4C2 2.89543 2.89543 2 4 2H13C14.1046 2 15 2.89543 15 4V5",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}function s(e){return(0,r.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 5 30.67 23.25",...e,children:[(0,r.jsx)("title",{children:"Discord"}),(0,r.jsx)("path",{d:"M26.0015 6.9529C24.0021 6.03845 21.8787 5.37198 19.6623 5C19.3833 5.48048 19.0733 6.13144 18.8563 6.64292C16.4989 6.30193 14.1585 6.30193 11.8336 6.64292C11.6166 6.13144 11.2911 5.48048 11.0276 5C8.79575 5.37198 6.67235 6.03845 4.6869 6.9529C0.672601 12.8736 -0.41235 18.6548 0.130124 24.3585C2.79599 26.2959 5.36889 27.4739 7.89682 28.2489C8.51679 27.4119 9.07477 26.5129 9.55525 25.5675C8.64079 25.2265 7.77283 24.808 6.93587 24.312C7.15286 24.1571 7.36986 23.9866 7.57135 23.8161C12.6241 26.1255 18.0969 26.1255 23.0876 23.8161C23.3046 23.9866 23.5061 24.1571 23.7231 24.312C22.8861 24.808 22.0182 25.2265 21.1037 25.5675C21.5842 26.5129 22.1422 27.4119 22.7621 28.2489C25.2885 27.4739 27.8769 26.2959 30.5288 24.3585C31.1952 17.7559 29.4733 12.0212 26.0015 6.9529ZM10.2527 20.8402C8.73376 20.8402 7.49382 19.4608 7.49382 17.7714C7.49382 16.082 8.70276 14.7025 10.2527 14.7025C11.7871 14.7025 13.0425 16.082 13.0115 17.7714C13.0115 19.4608 11.7871 20.8402 10.2527 20.8402ZM20.4373 20.8402C18.9183 20.8402 17.6768 19.4608 17.6768 17.7714C17.6768 16.082 18.8873 14.7025 20.4373 14.7025C21.9717 14.7025 23.2271 16.082 23.1961 17.7714C23.1961 19.4608 21.9872 20.8402 20.4373 20.8402Z"})]})}function l({isOpen:e,...t}){return(0,r.jsxs)("svg",{height:"12",width:"12",viewBox:"0 0 16 16",fill:"currentColor",...t,children:[(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.177 7.823l2.396-2.396A.25.25 0 017 5.604v4.792a.25.25 0 01-.427.177L4.177 8.177a.25.25 0 010-.354z",className:e?"":"nx-origin-[35%] nx-rotate-180"}),(0,r.jsx)("path",{fillRule:"evenodd",d:"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm1.75-.25a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25H9.5v-13H1.75zm12.5 13H11v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25z"})]})}function u(e){return(0,r.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",viewBox:"3 3 18 18",...e,children:[(0,r.jsx)("title",{children:"GitHub"}),(0,r.jsx)("path",{d:"M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z"})]})}function c(e){return(0,r.jsx)("svg",{viewBox:"2 2 16 16",width:"12",height:"12",fill:"currentColor",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.083 9h1.946c.089-1.546.383-2.97.837-4.118A6.004 6.004 0 004.083 9zM10 2a8 8 0 100 16 8 8 0 000-16zm0 2c-.076 0-.232.032-.465.262-.238.234-.497.623-.737 1.182-.389.907-.673 2.142-.766 3.556h3.936c-.093-1.414-.377-2.649-.766-3.556-.24-.56-.5-.948-.737-1.182C10.232 4.032 10.076 4 10 4zm3.971 5c-.089-1.546-.383-2.97-.837-4.118A6.004 6.004 0 0115.917 9h-1.946zm-2.003 2H8.032c.093 1.414.377 2.649.766 3.556.24.56.5.948.737 1.182.233.23.389.262.465.262.076 0 .232-.032.465-.262.238-.234.498-.623.737-1.182.389-.907.673-2.142.766-3.556zm1.166 4.118c.454-1.147.748-2.572.837-4.118h1.946a6.004 6.004 0 01-2.783 4.118zm-6.268 0C6.412 13.97 6.118 12.546 6.03 11H4.083a6.004 6.004 0 002.783 4.118z",clipRule:"evenodd"})})}function d(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",width:"20",height:"20",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"})})}function f(e){return(0,r.jsxs)("svg",{fill:"none",width:"24",height:"24",viewBox:"0 0 24 24",stroke:"currentColor",...e,children:[(0,r.jsx)("g",{children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 6h16"})}),(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 12h16"}),(0,r.jsx)("g",{children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 18h16"})})]})}function h(e){return(0,r.jsx)("svg",{fill:"none",viewBox:"2 2 20 20",width:"12",height:"12",stroke:"currentColor",...e,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})}function p(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"24",height:"24",...e,children:[(0,r.jsx)("circle",{className:"nx-opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,r.jsx)("path",{className:"nx-opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}function m(e){return(0,r.jsx)("svg",{fill:"none",viewBox:"3 3 18 18",width:"12",height:"12",stroke:"currentColor",...e,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})})}function x(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:"24",height:"24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}function g(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"currentColor",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})}},2643:function(e,t,n){"use strict";n.d(t,{Z:function(){return s},a:function(){return d}});var r=n(7294);let i=r.createContext({});function a(e){let t=r.useContext(i);return r.useMemo(()=>"function"==typeof e?e(t):{...t,...e},[t,e])}let o={};function s({components:e,children:t,disableParentContext:n}){let s;return s=n?"function"==typeof e?e({}):e||o:a(e),r.createElement(i.Provider,{value:s},t)}var l=n(5675),u=n.n(l),c={img:e=>(0,r.createElement)("object"==typeof e.src?u():"img",e)},d=e=>a({...c,...e})},2673:function(e,t,n){"use strict";n.d(t,{j:function(){return v}});var r,i=n(9208),a=n.n(i),o=n(7222),s=n(7294);n(2746),"undefined"!=typeof window&&(window.requestIdleCallback=window.requestIdleCallback||function(e){var t=Date.now();return setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},window.cancelIdleCallback=window.cancelIdleCallback||function(e){clearTimeout(e)}),n(2643);var l=n(5893),u=(0,s.createContext)(!1),c=n(1163);function d({__nextra_pageMap:e,__nextra_dynamic_opts:t,...n}){let{context:r,Layout:i}=function(){let e=globalThis[o.eZ],{route:t}=(0,c.useRouter)();(0,s.useState)({})[1];let n=e.context[t];if(!n)throw Error("No content found for the current route. This is a Nextra bug.");return{context:n,Layout:e.Layout}}(),{Content:a,...d}=r;if(e&&(d.pageOpts={...d.pageOpts,pageMap:e}),t){let{headings:e,title:n,frontMatter:r}=JSON.parse(t);d.pageOpts={...d.pageOpts,headings:e,title:n,frontMatter:r}}return(0,l.jsx)(i,{...d,pageProps:n,children:(0,l.jsx)(u.Provider,{value:n,children:(0,l.jsx)(a,{...n})})})}var f=n(1864),h=n(3859),p=n(2891);function m(e){return p(e.replaceAll(/[-_]/g," "))}function x(e){return!!e&&"object"==typeof e&&"folder"===e.type}function g(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>{if(x(t)){let n=e.replace("/","");return[n,t.title||m(n)]}return[e,t||m(e)]}))}function v({pageNextRoute:e,pageOpts:t,nextraLayout:n,themeConfig:i,MDXContent:s,hot:l,pageOptsChecksum:u,dynamicMetaModules:c=[]}){var p;"undefined"==typeof window&&(globalThis.__nextra_resolvePageMap=async()=>{if(r)return r;let e=JSON.parse(JSON.stringify(m.pageMap));return await Promise.all(c.map(async([t,{metaObjectKeyPath:n,metaParentKeyPath:r}])=>{let i=await t,o=await i.default(),s=a()(e,n);s.data=o,function e(t,n,r=!0){if(r){e(t,{kind:"Meta",data:n.data,locale:n.locale},!1),n.data=g(n.data);return}for(let[r,a]of Object.entries(n.data)){if(!x(a)){var i;if("*"===r)continue;t.children.push({kind:"MdxPage",...n.locale&&{locale:n.locale},name:r,route:(i=t.route,h(f.join(i,r.replace(/^index$/,""))))});continue}let o=r.replace("/",""),s={kind:"Folder",name:o,route:`${t.route}/${o}`,children:[{kind:"Meta",...n.locale&&{locale:n.locale},data:g(a.items)}]};t.children.push(s),e(s,{kind:"Meta",data:a.items,locale:n.locale},!1)}}(a()(e,r),s)})),r=e});let m=globalThis[p=o.eZ]||(globalThis[p]=Object.create(null));return t.pageMap?(m.pageMap=t.pageMap,m.Layout=n):(t={...t,pageMap:m.pageMap,flexsearch:m.flexsearch},i=m.themeConfig),t={frontMatter:{},...t},m.route=t.route,m.context||(m.context=Object.create(null)),m.context[e]={Content:s,pageOpts:t,themeConfig:i},d}},6008:function(e,t,n){"use strict";var r=n(2337);e.exports=function(e){var t={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:e,query:{},parse_failed:!1};try{var n=new URL(e);t.protocols=r(n),t.protocol=t.protocols[0],t.port=n.port,t.resource=n.hostname,t.host=n.host,t.user=n.username||"",t.password=n.password||"",t.pathname=n.pathname,t.hash=n.hash.slice(1),t.search=n.search.slice(1),t.href=n.href,t.query=Object.fromEntries(n.searchParams)}catch(n){t.protocols=["file"],t.protocol=t.protocols[0],t.port="",t.resource="",t.user="",t.pathname="",t.hash="",t.search="",t.href=e,t.query={},t.parse_failed=!0}return t}},3905:function(e,t,n){"use strict";var r=n(6008),i=r&&"object"==typeof r&&"default"in r?r:{default:r};let a=(e,t)=>t.some(t=>t instanceof RegExp?t.test(e):t===e),o=(e,{stripHash:t})=>{let n=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(e);if(!n)throw Error(`Invalid URL: ${e}`);let{type:r,data:i,hash:a}=n.groups,o=r.split(";");a=t?"":a;let s=!1;"base64"===o[o.length-1]&&(o.pop(),s=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(e=>{let[t,n=""]=e.split("=").map(e=>e.trim());return"charset"===t&&"us-ascii"===(n=n.toLowerCase())?"":`${t}${n?`=${n}`:""}`}).filter(Boolean)];return s&&u.push("base64"),(u.length>0||l&&"text/plain"!==l)&&u.unshift(l),`data:${u.join(";")},${s?i.trim():i}${a?`#${a}`:""}`},s=(e,t=!1)=>{let n=t=>{let n=Error(t);throw n.subject_url=e,n};"string"==typeof e&&e.trim()||n("Invalid url."),e.length>s.MAX_INPUT_LENGTH&&n("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),t&&("object"!=typeof t&&(t={stripHash:!1}),e=function(e,t){if(t={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},e=e.trim(),/^data:/i.test(e))return o(e,t);if(/^view-source:/i.test(e))throw Error("`view-source:` is not supported as it is a non-standard protocol");let n=e.startsWith("//");!n&&/^\.*\//.test(e)||(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));let r=new URL(e);if(t.forceHttp&&t.forceHttps)throw Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&"https:"===r.protocol&&(r.protocol="http:"),t.forceHttps&&"http:"===r.protocol&&(r.protocol="https:"),t.stripAuthentication&&(r.username="",r.password=""),t.stripHash?r.hash="":t.stripTextFragment&&(r.hash=r.hash.replace(/#?:~:text.*?$/i,"")),r.pathname){let e=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,t=0,n="";for(;;){let i=e.exec(r.pathname);if(!i)break;let a=i[0],o=i.index;n+=r.pathname.slice(t,o).replace(/\/{2,}/g,"/")+a,t=o+a.length}n+=r.pathname.slice(t,r.pathname.length).replace(/\/{2,}/g,"/"),r.pathname=n}if(r.pathname)try{r.pathname=decodeURI(r.pathname)}catch{}if(!0===t.removeDirectoryIndex&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let e=r.pathname.split("/");a(e[e.length-1],t.removeDirectoryIndex)&&(e=e.slice(0,-1),r.pathname=e.slice(1).join("/")+"/")}if(r.hostname&&(r.hostname=r.hostname.replace(/\.$/,""),t.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(r.hostname)&&(r.hostname=r.hostname.replace(/^www\./,""))),Array.isArray(t.removeQueryParameters))for(let e of[...r.searchParams.keys()])a(e,t.removeQueryParameters)&&r.searchParams.delete(e);if(!0===t.removeQueryParameters&&(r.search=""),t.sortQueryParameters){r.searchParams.sort();try{r.search=decodeURIComponent(r.search)}catch{}}t.removeTrailingSlash&&(r.pathname=r.pathname.replace(/\/$/,""));let i=e;return e=r.toString(),t.removeSingleSlash||"/"!==r.pathname||i.endsWith("/")||""!==r.hash||(e=e.replace(/\/$/,"")),(t.removeTrailingSlash||"/"===r.pathname)&&""===r.hash&&t.removeSingleSlash&&(e=e.replace(/\/$/,"")),n&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,"//")),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,"")),e}(e,t));let r=i.default(e);if(r.parse_failed){let e=r.href.match(/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/);e?(r.protocols=["ssh"],r.protocol="ssh",r.resource=e[2],r.host=e[2],r.user=e[1],r.pathname=`/${e[3]}`,r.parse_failed=!1):n("URL parsing failed.")}return r};s.MAX_INPUT_LENGTH=2048,e.exports=s},4155:function(e){var t,n,r,i=e.exports={};function a(){throw Error("setTimeout has not been defined")}function o(){throw Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(e){n=o}}();var l=[],u=!1,c=-1;function d(){u&&r&&(u=!1,r.length?l=r.concat(l):c=-1,l.length&&f())}function f(){if(!u){var e=s(d);u=!0;for(var t=l.length;t;){for(r=l,l=[];++c1)for(var n=1;n{let t=/^\\\\\?\\/.test(e),n=/[^\u0000-\u0080]+/.test(e);return t||n?e:e.replace(/\\/g,"/")}},2891:function(e,t,n){let r=n(1439),i=n(7224),a="[^\\s'’\\(\\)!?;:\"-]",o=RegExp(`(?:(?:(\\s?(?:^|[.\\(\\)!?;:"-])\\s*)(${a}))|(${a}))(${a}*[’']*${a}*)`,"g"),s=e=>e.map(e=>[RegExp(`\\b${e}\\b`,"gi"),e]);e.exports=(e,t={})=>(e=e.toLowerCase().replace(o,(e,t="",n,i,a,o,s)=>{let l=e.length+o>=s.length,u=function(e){let t=e[0];return/\s/.test(t)?e.slice(1):/[\(\)]/.test(t)?null:e}(e);return u?!n&&r.has(i+a)&&!l?u:t+(i||n).toUpperCase()+a:e}),s([...i,...t.special||[]]).forEach(([t,n])=>{e=e.replace(t,n)}),e)},1439:function(e){e.exports=new Set(["for","and","nor","but","or","yet","so","a","an","the","aboard","about","above","across","after","against","along","amid","among","anti","around","as","at","before","behind","below","beneath","beside","besides","between","beyond","but","by","concerning","considering","despite","down","during","except","excepting","excluding","following","for","from","in","inside","into","like","minus","near","of","off","on","onto","opposite","over","past","per","plus","regarding","round","save","since","than","through","to","toward","towards","under","underneath","unlike","until","up","upon","versus","via","with","within","without"])},7224:function(e){e.exports=["ZEIT","ZEIT Inc.","Vercel","Vercel Inc.","CLI","API","HTTP","HTTPS","JSX","DNS","URL","now.sh","now.json","vercel.app","vercel.json","CI","CD","CDN","package.json","package.lock","yarn.lock","GitHub","GitLab","CSS","Sass","JS","JavaScript","TypeScript","HTML","WordPress","Next.js","Node.js","Webpack","Docker","Bash","Kubernetes","SWR","TinaCMS","UI","UX","TS","TSX","iPhone","iPad","watchOS","iOS","iPadOS","macOS","PHP","composer.json","composer.lock","CMS","SQL","C","C#","GraphQL","GraphiQL","JWT","JWTs"]},2746:function(e,t,n){n(5893)},512:function(e,t,n){"use strict";t.Z=function(){for(var e,t,n=0,r="",i=arguments.length;na.O.nextId():null);return(0,o.e)(()=>{null===t&&n(a.O.nextId())},[t]),null!=t?""+t:void 0}},2308:function(e,t,n){"use strict";n.d(t,{t:function(){return a}});var r=n(7294),i=n(1378);function a(){let e=(0,r.useRef)(!1);return(0,i.e)(()=>(e.current=!0,()=>{e.current=!1}),[]),e}},1378:function(e,t,n){"use strict";n.d(t,{e:function(){return a}});var r=n(7294),i=n(1830);let a=(e,t)=>{i.O.isServer?(0,r.useEffect)(e,t):(0,r.useLayoutEffect)(e,t)}},5508:function(e,t,n){"use strict";n.d(t,{E:function(){return a}});var r=n(7294),i=n(1378);function a(e){let t=(0,r.useRef)(e);return(0,i.e)(()=>{t.current=e},[e]),t}},961:function(e,t,n){"use strict";n.d(t,{f:function(){return o}});var r=n(7294),i=n(1378);function a(e){var t;if(e.type)return e.type;let n=null!=(t=e.as)?t:"button";if("string"==typeof n&&"button"===n.toLowerCase())return"button"}function o(e,t){let[n,o]=(0,r.useState)(()=>a(e));return(0,i.e)(()=>{o(a(e))},[e.type,e.as]),(0,i.e)(()=>{n||t.current&&t.current instanceof HTMLButtonElement&&!t.current.hasAttribute("type")&&o("button")},[n,t]),n}},2047:function(e,t,n){"use strict";n.d(t,{H:function(){return o}});var r,i=n(7294),a=n(1830);function o(){let e;let t=(e="undefined"==typeof document,(0,(r||(r=n.t(i,2))).useSyncExternalStore)(()=>()=>{},()=>!1,()=>!e)),[o,s]=i.useState(a.O.isHandoffComplete);return o&&!1===a.O.isHandoffComplete&&s(!1),i.useEffect(()=>{!0!==o&&s(!0)},[o]),i.useEffect(()=>a.O.handoff(),[]),!t&&o}},1813:function(e,t,n){"use strict";n.d(t,{T:function(){return o}});var r=n(7294),i=n(3);let a=Symbol();function o(){for(var e=arguments.length,t=Array(e),n=0;n{o.current=t},[t]);let s=(0,i.z)(e=>{for(let t of o.current)null!=t&&("function"==typeof t?t(e):t.current=e)});return t.every(e=>null==e||(null==e?void 0:e[a]))?void 0:s}},7524:function(e,t,n){"use strict";let r;n.d(t,{A:function(){return a},_:function(){return o}});var i=n(8287),a=((r=a||{})[r.None=1]="None",r[r.Focusable=2]="Focusable",r[r.Hidden=4]="Hidden",r);let o=(0,i.yV)(function(e,t){var n;let{features:r=1,...a}=e,o={ref:t,"aria-hidden":(2&r)==2||(null!=(n=a["aria-hidden"])?n:void 0),hidden:(4&r)==4||void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(4&r)==4&&(2&r)!=2&&{display:"none"}}};return(0,i.sY)({ourProps:o,theirProps:a,slot:{},defaultTag:"div",name:"Hidden"})})},5602:function(e,t,n){"use strict";function r(){for(var e=arguments.length,t=Array(e),n=0;n"string"==typeof e?e.split(" "):[]))).filter(Boolean).join(" ")}n.d(t,{A:function(){return r}})},3580:function(e,t,n){"use strict";n.d(t,{k:function(){return function e(){let t=[],n={addEventListener:(e,t,r,i)=>(e.addEventListener(t,r,i),n.add(()=>e.removeEventListener(t,r,i))),requestAnimationFrame(){for(var e=arguments.length,t=Array(e),r=0;rcancelAnimationFrame(i))},nextFrame(){for(var e=arguments.length,t=Array(e),r=0;rn.requestAnimationFrame(...t))},setTimeout(){for(var e=arguments.length,t=Array(e),r=0;rclearTimeout(i))},microTask(){for(var e=arguments.length,t=Array(e),i=0;i{a.current&&t[0]()}),n.add(()=>{a.current=!1})},style(e,t,n){let r=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:n}),this.add(()=>{Object.assign(e.style,{[t]:r})})},group(t){let n=e();return t(n),this.add(()=>n.dispose())},add:e=>(t.push(e),()=>{let n=t.indexOf(e);if(n>=0)for(let e of t.splice(n,1))e()}),dispose(){for(let e of t.splice(0))e()}};return n}}});var r=n(1291)},1830:function(e,t,n){"use strict";n.d(t,{O:function(){return s}});var r=Object.defineProperty,i=(e,t,n)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,a=(e,t,n)=>(i(e,"symbol"!=typeof t?t+"":t,n),n);class o{set(e){this.current!==e&&(this.handoffState="pending",this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return"server"===this.current}get isClient(){return"client"===this.current}detect(){return"undefined"==typeof document?"server":"client"}handoff(){"pending"===this.handoffState&&(this.handoffState="complete")}get isHandoffComplete(){return"complete"===this.handoffState}constructor(){a(this,"current",this.detect()),a(this,"handoffState","pending"),a(this,"currentId",0)}}let s=new o},8657:function(e,t,n){"use strict";let r,i,a,o,s;n.d(t,{EO:function(){return w},TO:function(){return f},fE:function(){return h},jA:function(){return k},sP:function(){return g},tJ:function(){return x},wI:function(){return v},z2:function(){return b}});var l=n(3580),u=n(8844),c=n(8961);let d=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>"".concat(e,":not([tabindex='-1'])")).join(",");var f=((r=f||{})[r.First=1]="First",r[r.Previous=2]="Previous",r[r.Next=4]="Next",r[r.Last=8]="Last",r[r.WrapAround=16]="WrapAround",r[r.NoScroll=32]="NoScroll",r),h=((i=h||{})[i.Error=0]="Error",i[i.Overflow=1]="Overflow",i[i.Success=2]="Success",i[i.Underflow=3]="Underflow",i),p=((a=p||{})[a.Previous=-1]="Previous",a[a.Next=1]="Next",a);function m(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body;return null==e?[]:Array.from(e.querySelectorAll(d)).sort((e,t)=>Math.sign((e.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}var x=((o=x||{})[o.Strict=0]="Strict",o[o.Loose=1]="Loose",o);function g(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e!==(null==(t=(0,c.r)(e))?void 0:t.body)&&(0,u.E)(n,{0:()=>e.matches(d),1(){let t=e;for(;null!==t;){if(t.matches(d))return!0;t=t.parentElement}return!1}})}function v(e){let t=(0,c.r)(e);(0,l.k)().nextFrame(()=>{t&&!g(t.activeElement,0)&&(null==e||e.focus({preventScroll:!0}))})}var y=((s=y||{})[s.Keyboard=0]="Keyboard",s[s.Mouse=1]="Mouse",s);function b(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;return e.slice().sort((e,n)=>{let r=t(e),i=t(n);if(null===r||null===i)return 0;let a=r.compareDocumentPosition(i);return a&Node.DOCUMENT_POSITION_FOLLOWING?-1:a&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function w(e,t){return k(m(),t,{relativeTo:e})}function k(e,t){var n,r,i;let{sorted:a=!0,relativeTo:o=null,skipElements:s=[]}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e.ownerDocument,u=Array.isArray(e)?a?b(e):e:m(e);s.length>0&&u.length>1&&(u=u.filter(e=>!s.includes(e))),o=null!=o?o:l.activeElement;let c=(()=>{if(5&t)return 1;if(10&t)return -1;throw Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),d=(()=>{if(1&t)return 0;if(2&t)return Math.max(0,u.indexOf(o))-1;if(4&t)return Math.max(0,u.indexOf(o))+1;if(8&t)return u.length-1;throw Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),f=32&t?{preventScroll:!0}:{},h=0,p=u.length,x;do{if(h>=p||h+p<=0)return 0;let e=d+h;if(16&t)e=(e+p)%p;else{if(e<0)return 3;if(e>=p)return 1}null==(x=u[e])||x.focus(f),h+=c}while(x!==l.activeElement);return 6&t&&null!=(i=null==(r=null==(n=x)?void 0:n.matches)?void 0:r.call(n,"textarea,input"))&&i&&x.select(),2}"undefined"!=typeof document&&(document.addEventListener("keydown",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="")},!0),document.addEventListener("click",e=>{1===e.detail?delete document.documentElement.dataset.headlessuiFocusVisible:0===e.detail&&(document.documentElement.dataset.headlessuiFocusVisible="")},!0))},8844:function(e,t,n){"use strict";function r(e,t){for(var n=arguments.length,i=Array(n>2?n-2:0),a=2;a'"'.concat(e,'"')).join(", "),"."));throw Error.captureStackTrace&&Error.captureStackTrace(o,r),o}n.d(t,{E:function(){return r}})},1291:function(e,t,n){"use strict";function r(e){"function"==typeof queueMicrotask?queueMicrotask(e):Promise.resolve().then(e).catch(e=>setTimeout(()=>{throw e}))}n.d(t,{Y:function(){return r}})},8961:function(e,t,n){"use strict";n.d(t,{r:function(){return i}});var r=n(1830);function i(e){return r.O.isServer?null:e instanceof Node?e.ownerDocument:null!=e&&e.hasOwnProperty("current")&&e.current instanceof Node?e.current.ownerDocument:document}},8287:function(e,t,n){"use strict";let r,i;n.d(t,{AN:function(){return l},l4:function(){return u},oA:function(){return m},sY:function(){return c},yV:function(){return p}});var a=n(7294),o=n(5602),s=n(8844),l=((r=l||{})[r.None=0]="None",r[r.RenderStrategy=1]="RenderStrategy",r[r.Static=2]="Static",r),u=((i=u||{})[i.Unmount=0]="Unmount",i[i.Hidden=1]="Hidden",i);function c(e){let{ourProps:t,theirProps:n,slot:r,defaultTag:i,features:a,visible:o=!0,name:l,mergeRefs:u}=e;u=null!=u?u:f;let c=h(n,t);if(o)return d(c,r,i,l,u);let p=null!=a?a:0;if(2&p){let{static:e=!1,...t}=c;if(e)return d(t,r,i,l,u)}if(1&p){let{unmount:e=!0,...t}=c;return(0,s.E)(e?0:1,{0:()=>null,1:()=>d({...t,hidden:!0,style:{display:"none"}},r,i,l,u)})}return d(c,r,i,l,u)}function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,{as:s=n,children:l,refName:u="ref",...c}=x(e,["unmount","static"]),d=void 0!==e.ref?{[u]:e.ref}:{},f="function"==typeof l?l(t):l;"className"in c&&c.className&&"function"==typeof c.className&&(c.className=c.className(t));let p={};if(t){let e=!1,n=[];for(let[r,i]of Object.entries(t))"boolean"==typeof i&&(e=!0),!0===i&&n.push(r);e&&(p["data-headlessui-state"]=n.join(" "))}if(s===a.Fragment&&Object.keys(m(c)).length>0){if(!(0,a.isValidElement)(f)||Array.isArray(f)&&f.length>1)throw Error(['Passing props on "Fragment"!',"","The current component <".concat(r,' /> is rendering a "Fragment".'),"However we need to passthrough the following props:",Object.keys(c).map(e=>" - ".concat(e)).join("\n"),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',"Render a single element as the child so that we can forward the props onto that element."].map(e=>" - ".concat(e)).join("\n")].join("\n"));let e=f.props,t="function"==typeof(null==e?void 0:e.className)?function(){for(var t=arguments.length,n=Array(t),r=0;rnull==e)?void 0:e=>{for(let n of t)null!=n&&("function"==typeof n?n(e):n.current=e)}}function h(){for(var e=arguments.length,t=Array(e),n=0;n[e,void 0])));for(let e in i)Object.assign(r,{[e](t){for(var n=arguments.length,r=Array(n>1?n-1:0),a=1;a1&&void 0!==arguments[1]?arguments[1]:[],n=Object.assign({},e);for(let e of t)e in n&&delete n[e];return n}},7222:function(e,t,n){"use strict";n.d(t,{ZW:function(){return a},eZ:function(){return s},hV:function(){return l}});var r=n(1864),i=n(4155),a="en-US",o=i.cwd();r.join(o,"public");var s=Symbol.for("__nextra_internal__"),l=new Set(["/404","/500"])}}]); \ No newline at end of file diff --git a/_next/static/chunks/2616.036653b32be69675.js b/_next/static/chunks/2616.036653b32be69675.js new file mode 100644 index 0000000..4642f03 --- /dev/null +++ b/_next/static/chunks/2616.036653b32be69675.js @@ -0,0 +1,88 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2616],{4182:function(t,e,i){var n;n=function(t){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=7)}([function(e,i){e.exports=t},function(t,e,i){"use strict";var n=i(0).FDLayoutConstants;function r(){}for(var o in n)r[o]=n[o];r.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,r.DEFAULT_RADIAL_SEPARATION=n.DEFAULT_EDGE_LENGTH,r.DEFAULT_COMPONENT_SEPERATION=60,r.TILE=!0,r.TILING_PADDING_VERTICAL=10,r.TILING_PADDING_HORIZONTAL=10,r.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=r},function(t,e,i){"use strict";var n=i(0).FDLayoutEdge;function r(t,e,i){n.call(this,t,e,i)}for(var o in r.prototype=Object.create(n.prototype),n)r[o]=n[o];t.exports=r},function(t,e,i){"use strict";var n=i(0).LGraph;function r(t,e,i){n.call(this,t,e,i)}for(var o in r.prototype=Object.create(n.prototype),n)r[o]=n[o];t.exports=r},function(t,e,i){"use strict";var n=i(0).LGraphManager;function r(t){n.call(this,t)}for(var o in r.prototype=Object.create(n.prototype),n)r[o]=n[o];t.exports=r},function(t,e,i){"use strict";var n=i(0).FDLayoutNode,r=i(0).IMath;function o(t,e,i,r){n.call(this,t,e,i,r)}for(var s in o.prototype=Object.create(n.prototype),n)o[s]=n[s];o.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*r.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*r.sign(this.displacementY)),null==this.child?this.moveBy(this.displacementX,this.displacementY):0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},o.prototype.propogateDisplacementToChildren=function(t,e){for(var i,n=this.getChild().getNodes(),r=0;r0)this.positionNodesRadially(i);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},v.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0){if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0}this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var i=!this.isTreeGrowing&&!this.isGrowthFinished,n=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(i,n),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},v.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},i=0;i1)for(s=0;sn&&(n=Math.floor(s.y)),o=Math.floor(s.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new u(c.WORLD_CENTER_X-s.x/2,c.WORLD_CENTER_Y-s.y/2))},v.radialLayout=function(t,e,i){var n=Math.max(this.maxDiagonalInTree(t),h.DEFAULT_RADIAL_SEPARATION);v.branchRadialLayout(e,null,0,359,0,n);var r=y.calculateBounds(t),o=new E;o.setDeviceOrgX(r.getMinX()),o.setDeviceOrgY(r.getMinY()),o.setWorldOrgX(i.x),o.setWorldOrgY(i.y);for(var s=0;s1;){var E=y[0];y.splice(0,1);var _=g.indexOf(E);_>=0&&g.splice(_,1),p--,u--}s=null!=e?(g.indexOf(y[0])+1)%p:0;for(var m=Math.abs(n-i)/u,N=s;d!=u;N=++N%p){var A=g[N].getOtherEnd(t);if(A!=e){var L=(i+d*m)%360,T=(L+m)%360;v.branchRadialLayout(A,t,L,T,r+o,o),d++}}},v.maxDiagonalInTree=function(t){for(var e=p.MIN_VALUE,i=0;ie&&(e=n)}return e},v.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},v.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var i=[],n=this.graphManager.getAllNodes(),r=0;r1){var n="DummyCompound_"+i;t.memberGroups[n]=e[i];var r=e[i][0].getParent(),o=new s(t.graphManager);o.id=n,o.paddingLeft=r.paddingLeft||0,o.paddingRight=r.paddingRight||0,o.paddingBottom=r.paddingBottom||0,o.paddingTop=r.paddingTop||0,t.idToDummyNode[n]=o;var a=t.getGraphManager().add(t.newGraph(),o),h=r.getChild();h.add(o);for(var l=0;l=0;t--){var e=this.compoundOrder[t],i=e.id,n=e.paddingLeft,r=e.paddingTop;this.adjustLocations(this.tiledMemberPack[i],e.rect.x,e.rect.y,n,r)}},v.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach(function(i){var n=t.idToDummyNode[i],r=n.paddingLeft,o=n.paddingTop;t.adjustLocations(e[i],n.rect.x,n.rect.y,r,o)})},v.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var i=t.getChild();if(null==i)return this.toBeTiled[e]=!1,!1;for(var n=i.getNodes(),r=0;r0)return this.toBeTiled[e]=!1,!1;if(null==o.getChild()){this.toBeTiled[o.id]=!1;continue}if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}return this.toBeTiled[e]=!0,!0},v.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),i=0,n=0;nh&&(h=c.rect.height)}i+=h+t.verticalPadding}},v.prototype.tileCompoundMembers=function(t,e){var i=this;this.tiledMemberPack=[],Object.keys(t).forEach(function(n){var r=e[n];i.tiledMemberPack[n]=i.tileNodes(t[n],r.paddingLeft+r.paddingRight),r.rect.width=i.tiledMemberPack[n].width,r.rect.height=i.tiledMemberPack[n].height})},v.prototype.tileNodes=function(t,e){var i={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:h.TILING_PADDING_VERTICAL,horizontalPadding:h.TILING_PADDING_HORIZONTAL};t.sort(function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:t.rect.width*t.rect.height0&&(r+=t.horizontalPadding),t.rowWidth[i]=r,t.width0&&(o+=t.verticalPadding);var s=0;o>t.rowHeight[i]&&(s=t.rowHeight[i],t.rowHeight[i]=o,s=t.rowHeight[i]-s),t.height+=s,t.rows[i].push(e)},v.prototype.getShortestRowIndex=function(t){for(var e=-1,i=Number.MAX_VALUE,n=0;ni&&(e=n,i=t.rowWidth[n]);return e},v.prototype.canAddHorizontal=function(t,e,i){var n,r,o=this.getShortestRowIndex(t);if(o<0)return!0;var s=t.rowWidth[o];if(s+t.horizontalPadding+e<=t.width)return!0;var a=0;return t.rowHeight[o]0&&(a=i+t.verticalPadding-t.rowHeight[o]),n=t.width-s>=e+t.horizontalPadding?(t.height+a)/(s+e+t.horizontalPadding):(t.height+a)/t.width,a=i+t.verticalPadding,(r=t.widtho&&e!=i){n.splice(-1,1),t.rows[i].push(r),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[i]=t.rowWidth[i]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var s=Number.MIN_VALUE,a=0;as&&(s=n[a].height);e>0&&(s+=t.verticalPadding);var h=t.rowHeight[e]+t.rowHeight[i];t.rowHeight[e]=s,t.rowHeight[i]0)for(var u=s;u<=a;u++)g[0]+=this.grid[u][h-1].length+this.grid[u][h].length-1;if(a0)for(var u=h;u<=c;u++)g[3]+=this.grid[s-1][u].length+this.grid[s][u].length-1;for(var d=p.MAX_VALUE,f=0;f0&&(s=i.getGraphManager().add(i.newGraph(),o),this.processChildrenList(s,g,i))}},g.prototype.stop=function(){return this.stopped=!0,this};var d=function(t){t("layout","cose-bilkent",g)};"undefined"!=typeof cytoscape&&d(cytoscape),t.exports=d}])},t.exports=n(i(4182))},2241:function(t){var e;e=function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=26)}([function(t,e,i){"use strict";function n(){}n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n},function(t,e,i){"use strict";var n=i(2),r=i(8),o=i(9);function s(t,e,i){n.call(this,i),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=i,this.bendpoints=[],this.source=t,this.target=e}for(var a in s.prototype=Object.create(n.prototype),n)s[a]=n[a];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(t,e){for(var i=this.getOtherEnd(t),n=e.getGraphManager().getRoot();;){if(i.getOwner()==e)return i;if(i.getOwner()==n)break;i=i.getOwner().getParent()}return null},s.prototype.updateLength=function(){var t=[,,,,];this.isOverlapingSourceAndTarget=r.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],1>Math.abs(this.lengthX)&&(this.lengthX=o.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),1>Math.abs(this.lengthX)&&(this.lengthX=o.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,i){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,i){"use strict";var n=i(2),r=i(10),o=i(13),s=i(0),a=i(16),h=i(4);function l(t,e,i,s){null==i&&null==s&&(s=e),n.call(this,s),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=r.MIN_VALUE,this.inclusionTreeDepth=r.MAX_VALUE,this.vGraphObject=s,this.edges=[],this.graphManager=t,null!=i&&null!=e?this.rect=new o(e.x,e.y,i.width,i.height):this.rect=new o}for(var c in l.prototype=Object.create(n.prototype),n)l[c]=n[c];l.prototype.getEdges=function(){return this.edges},l.prototype.getChild=function(){return this.child},l.prototype.getOwner=function(){return this.owner},l.prototype.getWidth=function(){return this.rect.width},l.prototype.setWidth=function(t){this.rect.width=t},l.prototype.getHeight=function(){return this.rect.height},l.prototype.setHeight=function(t){this.rect.height=t},l.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},l.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},l.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},l.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},l.prototype.getRect=function(){return this.rect},l.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},l.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},l.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},l.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},l.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},l.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},l.prototype.getEdgeListToNode=function(t){var e=[],i=this;return i.edges.forEach(function(n){if(n.target==t){if(n.source!=i)throw"Incorrect edge source!";e.push(n)}}),e},l.prototype.getEdgesBetween=function(t){var e=[],i=this;return i.edges.forEach(function(n){if(!(n.source==i||n.target==i))throw"Incorrect edge source and/or target";(n.target==t||n.source==t)&&e.push(n)}),e},l.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach(function(i){if(i.source==e)t.add(i.target);else{if(i.target!=e)throw"Incorrect incidency!";t.add(i.source)}}),t},l.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),i=0;ie&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>i&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-i)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-i),this.setHeight(this.labelHeight))}}},l.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==r.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},l.prototype.transform=function(t){var e=this.rect.x;e>s.WORLD_BOUNDARY?e=s.WORLD_BOUNDARY:e<-s.WORLD_BOUNDARY&&(e=-s.WORLD_BOUNDARY);var i=this.rect.y;i>s.WORLD_BOUNDARY?i=s.WORLD_BOUNDARY:i<-s.WORLD_BOUNDARY&&(i=-s.WORLD_BOUNDARY);var n=new h(e,i),r=t.inverseTransformPoint(n);this.setLocation(r.x,r.y)},l.prototype.getLeft=function(){return this.rect.x},l.prototype.getRight=function(){return this.rect.x+this.rect.width},l.prototype.getTop=function(){return this.rect.y},l.prototype.getBottom=function(){return this.rect.y+this.rect.height},l.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=l},function(t,e,i){"use strict";function n(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(t){this.x=t},n.prototype.setY=function(t){this.y=t},n.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=n},function(t,e,i){"use strict";var n=i(2),r=i(10),o=i(0),s=i(6),a=i(3),h=i(1),l=i(13),c=i(12),g=i(11);function u(t,e,i){n.call(this,i),this.estimatedSize=r.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof s?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in u.prototype=Object.create(n.prototype),n)u[d]=n[d];u.prototype.getNodes=function(){return this.nodes},u.prototype.getEdges=function(){return this.edges},u.prototype.getGraphManager=function(){return this.graphManager},u.prototype.getParent=function(){return this.parent},u.prototype.getLeft=function(){return this.left},u.prototype.getRight=function(){return this.right},u.prototype.getTop=function(){return this.top},u.prototype.getBottom=function(){return this.bottom},u.prototype.isConnected=function(){return this.isConnected},u.prototype.add=function(t,e,i){if(null==e&&null==i){if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(t)>-1)throw"Node already in graph!";return t.owner=this,this.getNodes().push(t),t}if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(i)>-1))throw"Source or target not in graph!";if(!(e.owner==i.owner&&e.owner==this))throw"Both owners must be this graph!";return e.owner!=i.owner?null:(t.source=e,t.target=i,t.isInterGraph=!1,this.getEdges().push(t),e.edges.push(t),i!=e&&i.edges.push(t),t)},u.prototype.remove=function(t){if(t instanceof a){if(null==t)throw"Node is null!";if(!(null!=t.owner&&t.owner==this))throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var e,i=t.edges.slice(),n=i.length,r=0;r-1&&l>-1))throw"Source and/or target doesn't know this edge!";e.source.edges.splice(s,1),e.target!=e.source&&e.target.edges.splice(l,1);var o=e.source.owner.getEdges().indexOf(e);if(-1==o)throw"Not in owner's edge list!";e.source.owner.getEdges().splice(o,1)}},u.prototype.updateLeftTop=function(){for(var t,e,i,n=r.MAX_VALUE,o=r.MAX_VALUE,s=this.getNodes(),a=s.length,h=0;ht&&(n=t),o>e&&(o=e)}return n==r.MAX_VALUE?null:(i=void 0!=s[0].getParent().paddingLeft?s[0].getParent().paddingLeft:this.margin,this.left=o-i,this.top=n-i,new c(this.left,this.top))},u.prototype.updateBounds=function(t){for(var e,i,n,o,s,a=r.MAX_VALUE,h=-r.MAX_VALUE,c=r.MAX_VALUE,g=-r.MAX_VALUE,u=this.nodes,d=u.length,p=0;pe&&(a=e),hn&&(c=n),ge&&(s=e),an&&(h=n),c=this.nodes.length){var h=0;r.forEach(function(t){t.owner==i&&h++}),h==this.nodes.length&&(this.isConnected=!0)}},t.exports=u},function(t,e,i){"use strict";var n,r=i(1);function o(t){n=i(5),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),i=this.add(t,e);return this.setRootGraph(i),this.rootGraph},o.prototype.add=function(t,e,i,n,r){if(null==i&&null==n&&null==r){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}r=i,n=e,i=t;var o=n.getOwner(),s=r.getOwner();if(!(null!=o&&o.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(null!=s&&s.getGraphManager()==this))throw"Target not in this graph mgr!";if(o==s)return i.isInterGraph=!1,o.add(i,n,r);if(i.isInterGraph=!0,i.source=n,i.target=r,this.edges.indexOf(i)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(i),!(null!=i.source&&null!=i.target))throw"Edge source and/or target is null!";if(!(-1==i.source.edges.indexOf(i)&&-1==i.target.edges.indexOf(i)))throw"Edge already in source and/or target incidency list!";return i.source.edges.push(i),i.target.edges.push(i),i},o.prototype.remove=function(t){if(t instanceof n){if(t.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(t==this.rootGraph||null!=t.parent&&t.parent.graphManager==this))throw"Invalid parent node!";for(var e,i,o=[],s=(o=o.concat(t.getEdges())).length,a=0;a=e.getRight()?i[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(i[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?i[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(i[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var s=o*i[0],a=i[1]/o;i[0]s?(i[0]=n,i[1]=h,i[2]=o,i[3]=_):ro?(i[0]=a,i[1]=r,i[2]=E,i[3]=s):no?(i[0]=c,i[1]=g):(i[0]=l,i[1]=h),L=!0):O===I&&(n>o?(i[0]=a,i[1]=h):(i[0]=u,i[1]=g),L=!0),-D===I?(o>n?(i[2]=v,i[3]=_):(i[2]=E,i[3]=y),T=!0):D===I&&(o>n?(i[2]=f,i[3]=y):(i[2]=m,i[3]=_),T=!0),L&&T)return!1;if(n>o?r>s?(w=this.getCardinalDirection(O,I,4),R=this.getCardinalDirection(D,I,2)):(w=this.getCardinalDirection(-O,I,3),R=this.getCardinalDirection(-D,I,1)):r>s?(w=this.getCardinalDirection(-O,I,1),R=this.getCardinalDirection(-D,I,3)):(w=this.getCardinalDirection(O,I,2),R=this.getCardinalDirection(D,I,4)),!L)switch(w){case 1:M=h,C=n+-p/I,i[0]=C,i[1]=M;break;case 2:C=u,M=r+d*I,i[0]=C,i[1]=M;break;case 3:M=g,C=n+p/I,i[0]=C,i[1]=M;break;case 4:C=c,M=r+-d*I,i[0]=C,i[1]=M}if(!T)switch(R){case 1:G=y,x=o+-A/I,i[2]=x,i[3]=G;break;case 2:x=m,G=s+N*I,i[2]=x,i[3]=G;break;case 3:G=_,x=o+A/I,i[2]=x,i[3]=G;break;case 4:x=v,G=s+-N*I,i[2]=x,i[3]=G}}return!1},r.getCardinalDirection=function(t,e,i){return t>e?i:1+i%4},r.getIntersection=function(t,e,i,r){if(null==r)return this.getIntersection2(t,e,i);var o=t.x,s=t.y,a=e.x,h=e.y,l=i.x,c=i.y,g=r.x,u=r.y,d=void 0,p=void 0,f=void 0,y=void 0,E=void 0,v=void 0,_=void 0;return(d=h-s,f=o-a,E=a*s-o*h,p=u-c,y=l-g,v=g*c-l*u,0==(_=d*y-p*f))?null:new n((f*v-y*E)/_,(p*E-d*v)/_)},r.angleOfVector=function(t,e,i,n){var r=void 0;return t!==i?(r=Math.atan((n-e)/(i-t)),i0?1:t<0?-1:0},n.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},n.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=n},function(t,e,i){"use strict";function n(){}n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i=0;i0&&e;){for(a.push(l[0]);a.length>0&&e;){var c=a[0];a.splice(0,1),s.add(c);for(var g=c.getEdges(),o=0;o-1&&l.splice(f,1)}s=new Set,h=new Map}else t=[]}return t},u.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],i=t.source,n=this.graphManager.calcLowestCommonAncestor(t.source,t.target),r=0;r0){for(var r=this.edgeToDummyNodes.get(i),o=0;o=0&&e.splice(g,1),a.getNeighborsList().forEach(function(t){if(0>i.indexOf(t)){var e=n.get(t)-1;1==e&&l.push(t),n.set(t,e)}})}i=i.concat(l),(1==e.length||2==e.length)&&(r=!0,o=e[0])}return o},u.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=u},function(t,e,i){"use strict";function n(){}n.seed=1,n.x=0,n.nextDouble=function(){return n.x=1e4*Math.sin(n.seed++),n.x-Math.floor(n.x)},t.exports=n},function(t,e,i){"use strict";var n=i(4);function r(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}r.prototype.getWorldOrgX=function(){return this.lworldOrgX},r.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},r.prototype.getWorldOrgY=function(){return this.lworldOrgY},r.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},r.prototype.getWorldExtX=function(){return this.lworldExtX},r.prototype.setWorldExtX=function(t){this.lworldExtX=t},r.prototype.getWorldExtY=function(){return this.lworldExtY},r.prototype.setWorldExtY=function(t){this.lworldExtY=t},r.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},r.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},r.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},r.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},r.prototype.getDeviceExtX=function(){return this.ldeviceExtX},r.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},r.prototype.getDeviceExtY=function(){return this.ldeviceExtY},r.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},r.prototype.transformX=function(t){var e=0,i=this.lworldExtX;return 0!=i&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/i),e},r.prototype.transformY=function(t){var e=0,i=this.lworldExtY;return 0!=i&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/i),e},r.prototype.inverseTransformX=function(t){var e=0,i=this.ldeviceExtX;return 0!=i&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/i),e},r.prototype.inverseTransformY=function(t){var e=0,i=this.ldeviceExtY;return 0!=i&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/i),e},r.prototype.inverseTransformPoint=function(t){return new n(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=r},function(t,e,i){"use strict";var n=i(15),r=i(7),o=i(0),s=i(8),a=i(9);function h(){n.call(this),this.useSmartIdealEdgeLengthCalculation=r.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=r.DEFAULT_EDGE_LENGTH,this.springConstant=r.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=r.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=r.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=r.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=r.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=r.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*r.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=r.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=r.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=r.MAX_ITERATIONS}for(var l in h.prototype=Object.create(n.prototype),n)h[l]=n[l];h.prototype.initParameters=function(){n.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=r.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},h.prototype.calcIdealEdgeLengths=function(){for(var t,e,i,n,s,a,h=this.getGraphManager().getAllEdges(),l=0;lr.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*r.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-r.ADAPTATION_LOWER_NODE_LIMIT)/(r.ADAPTATION_UPPER_NODE_LIMIT-r.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-r.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=r.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>r.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(r.COOLING_ADAPTATION_FACTOR,1-(t-r.ADAPTATION_LOWER_NODE_LIMIT)/(r.ADAPTATION_UPPER_NODE_LIMIT-r.ADAPTATION_LOWER_NODE_LIMIT)*(1-r.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=r.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),i=0;i0)||void 0===arguments[0]||arguments[0],a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],h=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%r.GRID_CALCULATION_CHECK_PERIOD==1&&s&&this.updateGrid(),o=new Set,t=0;t(h=e.getEstimatedSize()*this.gravityRangeFactor)||a>h)&&(t.gravitationForceX=-this.gravityConstant*r,t.gravitationForceY=-this.gravityConstant*o):(s>(h=e.getEstimatedSize()*this.compoundGravityRangeFactor)||a>h)&&(t.gravitationForceX=-this.gravityConstant*r*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},h.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=2>Math.abs(this.totalDisplacement-this.oldTotalDisplacement)),t=this.totalDisplacement=a.length||l>=a[0].length)){for(var c=0;ct}}]),t}();t.exports=o},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;(function(t,e){if(!(t instanceof e))throw TypeError("Cannot call a class as a function")})(this,t),this.sequence1=e,this.sequence2=i,this.match_score=n,this.mismatch_penalty=r,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=i.length+1,this.grid=Array(this.iMax);for(var s=0;s=0;i--){var n=this.listeners[i];n.event===t&&n.callback===e&&this.listeners.splice(i,1)}},r.emit=function(t,e){for(var i=0;i2&&L.push("'"+this.terminals_[m]+"'");O=g.showPosition?"Parse error on line "+(h+1)+":\n"+g.showPosition()+"\nExpecting "+L.join(", ")+", got '"+(this.terminals_[y]||y)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==y?"end of input":"'"+(this.terminals_[y]||y)+"'"),this.parseError(O,{text:g.match,token:this.terminals_[y]||y,line:g.yylineno,loc:p,expected:L})}if(v[0]instanceof Array&&v.length>1)throw Error("Parse Error: multiple actions possible at state: "+E+", token: "+y);switch(v[0]){case 1:i.push(y),r.push(g.yytext),o.push(g.yylloc),i.push(v[1]),y=null,l=g.yyleng,a=g.yytext,h=g.yylineno,p=g.yylloc;break;case 2:if(N=this.productions_[v[1]][1],T.$=r[r.length-N],T._$={first_line:o[o.length-(N||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(N||1)].first_column,last_column:o[o.length-1].last_column},f&&(T._$.range=[o[o.length-(N||1)].range[0],o[o.length-1].range[1]]),void 0!==(_=this.performAction.apply(T,[a,l,h,u.yy,v[1],r,o].concat(c))))return _;N&&(i=i.slice(0,-1*N*2),r=r.slice(0,-1*N),o=o.slice(0,-1*N)),i.push(this.productions_[v[1]][0]),r.push(T.$),o.push(T._$),A=s[i[i.length-2]][i[i.length-1]],i.push(A);break;case 3:return!0}}return!0}};function v(){this.yy={}}return E.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,n,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var o in r)this[o]=r[o];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,n,r=this._currentRules(),o=0;oe[0].length)){if(e=i,n=o,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,r[o])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,i,n){switch(i){case 0:return t.getLogger().trace("Found comment",e.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:case 23:case 26:this.popState();break;case 5:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return t.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:t.getLogger().trace("end icon"),this.popState();break;case 10:return t.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return t.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 24:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 27:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 30:case 33:case 34:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 35:case 36:return t.getLogger().trace("Long description:",e.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}},v.prototype=E,E.Parser=v,new v}();g.parser=g;let u=[],d=0,p={},f=function(t){for(let e=u.length-1;e>=0;e--)if(u[e].level)/g,"\n");(0,a.a)(u,d,{useHtmlLabels:s,width:i.width,classes:"mindmap-node-label"}),s||u.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");let p=u.node().getBBox(),[f]=(0,n.D)(o.fontSize);if(i.height=p.height+.55*f+i.padding,i.width=p.width+2*i.padding,i.icon){if(i.type===t.nodeType.CIRCLE)i.height+=50,i.width+=50,l.append("foreignObject").attr("height","50px").attr("width",i.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+h+" "+i.icon),u.attr("transform","translate("+i.width/2+", "+(i.height/2-1.5*i.padding)+")");else{i.width+=50;let t=i.height;i.height=Math.max(t,60);let e=Math.abs(i.height-t);l.append("foreignObject").attr("width","60px").attr("height",i.height).attr("style","text-align: center;margin-top:"+e/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+h+" "+i.icon),u.attr("transform","translate("+(25+i.width/2)+", "+(e/2+i.padding/2)+")")}}else if(s){let t=(i.width-p.width)/2,e=(i.height-p.height)/2;u.attr("transform","translate("+t+", "+e+")")}else{let t=i.width/2,e=i.padding/2;u.attr("transform","translate("+t+", "+e+")")}switch(i.type){case t.nodeType.DEFAULT:E(t,g,i,h);break;case t.nodeType.ROUNDED_RECT:L(t,g,i);break;case t.nodeType.RECT:v(t,g,i);break;case t.nodeType.CIRCLE:g.attr("transform","translate("+i.width/2+", "+ +i.height/2+")"),N(t,g,i);break;case t.nodeType.CLOUD:_(t,g,i);break;case t.nodeType.BANG:m(t,g,i);break;case t.nodeType.HEXAGON:A(t,g,i)}return t.setElementForId(i.id,l),i.height},O=function(t,e){let i=t.getElementById(e.id),n=e.x||0,r=e.y||0;i.attr("transform","translate("+n+","+r+")")};r.Z.use(o);let D=t=>{let e="";for(let e=0;e{u=[],d=0,p={}},addNode:(t,e,i,r)=>{var o,s;n.l.info("addNode",t,e,i,r);let a=(0,n.c)(),h=(null==(o=a.mindmap)?void 0:o.padding)??n.B.mindmap.padding;switch(r){case y.ROUNDED_RECT:case y.RECT:case y.HEXAGON:h*=2}let l={id:d++,nodeId:(0,n.d)(e,a),level:t,descr:(0,n.d)(i,a),type:r,children:[],width:(null==(s=a.mindmap)?void 0:s.maxNodeWidth)??n.B.mindmap.maxNodeWidth,padding:h},c=f(t);if(c)c.children.push(l),u.push(l);else if(0===u.length)u.push(l);else throw Error('There can be only one root. No parent could be found for ("'+l.descr+'")')},getMindmap:()=>u.length>0?u[0]:null,nodeType:y,getType:(t,e)=>{switch(n.l.debug("In get type",t,e),t){case"[":return y.RECT;case"(":return")"===e?y.ROUNDED_RECT:y.CLOUD;case"((":return y.CIRCLE;case")":return y.CLOUD;case"))":return y.BANG;case"{{":return y.HEXAGON;default:return y.DEFAULT}},setElementForId:(t,e)=>{p[t]=e},decorateNode:t=>{if(!t)return;let e=(0,n.c)(),i=u[u.length-1];t.icon&&(i.icon=(0,n.d)(t.icon,e)),t.class&&(i.class=(0,n.d)(t.class,e))},type2Str:t=>{switch(t){case y.DEFAULT:return"no-border";case y.RECT:return"rect";case y.ROUNDED_RECT:return"rounded-rect";case y.CIRCLE:return"circle";case y.CLOUD:return"cloud";case y.BANG:return"bang";case y.HEXAGON:return"hexgon";default:return"no-border"}},getLogger:()=>n.l,getElementById:t=>p[t]},renderer:{draw:async(t,e,i,o)=>{var a,h;n.l.debug("Rendering mindmap diagram\n"+t);let l=o.db,c=l.getMindmap();if(!c)return;let g=(0,n.c)();g.htmlLabels=!1;let u=(0,n.A)(e),d=u.append("g");d.attr("class","mindmap-edges");let p=u.append("g");p.attr("class","mindmap-nodes"),function t(e,i,n,r,o){T(e,i,n,r,o),n.children&&n.children.forEach((n,s)=>{t(e,i,n,r<0?s:r,o)})}(l,p,c,-1,g);let f=await new Promise(t=>{let e=(0,s.Ys)("body").append("div").attr("id","cy").attr("style","display:none"),i=(0,r.Z)({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});e.remove(),function t(e,i,n,r){i.add({group:"nodes",data:{id:e.id.toString(),labelText:e.descr,height:e.height,width:e.width,level:r,nodeId:e.id,padding:e.padding,type:e.type},position:{x:e.x,y:e.y}}),e.children&&e.children.forEach(o=>{t(o,i,n,r+1),i.add({group:"edges",data:{id:`${e.id}_${o.id}`,source:e.id,target:o.id,depth:r,section:o.section}})})}(c,i,g,0),i.nodes().forEach(function(t){t.layoutDimensions=()=>{let e=t.data();return{w:e.width,h:e.height}}}),i.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),i.ready(e=>{n.l.info("Ready",e),t(i)})});!function(t,e){e.edges().map((e,i)=>{let r=e.data();if(e[0]._private.bodyBounds){let o=e[0]._private.rscratch;n.l.trace("Edge: ",i,r),t.insert("path").attr("d",`M ${o.startX},${o.startY} L ${o.midX},${o.midY} L${o.endX},${o.endY} `).attr("class","edge section-edge-"+r.section+" edge-depth-"+r.depth)}})}(d,f),function(t,e){e.nodes().map((e,i)=>{let r=e.data();r.x=e.position().x,r.y=e.position().y,O(t,r);let o=t.getElementById(r.nodeId);n.l.info("Id:",i,"Position: (",e.position().x,", ",e.position().y,")",r),o.attr("transform",`translate(${e.position().x-r.width/2}, ${e.position().y-r.height/2})`),o.attr("attr",`apa-${i})`)})}(l,f),(0,n.o)(void 0,u,(null==(a=g.mindmap)?void 0:a.padding)??n.B.mindmap.padding,(null==(h=g.mindmap)?void 0:h.useMaxWidth)??n.B.mindmap.useMaxWidth)}},parser:g,styles:t=>` + .edge { + stroke-width: 3; + } + ${D(t)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`}}}]); \ No newline at end of file diff --git a/_next/static/chunks/2650.01b6df31b9019e90.js b/_next/static/chunks/2650.01b6df31b9019e90.js new file mode 100644 index 0000000..7f21979 --- /dev/null +++ b/_next/static/chunks/2650.01b6df31b9019e90.js @@ -0,0 +1,63 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2650],{2650:function(t,e,r){r.d(e,{diagram:function(){return N}});var i=r(1835),a=r(4218);r(7484),r(6574),r(7856);var c=function(){var t=function(t,e,r,i){for(r=r||{},i=t.length;i--;r[t[i]]=e);return r},e=[1,3],r=[1,6],i=[1,4],a=[1,5],c=[2,5],s=[1,12],n=[5,7,13,19,21,23,24,26,28,31,37,40,47],o=[7,13,19,21,23,24,26,28,31,37,40],l=[7,12,13,19,21,23,24,26,28,31,37,40],h=[7,13,47],m=[1,42],y=[1,41],u=[7,13,29,32,35,38,47],p=[1,55],g=[1,56],b=[1,57],d=[7,13,32,35,42,47],f={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,PARENT_COMMIT:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,ID:46,";":47,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"PARENT_COMMIT",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",46:"ID",47:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,7],[18,7],[18,5],[18,5],[18,5],[18,7],[18,7],[18,7],[18,7],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[41,0],[41,1],[39,1],[39,1],[39,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(t,e,r,i,a,c,s){var n=c.length-1;switch(a){case 2:return c[n];case 3:return c[n-1];case 4:return i.setDirection(c[n-3]),c[n-1];case 6:i.setOptions(c[n-1]),this.$=c[n];break;case 7:c[n-1]+=c[n],this.$=c[n-1];break;case 9:this.$=[];break;case 10:c[n-1].push(c[n]),this.$=c[n-1];break;case 11:this.$=c[n-1];break;case 16:this.$=c[n].trim(),i.setAccTitle(this.$);break;case 17:case 18:this.$=c[n].trim(),i.setAccDescription(this.$);break;case 19:i.addSection(c[n].substr(8)),this.$=c[n].substr(8);break;case 21:i.checkout(c[n]);break;case 22:i.branch(c[n]);break;case 23:i.branch(c[n-2],c[n]);break;case 24:i.cherryPick(c[n],"",void 0);break;case 25:i.cherryPick(c[n-2],"",void 0,c[n]);break;case 26:i.cherryPick(c[n-2],"",c[n]);break;case 27:i.cherryPick(c[n-4],"",c[n],c[n-2]);break;case 28:i.cherryPick(c[n-4],"",c[n-2],c[n]);break;case 29:i.cherryPick(c[n],"",c[n-2]);break;case 30:i.cherryPick(c[n],"","");break;case 31:i.cherryPick(c[n-2],"","");break;case 32:i.cherryPick(c[n-4],"","",c[n-2]);break;case 33:i.cherryPick(c[n-4],"","",c[n]);break;case 34:i.cherryPick(c[n-2],"",c[n-4],c[n]);break;case 35:i.cherryPick(c[n-2],"","",c[n]);break;case 36:i.merge(c[n],"","","");break;case 37:i.merge(c[n-2],c[n],"","");break;case 38:i.merge(c[n-2],"",c[n],"");break;case 39:i.merge(c[n-2],"","",c[n]);break;case 40:i.merge(c[n-4],c[n],"",c[n-2]);break;case 41:i.merge(c[n-4],"",c[n],c[n-2]);break;case 42:i.merge(c[n-4],"",c[n-2],c[n]);break;case 43:i.merge(c[n-4],c[n-2],c[n],"");break;case 44:i.merge(c[n-4],c[n-2],"",c[n]);break;case 45:i.merge(c[n-4],c[n],c[n-2],"");break;case 46:i.merge(c[n-6],c[n-4],c[n-2],c[n]);break;case 47:i.merge(c[n-6],c[n],c[n-4],c[n-2]);break;case 48:i.merge(c[n-6],c[n-4],c[n],c[n-2]);break;case 49:i.merge(c[n-6],c[n-2],c[n-4],c[n]);break;case 50:i.merge(c[n-6],c[n],c[n-2],c[n-4]);break;case 51:i.merge(c[n-6],c[n-2],c[n],c[n-4]);break;case 52:i.commit(c[n]);break;case 53:i.commit("","",i.commitType.NORMAL,c[n]);break;case 54:i.commit("","",c[n],"");break;case 55:i.commit("","",c[n],c[n-2]);break;case 56:i.commit("","",c[n-2],c[n]);break;case 57:i.commit("",c[n],i.commitType.NORMAL,"");break;case 58:i.commit("",c[n-2],i.commitType.NORMAL,c[n]);break;case 59:i.commit("",c[n],i.commitType.NORMAL,c[n-2]);break;case 60:i.commit("",c[n-2],c[n],"");break;case 61:i.commit("",c[n],c[n-2],"");break;case 62:i.commit("",c[n-4],c[n-2],c[n]);break;case 63:i.commit("",c[n-4],c[n],c[n-2]);break;case 64:i.commit("",c[n-2],c[n-4],c[n]);break;case 65:i.commit("",c[n],c[n-4],c[n-2]);break;case 66:i.commit("",c[n],c[n-2],c[n-4]);break;case 67:i.commit("",c[n-2],c[n],c[n-4]);break;case 68:i.commit(c[n],"",i.commitType.NORMAL,"");break;case 69:i.commit(c[n],"",i.commitType.NORMAL,c[n-2]);break;case 70:i.commit(c[n-2],"",i.commitType.NORMAL,c[n]);break;case 71:i.commit(c[n-2],"",c[n],"");break;case 72:i.commit(c[n],"",c[n-2],"");break;case 73:i.commit(c[n],c[n-2],i.commitType.NORMAL,"");break;case 74:i.commit(c[n-2],c[n],i.commitType.NORMAL,"");break;case 75:i.commit(c[n-4],"",c[n-2],c[n]);break;case 76:i.commit(c[n-4],"",c[n],c[n-2]);break;case 77:i.commit(c[n-2],"",c[n-4],c[n]);break;case 78:i.commit(c[n],"",c[n-4],c[n-2]);break;case 79:i.commit(c[n],"",c[n-2],c[n-4]);break;case 80:i.commit(c[n-2],"",c[n],c[n-4]);break;case 81:i.commit(c[n-4],c[n],c[n-2],"");break;case 82:i.commit(c[n-4],c[n-2],c[n],"");break;case 83:i.commit(c[n-2],c[n],c[n-4],"");break;case 84:i.commit(c[n],c[n-2],c[n-4],"");break;case 85:i.commit(c[n],c[n-4],c[n-2],"");break;case 86:i.commit(c[n-2],c[n-4],c[n],"");break;case 87:i.commit(c[n-4],c[n],i.commitType.NORMAL,c[n-2]);break;case 88:i.commit(c[n-4],c[n-2],i.commitType.NORMAL,c[n]);break;case 89:i.commit(c[n-2],c[n],i.commitType.NORMAL,c[n-4]);break;case 90:i.commit(c[n],c[n-2],i.commitType.NORMAL,c[n-4]);break;case 91:i.commit(c[n],c[n-4],i.commitType.NORMAL,c[n-2]);break;case 92:i.commit(c[n-2],c[n-4],i.commitType.NORMAL,c[n]);break;case 93:i.commit(c[n-6],c[n-4],c[n-2],c[n]);break;case 94:i.commit(c[n-6],c[n-4],c[n],c[n-2]);break;case 95:i.commit(c[n-6],c[n-2],c[n-4],c[n]);break;case 96:i.commit(c[n-6],c[n],c[n-4],c[n-2]);break;case 97:i.commit(c[n-6],c[n-2],c[n],c[n-4]);break;case 98:i.commit(c[n-6],c[n],c[n-2],c[n-4]);break;case 99:i.commit(c[n-4],c[n-6],c[n-2],c[n]);break;case 100:i.commit(c[n-4],c[n-6],c[n],c[n-2]);break;case 101:i.commit(c[n-2],c[n-6],c[n-4],c[n]);break;case 102:i.commit(c[n],c[n-6],c[n-4],c[n-2]);break;case 103:i.commit(c[n-2],c[n-6],c[n],c[n-4]);break;case 104:i.commit(c[n],c[n-6],c[n-2],c[n-4]);break;case 105:i.commit(c[n],c[n-4],c[n-2],c[n-6]);break;case 106:i.commit(c[n-2],c[n-4],c[n],c[n-6]);break;case 107:i.commit(c[n],c[n-2],c[n-4],c[n-6]);break;case 108:i.commit(c[n-2],c[n],c[n-4],c[n-6]);break;case 109:i.commit(c[n-4],c[n-2],c[n],c[n-6]);break;case 110:i.commit(c[n-4],c[n],c[n-2],c[n-6]);break;case 111:i.commit(c[n-2],c[n-4],c[n-6],c[n]);break;case 112:i.commit(c[n],c[n-4],c[n-6],c[n-2]);break;case 113:i.commit(c[n-2],c[n],c[n-6],c[n-4]);break;case 114:i.commit(c[n],c[n-2],c[n-6],c[n-4]);break;case 115:i.commit(c[n-4],c[n-2],c[n-6],c[n]);break;case 116:i.commit(c[n-4],c[n],c[n-6],c[n-2]);break;case 117:this.$="";break;case 118:this.$=c[n];break;case 119:this.$=i.commitType.NORMAL;break;case 120:this.$=i.commitType.REVERSE;break;case 121:this.$=i.commitType.HIGHLIGHT}},table:[{3:1,4:2,5:e,7:r,13:i,47:a},{1:[3]},{3:7,4:2,5:e,7:r,13:i,47:a},{6:8,7:c,8:[1,9],9:[1,10],10:11,13:s},t(n,[2,124]),t(n,[2,125]),t(n,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:c,10:11,13:s},{8:[1,15]},t(o,[2,9],{11:16,12:[1,17]}),t(l,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:c,10:11,13:s},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],37:[1,33],40:[1,32]},t(l,[2,7]),{1:[2,3]},{7:[1,36]},t(o,[2,10]),{4:37,7:r,13:i,47:a},t(o,[2,12]),t(h,[2,13]),t(h,[2,14]),t(h,[2,15]),{20:[1,38]},{22:[1,39]},t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),{27:40,33:m,46:y},t(h,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:m,46:y},{32:[1,50],35:[1,51]},{27:52,33:m,46:y},{1:[2,4]},t(o,[2,11]),t(h,[2,16]),t(h,[2,17]),t(h,[2,21]),t(u,[2,122]),t(u,[2,123]),t(h,[2,52]),{33:[1,53]},{39:54,43:p,44:g,45:b},{33:[1,58]},{33:[1,59]},t(h,[2,118]),t(h,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},t(h,[2,22],{29:[1,66]}),t(h,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),t(h,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),t(d,[2,119]),t(d,[2,120]),t(d,[2,121]),t(h,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),t(h,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:p,44:g,45:b},{33:[1,81]},t(h,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:p,44:g,45:b},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:p,44:g,45:b},{33:[1,95]},{33:[1,96]},{39:97,43:p,44:g,45:b},{33:[1,98]},t(h,[2,37],{35:[1,100],38:[1,99]}),t(h,[2,38],{32:[1,102],35:[1,101]}),t(h,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},t(h,[2,23]),t(h,[2,55],{32:[1,110],42:[1,111]}),t(h,[2,59],{38:[1,112],42:[1,113]}),t(h,[2,69],{32:[1,115],38:[1,114]}),t(h,[2,56],{32:[1,116],42:[1,117]}),t(h,[2,61],{35:[1,118],42:[1,119]}),t(h,[2,72],{32:[1,121],35:[1,120]}),t(h,[2,58],{38:[1,122],42:[1,123]}),t(h,[2,60],{35:[1,124],42:[1,125]}),t(h,[2,73],{35:[1,127],38:[1,126]}),t(h,[2,70],{32:[1,129],38:[1,128]}),t(h,[2,71],{32:[1,131],35:[1,130]}),t(h,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:p,44:g,45:b},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:p,44:g,45:b},t(h,[2,25],{35:[1,140]}),t(h,[2,26],{34:[1,141]}),t(h,[2,31],{34:[1,142]}),t(h,[2,29],{34:[1,143]}),t(h,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:p,44:g,45:b},{33:[1,148]},{39:149,43:p,44:g,45:b},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:p,44:g,45:b},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:p,44:g,45:b},{33:[1,162]},{39:163,43:p,44:g,45:b},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:p,44:g,45:b},{33:[1,168]},t(h,[2,43],{35:[1,169]}),t(h,[2,44],{38:[1,170]}),t(h,[2,42],{32:[1,171]}),t(h,[2,45],{35:[1,172]}),t(h,[2,40],{38:[1,173]}),t(h,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},t(h,[2,66],{42:[1,181]}),t(h,[2,79],{32:[1,182]}),t(h,[2,67],{42:[1,183]}),t(h,[2,90],{38:[1,184]}),t(h,[2,80],{32:[1,185]}),t(h,[2,89],{38:[1,186]}),t(h,[2,65],{42:[1,187]}),t(h,[2,78],{32:[1,188]}),t(h,[2,64],{42:[1,189]}),t(h,[2,84],{35:[1,190]}),t(h,[2,77],{32:[1,191]}),t(h,[2,83],{35:[1,192]}),t(h,[2,63],{42:[1,193]}),t(h,[2,91],{38:[1,194]}),t(h,[2,62],{42:[1,195]}),t(h,[2,85],{35:[1,196]}),t(h,[2,86],{35:[1,197]}),t(h,[2,92],{38:[1,198]}),t(h,[2,76],{32:[1,199]}),t(h,[2,87],{38:[1,200]}),t(h,[2,75],{32:[1,201]}),t(h,[2,81],{35:[1,202]}),t(h,[2,82],{35:[1,203]}),t(h,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:p,44:g,45:b},{33:[1,207]},{33:[1,208]},{39:209,43:p,44:g,45:b},{33:[1,210]},t(h,[2,27]),t(h,[2,32]),t(h,[2,28]),t(h,[2,33]),t(h,[2,34]),t(h,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:p,44:g,45:b},{33:[1,215]},{39:216,43:p,44:g,45:b},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:p,44:g,45:b},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:p,44:g,45:b},{33:[1,229]},{39:230,43:p,44:g,45:b},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:p,44:g,45:b},t(h,[2,46]),t(h,[2,48]),t(h,[2,47]),t(h,[2,49]),t(h,[2,51]),t(h,[2,50]),t(h,[2,107]),t(h,[2,108]),t(h,[2,105]),t(h,[2,106]),t(h,[2,110]),t(h,[2,109]),t(h,[2,114]),t(h,[2,113]),t(h,[2,112]),t(h,[2,111]),t(h,[2,116]),t(h,[2,115]),t(h,[2,104]),t(h,[2,103]),t(h,[2,102]),t(h,[2,101]),t(h,[2,99]),t(h,[2,100]),t(h,[2,98]),t(h,[2,97]),t(h,[2,96]),t(h,[2,95]),t(h,[2,93]),t(h,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var r=Error(t);throw r.hash=e,r}},parse:function(t){var e=this,r=[0],i=[],a=[null],c=[],s=this.table,n="",o=0,l=0,h=c.slice.call(arguments,1),m=Object.create(this.lexer),y={yy:{}};for(var u in this.yy)Object.prototype.hasOwnProperty.call(this.yy,u)&&(y.yy[u]=this.yy[u]);m.setInput(t,y.yy),y.yy.lexer=m,y.yy.parser=this,void 0===m.yylloc&&(m.yylloc={});var p=m.yylloc;c.push(p);var g=m.options&&m.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,d,f,$,k,x,_,E,T={};;){if(d=r[r.length-1],this.defaultActions[d]?f=this.defaultActions[d]:(null==b&&(b=function(){var t;return"number"!=typeof(t=i.pop()||m.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}()),f=s[d]&&s[d][b]),void 0===f||!f.length||!f[0]){var M="";for(k in E=[],s[d])this.terminals_[k]&&k>2&&E.push("'"+this.terminals_[k]+"'");M=m.showPosition?"Parse error on line "+(o+1)+":\n"+m.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(M,{text:m.match,token:this.terminals_[b]||b,line:m.yylineno,loc:p,expected:E})}if(f[0]instanceof Array&&f.length>1)throw Error("Parse Error: multiple actions possible at state: "+d+", token: "+b);switch(f[0]){case 1:r.push(b),a.push(m.yytext),c.push(m.yylloc),r.push(f[1]),b=null,l=m.yyleng,n=m.yytext,o=m.yylineno,p=m.yylloc;break;case 2:if(x=this.productions_[f[1]][1],T.$=a[a.length-x],T._$={first_line:c[c.length-(x||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(x||1)].first_column,last_column:c[c.length-1].last_column},g&&(T._$.range=[c[c.length-(x||1)].range[0],c[c.length-1].range[1]]),void 0!==($=this.performAction.apply(T,[n,l,o,y.yy,f[1],a,c].concat(h))))return $;x&&(r=r.slice(0,-1*x*2),a=a.slice(0,-1*x),c=c.slice(0,-1*x)),r.push(this.productions_[f[1]][0]),a.push(T.$),c.push(T._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}};function $(){this.yy={}}return f.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===i.length?this.yylloc.first_column:0)+i[i.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,i,a;if(this.options.backtrack_lexer&&(a={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(a.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack)for(var c in a)this[c]=a[c];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,r,i,a=this._currentRules(),c=0;ce[0].length)){if(e=r,i=c,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,a[c])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,i){switch(r){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 30:case 34:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:case 9:break;case 10:return 5;case 11:return 40;case 12:return 32;case 13:return 38;case 14:return 42;case 15:return 43;case 16:return 44;case 17:return 45;case 18:return 35;case 19:return 28;case 20:return 29;case 21:return 37;case 22:return 31;case 23:return 34;case 24:return 26;case 25:case 26:return 9;case 27:return 8;case 28:return"CARET";case 29:this.begin("options");break;case 31:return 12;case 32:return 36;case 33:this.begin("string");break;case 35:return 33;case 36:return 30;case 37:return 46;case 38:return 7}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:parent:)/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[30,31],inclusive:!1},string:{rules:[34,35],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,36,37,38,39],inclusive:!0}}},$.prototype=f,f.Parser=$,new $}();c.parser=c;let s=(0,i.c)().gitGraph.mainBranchName,n=(0,i.c)().gitGraph.mainBranchOrder,o={},l=null,h={};h[s]={name:s,order:n};let m={};m[s]=l;let y=s,u="LR",p=0;function g(){return(0,i.y)({length:7})}let b={},d=function(t){if(void 0===m[t=i.e.sanitizeText(t,(0,i.c)())]){let e=Error('Trying to checkout branch which is not yet created. (Help try using "branch '+t+'")');throw e.hash={text:"checkout "+t,token:"checkout "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+t+'"']},e}l=o[m[y=t]]};function f(t,e,r){let i=t.indexOf(e);-1===i?t.push(r):t.splice(i,1,r)}let $=function(){let t=Object.keys(o).map(function(t){return o[t]});return t.forEach(function(t){i.l.debug(t.id)}),t.sort((t,e)=>t.seq-e.seq),t},k={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},x={getConfig:()=>(0,i.c)().gitGraph,setDirection:function(t){u=t},setOptions:function(t){i.l.debug("options str",t),t=(t=t&&t.trim())||"{}";try{b=JSON.parse(t)}catch(t){i.l.error("error while parsing gitGraph options",t.message)}},getOptions:function(){return b},commit:function(t,e,r,a){i.l.debug("Entering commit:",t,e,r,a),e=i.e.sanitizeText(e,(0,i.c)()),t=i.e.sanitizeText(t,(0,i.c)()),a=i.e.sanitizeText(a,(0,i.c)());let c={id:e||p+"-"+g(),message:t,seq:p++,type:r||k.NORMAL,tag:a||"",parents:null==l?[]:[l.id],branch:y};l=c,o[c.id]=c,m[y]=c.id,i.l.debug("in pushCommit "+c.id)},branch:function(t,e){if(void 0===m[t=i.e.sanitizeText(t,(0,i.c)())])m[t]=null!=l?l.id:null,h[t]={name:t,order:e?parseInt(e,10):null},d(t),i.l.debug("in createBranch");else{let e=Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+t+'")');throw e.hash={text:"branch "+t,token:"branch "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+t+'"']},e}},merge:function(t,e,r,a){t=i.e.sanitizeText(t,(0,i.c)()),e=i.e.sanitizeText(e,(0,i.c)());let c=o[m[y]],s=o[m[t]];if(y===t){let e=Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},e}if(void 0!==c&&c){if(void 0===m[t]){let e=Error('Incorrect usage of "merge". Branch to be merged ('+t+") does not exist");throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+t]},e}if(void 0!==s&&s){if(c===s){let e=Error('Incorrect usage of "merge". Both branches have same head');throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},e}if(e&&void 0!==o[e]){let i=Error('Incorrect usage of "merge". Commit with id:'+e+" already exists, use different custom Id");throw i.hash={text:"merge "+t+e+r+a,token:"merge "+t+e+r+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+t+" "+e+"_UNIQUE "+r+" "+a]},i}}else{let e=Error('Incorrect usage of "merge". Branch to be merged ('+t+") has no commits");throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},e}}else{let e=Error('Incorrect usage of "merge". Current branch ('+y+")has no commits");throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},e}let n={id:e||p+"-"+g(),message:"merged branch "+t+" into "+y,seq:p++,parents:[null==l?null:l.id,m[t]],branch:y,type:k.MERGE,customType:r,customId:!!e,tag:a||""};l=n,o[n.id]=n,m[y]=n.id,i.l.debug(m),i.l.debug("in mergeBranch")},cherryPick:function(t,e,r,a){if(i.l.debug("Entering cherryPick:",t,e,r),t=i.e.sanitizeText(t,(0,i.c)()),e=i.e.sanitizeText(e,(0,i.c)()),r=i.e.sanitizeText(r,(0,i.c)()),a=i.e.sanitizeText(a,(0,i.c)()),!t||void 0===o[t]){let r=Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw r.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},r}let c=o[t],s=c.branch;if(a&&!(Array.isArray(c.parents)&&c.parents.includes(a)))throw Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");if(c.type===k.MERGE&&!a)throw Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!e||void 0===o[e]){if(s===y){let r=Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw r.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},r}let n=o[m[y]];if(void 0===n||!n){let r=Error('Incorrect usage of "cherry-pick". Current branch ('+y+")has no commits");throw r.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},r}let h={id:p+"-"+g(),message:"cherry-picked "+c+" into "+y,seq:p++,parents:[null==l?null:l.id,c.id],branch:y,type:k.CHERRY_PICK,tag:r??`cherry-pick:${c.id}${c.type===k.MERGE?`|parent:${a}`:""}`};l=h,o[h.id]=h,m[y]=h.id,i.l.debug(m),i.l.debug("in cherryPick")}},checkout:d,prettyPrint:function(){i.l.debug(o),function t(e){let r=e.reduce((t,e)=>t.seq>e.seq?t:e,e[0]),a="";e.forEach(function(t){t===r?a+=" *":a+=" |"});let c=[a,r.id,r.seq];for(let t in m)m[t]===r.id&&c.push(t);if(i.l.debug(c.join(" ")),r.parents&&2==r.parents.length){let t=o[r.parents[0]];f(e,r,t),e.push(o[r.parents[1]])}else{if(0==r.parents.length)return;let t=o[r.parents];f(e,r,t)}t(e=function(t,e){let r=Object.create(null);return t.reduce((t,i)=>{let a=e(i);return r[a]||(r[a]=!0,t.push(i)),t},[])}(e,t=>t.id))}([$()[0]])},clear:function(){o={},l=null;let t=(0,i.c)().gitGraph.mainBranchName,e=(0,i.c)().gitGraph.mainBranchOrder;(m={})[t]=null,(h={})[t]={name:t,order:e},y=t,p=0,(0,i.v)()},getBranchesAsObjArray:function(){return Object.values(h).map((t,e)=>null!==t.order?t:{...t,order:parseFloat(`0.${e}`,10)}).sort((t,e)=>t.order-e.order).map(({name:t})=>({name:t}))},getBranches:function(){return m},getCommits:function(){return o},getCommitsArray:$,getCurrentBranch:function(){return y},getDirection:function(){return u},getHead:function(){return l},setAccTitle:i.s,getAccTitle:i.g,getAccDescription:i.a,setAccDescription:i.b,setDiagramTitle:i.q,getDiagramTitle:i.t,commitType:k},_={},E={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},T={},M={},L=[],R=0,w="LR",I=()=>{T={},M={},_={},R=0,L=[],w="LR"},v=t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");for(let r of"string"==typeof t?t.split(/\\n|\n|/gi):Array.isArray(t)?t:[]){let t=document.createElementNS("http://www.w3.org/2000/svg","tspan");t.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),t.setAttribute("dy","1em"),t.setAttribute("x","0"),t.setAttribute("class","row"),t.textContent=r.trim(),e.appendChild(t)}return e},A=t=>{let e="",r=0;return t.forEach(t=>{let i="TB"===w?M[t].y:M[t].x;i>=r&&(e=t,r=i)}),e||void 0},C=(t,e,r)=>{let a=(0,i.c)().gitGraph,c=t.append("g").attr("class","commit-bullets"),s=t.append("g").attr("class","commit-labels"),n=0;"TB"===w&&(n=30);let o=Object.keys(e).sort((t,r)=>e[t].seq-e[r].seq),l=a.parallelCommits;o.forEach(t=>{let i=e[t];if(l){if(i.parents.length){let t=A(i.parents);n="TB"===w?M[t].y+40:M[t].x+40}else n=0,"TB"===w&&(n=30)}let o=n+10,h="TB"===w?o:T[i.branch].pos,m="TB"===w?T[i.branch].pos:o;if(r){let t;let e=void 0!==i.customType&&""!==i.customType?i.customType:i.type;switch(e){case E.NORMAL:t="commit-normal";break;case E.REVERSE:t="commit-reverse";break;case E.HIGHLIGHT:t="commit-highlight";break;case E.MERGE:t="commit-merge";break;case E.CHERRY_PICK:t="commit-cherry-pick";break;default:t="commit-normal"}if(e===E.HIGHLIGHT){let e=c.append("rect");e.attr("x",m-10),e.attr("y",h-10),e.attr("height",20),e.attr("width",20),e.attr("class",`commit ${i.id} commit-highlight${T[i.branch].index%8} ${t}-outer`),c.append("rect").attr("x",m-6).attr("y",h-6).attr("height",12).attr("width",12).attr("class",`commit ${i.id} commit${T[i.branch].index%8} ${t}-inner`)}else if(e===E.CHERRY_PICK)c.append("circle").attr("cx",m).attr("cy",h).attr("r",10).attr("class",`commit ${i.id} ${t}`),c.append("circle").attr("cx",m-3).attr("cy",h+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${i.id} ${t}`),c.append("circle").attr("cx",m+3).attr("cy",h+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${i.id} ${t}`),c.append("line").attr("x1",m+3).attr("y1",h+1).attr("x2",m).attr("y2",h-5).attr("stroke","#fff").attr("class",`commit ${i.id} ${t}`),c.append("line").attr("x1",m-3).attr("y1",h+1).attr("x2",m).attr("y2",h-5).attr("stroke","#fff").attr("class",`commit ${i.id} ${t}`);else{let r=c.append("circle");if(r.attr("cx",m),r.attr("cy",h),r.attr("r",i.type===E.MERGE?9:10),r.attr("class",`commit ${i.id} commit${T[i.branch].index%8}`),e===E.MERGE){let e=c.append("circle");e.attr("cx",m),e.attr("cy",h),e.attr("r",6),e.attr("class",`commit ${t} ${i.id} commit${T[i.branch].index%8}`)}e===E.REVERSE&&c.append("path").attr("d",`M ${m-5},${h-5}L${m+5},${h+5}M${m-5},${h+5}L${m+5},${h-5}`).attr("class",`commit ${t} ${i.id} commit${T[i.branch].index%8}`)}}if("TB"===w?M[i.id]={x:m,y:o}:M[i.id]={x:o,y:h},r){if(i.type!==E.CHERRY_PICK&&(i.customId&&i.type===E.MERGE||i.type!==E.MERGE)&&a.showCommitLabel){let t=s.append("g"),e=t.insert("rect").attr("class","commit-label-bkg"),r=t.append("text").attr("x",n).attr("y",h+25).attr("class","commit-label").text(i.id),c=r.node().getBBox();if(e.attr("x",o-c.width/2-2).attr("y",h+13.5).attr("width",c.width+4).attr("height",c.height+4),"TB"===w&&(e.attr("x",m-(c.width+16+5)).attr("y",h-12),r.attr("x",m-(c.width+16)).attr("y",h+c.height-12)),"TB"!==w&&r.attr("x",o-c.width/2),a.rotateCommitLabel){if("TB"===w)r.attr("transform","rotate(-45, "+m+", "+h+")"),e.attr("transform","rotate(-45, "+m+", "+h+")");else{let e=-7.5-(c.width+10)/25*9.5,r=10+c.width/25*8.5;t.attr("transform","translate("+e+", "+r+") rotate(-45, "+n+", "+h+")")}}}if(i.tag){let t=s.insert("polygon"),e=s.append("circle"),r=s.append("text").attr("y",h-16).attr("class","tag-label").text(i.tag),a=r.node().getBBox();r.attr("x",o-a.width/2);let c=a.height/2,l=h-19.2;t.attr("class","tag-label-bkg").attr("points",` + ${n-a.width/2-2},${l+2} + ${n-a.width/2-2},${l-2} + ${o-a.width/2-4},${l-c-2} + ${o+a.width/2+4},${l-c-2} + ${o+a.width/2+4},${l+c+2} + ${o-a.width/2-4},${l+c+2}`),e.attr("cx",n-a.width/2+2).attr("cy",l).attr("r",1.5).attr("class","tag-hole"),"TB"===w&&(t.attr("class","tag-label-bkg").attr("points",` + ${m},${n+2} + ${m},${n-2} + ${m+10},${n-c-2} + ${m+10+a.width+4},${n-c-2} + ${m+10+a.width+4},${n+c+2} + ${m+10},${n+c+2}`).attr("transform","translate(12,12) rotate(45, "+m+","+n+")"),e.attr("cx",m+2).attr("cy",n).attr("transform","translate(12,12) rotate(45, "+m+","+n+")"),r.attr("x",m+5).attr("y",n+3).attr("transform","translate(14,14) rotate(45, "+m+","+n+")"))}}(n+=50)>R&&(R=n)})},O=(t,e,r,i,a)=>{let c=("TB"===w?r.xt.branch===c,n=r=>r.seq>t.seq&&r.seqn(t)&&s(t))},S=(t,e,r=0)=>{let i=t+Math.abs(t-e)/2;if(r>5)return i;if(L.every(t=>Math.abs(t-i)>=10))return L.push(i),i;let a=Math.abs(t-e);return S(t,e-a/5,r+1)},P=(t,e,r,i)=>{let a;let c=M[e.id],s=M[r.id],n=O(e,r,c,s,i),o="",l="",h=0,m=0,y=T[r.branch].index;if(r.type===E.MERGE&&e.id!==r.parents[0]&&(y=T[e.branch].index),n){o="A 10 10, 0, 0, 0,",l="A 10 10, 0, 0, 1,",h=10,m=10;let t=c.ys.x&&(o="A 20 20, 0, 0, 0,",l="A 20 20, 0, 0, 1,",h=20,m=20,a=r.type===E.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${c.x} ${s.y-h} ${l} ${c.x-m} ${s.y} L ${s.x} ${s.y}`:`M ${c.x} ${c.y} L ${s.x+h} ${c.y} ${o} ${s.x} ${c.y+m} L ${s.x} ${s.y}`),c.x===s.x&&(a=`M ${c.x} ${c.y} L ${s.x} ${s.y}`)):(c.ys.y&&(a=r.type===E.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${s.x-h} ${c.y} ${o} ${s.x} ${c.y-m} L ${s.x} ${s.y}`:`M ${c.x} ${c.y} L ${c.x} ${s.y+h} ${l} ${c.x+m} ${s.y} L ${s.x} ${s.y}`),c.y===s.y&&(a=`M ${c.x} ${c.y} L ${s.x} ${s.y}`));t.append("path").attr("d",a).attr("class","arrow arrow"+y%8)},G=(t,e)=>{let r=t.append("g").attr("class","commit-arrows");Object.keys(e).forEach(t=>{let i=e[t];i.parents&&i.parents.length>0&&i.parents.forEach(t=>{P(r,e[t],i,e)})})},B=(t,e)=>{let r=(0,i.c)().gitGraph,a=t.append("g");e.forEach((t,e)=>{let i=e%8,c=T[t.name].pos,s=a.append("line");s.attr("x1",0),s.attr("y1",c),s.attr("x2",R),s.attr("y2",c),s.attr("class","branch branch"+i),"TB"===w&&(s.attr("y1",30),s.attr("x1",c),s.attr("y2",R),s.attr("x2",c)),L.push(c);let n=v(t.name),o=a.insert("rect"),l=a.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+i);l.node().appendChild(n);let h=n.getBBox();o.attr("class","branchLabelBkg label"+i).attr("rx",4).attr("ry",4).attr("x",-h.width-4-(!0===r.rotateCommitLabel?30:0)).attr("y",-h.height/2+8).attr("width",h.width+18).attr("height",h.height+4),l.attr("transform","translate("+(-h.width-14-(!0===r.rotateCommitLabel?30:0))+", "+(c-h.height/2-1)+")"),"TB"===w&&(o.attr("x",c-h.width/2-10).attr("y",0),l.attr("transform","translate("+(c-h.width/2-5)+", 0)")),"TB"!==w&&o.attr("transform","translate(-19, "+(c-h.height/2)+")")})},N={parser:c,db:x,renderer:{draw:function(t,e,r,c){I();let s=(0,i.c)(),n=s.gitGraph;i.l.debug("in gitgraph renderer",t+"\n","id:",e,r),_=c.db.getCommits();let o=c.db.getBranchesAsObjArray();w=c.db.getDirection();let l=(0,a.Ys)(`[id="${e}"]`),h=0;o.forEach((t,e)=>{let r=v(t.name),i=l.append("g"),a=i.insert("g").attr("class","branchLabel"),c=a.insert("g").attr("class","label branch-label");c.node().appendChild(r);let s=r.getBBox();T[t.name]={pos:h,index:e},h+=50+(n.rotateCommitLabel?40:0)+("TB"===w?s.width/2:0),c.remove(),a.remove(),i.remove()}),C(l,_,!1),n.showBranches&&B(l,o),G(l,_),C(l,_,!0),i.u.insertTitle(l,"gitTitleText",n.titleTopMargin,c.db.getDiagramTitle()),(0,i.z)(void 0,l,n.diagramPadding,n.useMaxWidth??s.useMaxWidth)}},styles:t=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(e=>` + .branch-label${e} { fill: ${t["gitBranchLabel"+e]}; } + .commit${e} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; } + .commit-highlight${e} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; } + .label${e} { fill: ${t["git"+e]}; } + .arrow${e} { stroke: ${t["git"+e]}; } + `).join("\n")} + + .branch { + stroke-width: 1; + stroke: ${t.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};} + .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};} + .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; } + .tag-hole { fill: ${t.textColor}; } + + .commit-merge { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + .commit-reverse { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`}}}]); \ No newline at end of file diff --git a/_next/static/chunks/3553.4c0694a9fe280459.js b/_next/static/chunks/3553.4c0694a9fe280459.js new file mode 100644 index 0000000..836128e --- /dev/null +++ b/_next/static/chunks/3553.4c0694a9fe280459.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3553],{3553:function(t,e,a){a.d(e,{diagram:function(){return x}});var r=a(6336),i=a(4218),n=a(1316),d=a(5625),o=a(1835);a(7484),a(6574),a(7856);let l=0,s=function(t){let e=t.id;return t.type&&(e+="<"+(0,o.x)(t.type)+">"),e},p=function(t,e,a,r){let{displayText:i,cssStyle:n}=e.getDisplayDetails(),d=t.append("tspan").attr("x",r.padding).text(i);""!==n&&d.attr("style",e.cssStyle),a||d.attr("dy",r.textHeight)},g={drawClass:function(t,e,a,r){let i,n,d,l;o.l.debug("Rendering class ",e,a);let g=e.id,h={id:g,label:e.id,width:0,height:0},c=t.append("g").attr("id",r.db.lookUpDomId(g)).attr("class","classGroup");i=e.link?c.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",a.textHeight+a.padding).attr("x",0):c.append("text").attr("y",a.textHeight+a.padding).attr("x",0);let f=!0;e.annotations.forEach(function(t){let e=i.append("tspan").text("\xab"+t+"\xbb");f||e.attr("dy",a.textHeight),f=!1});let x=s(e),u=i.append("tspan").text(x).attr("class","title");f||u.attr("dy",a.textHeight);let y=i.node().getBBox().height;if(e.members.length>0){n=c.append("line").attr("x1",0).attr("y1",a.padding+y+a.dividerMargin/2).attr("y2",a.padding+y+a.dividerMargin/2);let t=c.append("text").attr("x",a.padding).attr("y",y+a.dividerMargin+a.textHeight).attr("fill","white").attr("class","classText");f=!0,e.members.forEach(function(e){p(t,e,f,a),f=!1}),d=t.node().getBBox()}if(e.methods.length>0){l=c.append("line").attr("x1",0).attr("y1",a.padding+y+a.dividerMargin+d.height).attr("y2",a.padding+y+a.dividerMargin+d.height);let t=c.append("text").attr("x",a.padding).attr("y",y+2*a.dividerMargin+d.height+a.textHeight).attr("fill","white").attr("class","classText");f=!0,e.methods.forEach(function(e){p(t,e,f,a),f=!1})}let b=c.node().getBBox();var m=" ";e.cssClasses.length>0&&(m+=e.cssClasses.join(" "));let w=c.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",b.width+2*a.padding).attr("height",b.height+a.padding+.5*a.dividerMargin).attr("class",m).node().getBBox().width;return i.node().childNodes.forEach(function(t){t.setAttribute("x",(w-t.getBBox().width)/2)}),e.tooltip&&i.insert("title").text(e.tooltip),n&&n.attr("x2",w),l&&l.attr("x2",w),h.width=w,h.height=b.height+a.padding+.5*a.dividerMargin,h},drawEdge:function(t,e,a,r,n){let d,s,p,g,h,c;let f=function(t){switch(t){case n.db.relationType.AGGREGATION:return"aggregation";case n.db.relationType.EXTENSION:return"extension";case n.db.relationType.COMPOSITION:return"composition";case n.db.relationType.DEPENDENCY:return"dependency";case n.db.relationType.LOLLIPOP:return"lollipop"}};e.points=e.points.filter(t=>!Number.isNaN(t.y));let x=e.points,u=(0,i.jvg)().x(function(t){return t.x}).y(function(t){return t.y}).curve(i.$0Z),y=t.append("path").attr("d",u(x)).attr("id","edge"+l).attr("class","relation"),b="";r.arrowMarkerAbsolute&&(b=(b=(b=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),1==a.relation.lineType&&y.attr("class","relation dashed-line"),10==a.relation.lineType&&y.attr("class","relation dotted-line"),"none"!==a.relation.type1&&y.attr("marker-start","url("+b+"#"+f(a.relation.type1)+"Start)"),"none"!==a.relation.type2&&y.attr("marker-end","url("+b+"#"+f(a.relation.type2)+"End)");let m=e.points.length,w=o.u.calcLabelPosition(e.points);if(d=w.x,s=w.y,m%2!=0&&m>1){let t=o.u.calcCardinalityPosition("none"!==a.relation.type1,e.points,e.points[0]),r=o.u.calcCardinalityPosition("none"!==a.relation.type2,e.points,e.points[m-1]);o.l.debug("cardinality_1_point "+JSON.stringify(t)),o.l.debug("cardinality_2_point "+JSON.stringify(r)),p=t.x,g=t.y,h=r.x,c=r.y}if(void 0!==a.title){let e=t.append("g").attr("class","classLabel"),i=e.append("text").attr("class","label").attr("x",d).attr("y",s).attr("fill","red").attr("text-anchor","middle").text(a.title);window.label=i;let n=i.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",n.x-r.padding/2).attr("y",n.y-r.padding/2).attr("width",n.width+r.padding).attr("height",n.height+r.padding)}o.l.info("Rendering relation "+JSON.stringify(a)),void 0!==a.relationTitle1&&"none"!==a.relationTitle1&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",p).attr("y",g).attr("fill","black").attr("font-size","6").text(a.relationTitle1),void 0!==a.relationTitle2&&"none"!==a.relationTitle2&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",h).attr("y",c).attr("fill","black").attr("font-size","6").text(a.relationTitle2),l++},drawNote:function(t,e,a,r){o.l.debug("Rendering note ",e,a);let i=e.id,n={id:i,text:e.text,width:0,height:0},d=t.append("g").attr("id",i).attr("class","classGroup"),l=d.append("text").attr("y",a.textHeight+a.padding).attr("x",0),s=JSON.parse(`"${e.text}"`).split("\n");s.forEach(function(t){o.l.debug(`Adding line: ${t}`),l.append("tspan").text(t).attr("class","title").attr("dy",a.textHeight)});let p=d.node().getBBox(),g=d.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",p.width+2*a.padding).attr("height",p.height+s.length*a.textHeight+a.padding+.5*a.dividerMargin).node().getBBox().width;return l.node().childNodes.forEach(function(t){t.setAttribute("x",(g-t.getBBox().width)/2)}),n.width=g,n.height=p.height+s.length*a.textHeight+a.padding+.5*a.dividerMargin,n}},h={},c=function(t){let e=Object.entries(h).find(e=>e[1].label===t);if(e)return e[0]},f=function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},x={parser:r.p,db:r.d,renderer:{draw:function(t,e,a,r){let l;let s=(0,o.c)().class;h={},o.l.info("Rendering diagram "+t);let p=(0,o.c)().securityLevel;"sandbox"===p&&(l=(0,i.Ys)("#i"+e));let x="sandbox"===p?(0,i.Ys)(l.nodes()[0].contentDocument.body):(0,i.Ys)("body"),u=x.select(`[id='${e}']`);f(u);let y=new d.k({multigraph:!0});y.setGraph({isMultiGraph:!0}),y.setDefaultEdgeLabel(function(){return{}});let b=r.db.getClasses();for(let t of Object.keys(b)){let e=b[t],a=g.drawClass(u,e,s,r);h[a.id]=a,y.setNode(a.id,a),o.l.info("Org height: "+a.height)}r.db.getRelations().forEach(function(t){o.l.info("tjoho"+c(t.id1)+c(t.id2)+JSON.stringify(t)),y.setEdge(c(t.id1),c(t.id2),{relation:t},t.title||"DEFAULT")}),r.db.getNotes().forEach(function(t){o.l.debug(`Adding note: ${JSON.stringify(t)}`);let e=g.drawNote(u,t,s,r);h[e.id]=e,y.setNode(e.id,e),t.class&&t.class in b&&y.setEdge(t.id,c(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),(0,n.bK)(y),y.nodes().forEach(function(t){void 0!==t&&void 0!==y.node(t)&&(o.l.debug("Node "+t+": "+JSON.stringify(y.node(t))),x.select("#"+(r.db.lookUpDomId(t)||t)).attr("transform","translate("+(y.node(t).x-y.node(t).width/2)+","+(y.node(t).y-y.node(t).height/2)+" )"))}),y.edges().forEach(function(t){void 0!==t&&void 0!==y.edge(t)&&(o.l.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(y.edge(t))),g.drawEdge(u,y.edge(t),y.edge(t).relation,s,r))});let m=u.node().getBBox(),w=m.width+40,k=m.height+40;(0,o.i)(u,k,w,s.useMaxWidth);let E=`${m.x-20} ${m.y-20} ${w} ${k}`;o.l.debug(`viewBox ${E}`),u.attr("viewBox",E)}},styles:r.s,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,r.d.clear()}}}}]); \ No newline at end of file diff --git a/_next/static/chunks/4015.e2792bada91f537a.js b/_next/static/chunks/4015.e2792bada91f537a.js new file mode 100644 index 0000000..624d0fd --- /dev/null +++ b/_next/static/chunks/4015.e2792bada91f537a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4015],{6060:function(e,t,n){n.d(t,{c:function(){return a}});var r=n(4279),i=n(9753),l=n(4917);function a(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:l.Z(e.nodes(),function(t){var n=e.node(t),i=e.parent(t),l={v:t};return r.Z(n)||(l.value=n),r.Z(i)||(l.parent=i),l}),edges:l.Z(e.edges(),function(t){var n=e.edge(t),i={v:t.v,w:t.w};return r.Z(t.name)||(i.name=t.name),r.Z(n)||(i.value=n),i})};return r.Z(e.graph())||(t.value=i.Z(e.graph())),t}n(8805)},4015:function(e,t,n){n.d(t,{r:function(){return O}});var r=n(1316),i=n(6060),l=n(585),a=n(1835),d=n(5625),o=n(5276),s=n(4218);let h={},c={},g={},f=()=>{c={},g={},h={}},u=(e,t)=>(a.l.trace("In isDescendant",t," ",e," = ",c[t].includes(e)),!!c[t].includes(e)),w=(e,t)=>(a.l.info("Descendants of ",t," is ",c[t]),a.l.info("Edge is ",e),e.v!==t&&e.w!==t&&(c[t]?c[t].includes(e.v)||u(e.v,t)||u(e.w,t)||c[t].includes(e.w):(a.l.debug("Tilt, ",t,",not in descendants"),!1))),p=(e,t,n,r)=>{a.l.warn("Copying children of ",e,"root",r,"data",t.node(e),r);let i=t.children(e)||[];e!==r&&i.push(e),a.l.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(i=>{if(t.children(i).length>0)p(i,t,n,r);else{let l=t.node(i);a.l.info("cp ",i," to ",r," with parent ",e),n.setNode(i,l),r!==t.parent(i)&&(a.l.warn("Setting parent",i,t.parent(i)),n.setParent(i,t.parent(i))),e!==r&&i!==e?(a.l.debug("Setting parent",i,e),n.setParent(i,e)):(a.l.info("In copy ",e,"root",r,"data",t.node(e),r),a.l.debug("Not Setting parent for node=",i,"cluster!==rootId",e!==r,"node!==clusterId",i!==e));let d=t.edges(i);a.l.debug("Copying Edges",d),d.forEach(i=>{a.l.info("Edge",i);let l=t.edge(i.v,i.w,i.name);a.l.info("Edge data",l,r);try{w(i,r)?(a.l.info("Copying as ",i.v,i.w,l,i.name),n.setEdge(i.v,i.w,l,i.name),a.l.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):a.l.info("Skipping copy of edge ",i.v,"-->",i.w," rootId: ",r," clusterId:",e)}catch(e){a.l.error(e)}})}a.l.debug("Removing node",i),t.removeNode(i)})},v=(e,t)=>{let n=t.children(e),r=[...n];for(let i of n)g[i]=e,r=[...r,...v(i,t)];return r},y=(e,t)=>{a.l.trace("Searching",e);let n=t.children(e);if(a.l.trace("Searching children of id ",e,n),n.length<1)return a.l.trace("This is a valid node",e),e;for(let r of n){let n=y(r,t);if(n)return a.l.trace("Found replacement for",e," => ",n),n}},x=e=>h[e]&&h[e].externalConnections&&h[e]?h[e].id:e,m=(e,t)=>{if(!e||t>10){a.l.debug("Opting out, no graph ");return}for(let t of(a.l.debug("Opting in, graph "),e.nodes().forEach(function(t){e.children(t).length>0&&(a.l.warn("Cluster identified",t," Replacement id in edges: ",y(t,e)),c[t]=v(t,e),h[t]={id:y(t,e),clusterData:e.node(t)})}),e.nodes().forEach(function(t){let n=e.children(t),r=e.edges();n.length>0?(a.l.debug("Cluster identified",t,c),r.forEach(e=>{e.v!==t&&e.w!==t&&u(e.v,t)^u(e.w,t)&&(a.l.warn("Edge: ",e," leaves cluster ",t),a.l.warn("Descendants of XXX ",t,": ",c[t]),h[t].externalConnections=!0)})):a.l.debug("Not a cluster ",t,c)}),Object.keys(h))){let n=h[t].id,r=e.parent(n);r!==t&&h[r]&&!h[r].externalConnections&&(h[t].id=r)}e.edges().forEach(function(t){let n=e.edge(t);a.l.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),a.l.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e.edge(t)));let r=t.v,i=t.w;if(a.l.warn("Fix XXX",h,"ids:",t.v,t.w,"Translating: ",h[t.v]," --- ",h[t.w]),h[t.v]&&h[t.w]&&h[t.v]===h[t.w]){a.l.warn("Fixing and trixing link to self - removing XXX",t.v,t.w,t.name),a.l.warn("Fixing and trixing - removing XXX",t.v,t.w,t.name),r=x(t.v),i=x(t.w),e.removeEdge(t.v,t.w,t.name);let l=t.w+"---"+t.v;e.setNode(l,{domId:l,id:l,labelStyle:"",labelText:n.label,padding:0,shape:"labelRect",style:""});let d=structuredClone(n),o=structuredClone(n);d.label="",d.arrowTypeEnd="none",o.label="",d.fromCluster=t.v,o.toCluster=t.v,e.setEdge(r,l,d,t.name+"-cyclic-special"),e.setEdge(l,i,o,t.name+"-cyclic-special")}else(h[t.v]||h[t.w])&&(a.l.warn("Fixing and trixing - removing XXX",t.v,t.w,t.name),r=x(t.v),i=x(t.w),e.removeEdge(t.v,t.w,t.name),r!==t.v&&(h[e.parent(r)].externalConnections=!0,n.fromCluster=t.v),i!==t.w&&(h[e.parent(i)].externalConnections=!0,n.toCluster=t.w),a.l.warn("Fix Replacing with XXX",r,i,t.name),e.setEdge(r,i,n,t.name))}),a.l.warn("Adjusted Graph",i.c(e)),b(e,0),a.l.trace(h)},b=(e,t)=>{if(a.l.warn("extractor - ",t,i.c(e),e.children("D")),t>10){a.l.error("Bailing out");return}let n=e.nodes(),r=!1;for(let t of n){let n=e.children(t);r=r||n.length>0}if(!r){a.l.debug("Done, no node has children",e.nodes());return}for(let r of(a.l.debug("Nodes = ",n,t),n))if(a.l.debug("Extracting node",r,h,h[r]&&!h[r].externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),h[r]){if(!h[r].externalConnections&&e.children(r)&&e.children(r).length>0){a.l.warn("Cluster without external connections, without a parent and with children",r,t);let n="TB"===e.graph().rankdir?"LR":"TB";h[r]&&h[r].clusterData&&h[r].clusterData.dir&&(n=h[r].clusterData.dir,a.l.warn("Fixing dir",h[r].clusterData.dir,n));let l=new d.k({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});a.l.warn("Old graph before copy",i.c(e)),p(r,e,l,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:h[r].clusterData,labelText:h[r].labelText,graph:l}),a.l.warn("New graph after copy node: (",r,")",i.c(l)),a.l.debug("Old graph after copy",i.c(e))}else a.l.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!h[r].externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),a.l.debug(h)}else a.l.debug("Not a cluster",r,t);for(let r of(n=e.nodes(),a.l.warn("New list of nodes",n),n)){let n=e.node(r);a.l.warn(" Now next level",r,n),n.clusterNode&&b(n.graph,t+1)}},E=(e,t)=>{if(0===t.length)return[];let n=Object.assign(t);return t.forEach(t=>{let r=e.children(t),i=E(e,r);n=[...n,...i]}),n},N=e=>E(e,e.children()),C={rect:(e,t)=>{a.l.info("Creating subgraph rect for ",t.id,t);let n=(0,a.c)(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),i=r.insert("rect",":first-child"),d=(0,a.m)(n.flowchart.htmlLabels),h=r.insert("g").attr("class","cluster-label"),c="markdown"===t.labelType?(0,o.a)(h,t.labelText,{style:t.labelStyle,useHtmlLabels:d}):h.node().appendChild((0,l.c)(t.labelText,t.labelStyle,void 0,!0)),g=c.getBBox();if((0,a.m)(n.flowchart.htmlLabels)){let e=c.children[0],t=(0,s.Ys)(c);g=e.getBoundingClientRect(),t.attr("width",g.width),t.attr("height",g.height)}let f=0*t.padding,u=t.width<=g.width+f?g.width+f:t.width;t.width<=g.width+f?t.diff=(g.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,a.l.trace("Data ",t,JSON.stringify(t)),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-u/2).attr("y",t.y-t.height/2-f/2).attr("width",u).attr("height",t.height+f);let{subGraphTitleTopMargin:w}=(0,l.g)(n);d?h.attr("transform",`translate(${t.x-g.width/2}, ${t.y-t.height/2+w})`):h.attr("transform",`translate(${t.x}, ${t.y-t.height/2+w})`);let p=i.node().getBBox();return t.width=p.width,t.height=p.height,t.intersect=function(e){return(0,l.i)(t,e)},r},roundedWithTitle:(e,t)=>{let n=(0,a.c)(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),i=r.insert("rect",":first-child"),d=r.insert("g").attr("class","cluster-label"),o=r.append("rect"),h=d.node().appendChild((0,l.c)(t.labelText,t.labelStyle,void 0,!0)),c=h.getBBox();if((0,a.m)(n.flowchart.htmlLabels)){let e=h.children[0],t=(0,s.Ys)(h);c=e.getBoundingClientRect(),t.attr("width",c.width),t.attr("height",c.height)}c=h.getBBox();let g=0*t.padding,f=g/2,u=t.width<=c.width+t.padding?c.width+t.padding:t.width;t.width<=c.width+t.padding?t.diff=(c.width+0*t.padding-t.width)/2:t.diff=-t.padding/2,i.attr("class","outer").attr("x",t.x-u/2-f).attr("y",t.y-t.height/2-f).attr("width",u+g).attr("height",t.height+g),o.attr("class","inner").attr("x",t.x-u/2-f).attr("y",t.y-t.height/2-f+c.height-1).attr("width",u+g).attr("height",t.height+g-c.height-3);let{subGraphTitleTopMargin:w}=(0,l.g)(n);d.attr("transform",`translate(${t.x-c.width/2}, ${t.y-t.height/2-t.padding/3+((0,a.m)(n.flowchart.htmlLabels)?5:3)+w})`);let p=i.node().getBBox();return t.height=p.height,t.intersect=function(e){return(0,l.i)(t,e)},r},noteGroup:(e,t)=>{let n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+i).attr("height",t.height+i).attr("fill","none");let d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.intersect=function(e){return(0,l.i)(t,e)},n},divider:(e,t)=>{let n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding;r.attr("class","divider").attr("x",t.x-t.width/2-i/2).attr("y",t.y-t.height/2).attr("width",t.width+i).attr("height",t.height+i);let a=r.node().getBBox();return t.width=a.width,t.height=a.height,t.diff=-t.padding/2,t.intersect=function(e){return(0,l.i)(t,e)},n}},X={},S=(e,t)=>{a.l.trace("Inserting cluster");let n=t.shape||"rect";X[t.id]=C[n](e,t)},D=()=>{X={}},B=async(e,t,n,d,o,s)=>{a.l.info("Graph in recursive render: XXX",i.c(t),o);let c=t.graph().rankdir;a.l.trace("Dir in recursive render - dir:",c);let g=e.insert("g").attr("class","root");t.nodes()?a.l.info("Recursive render XXX",t.nodes()):a.l.info("No nodes found for",t),t.edges().length>0&&a.l.trace("Recursive edges",t.edge(t.edges()[0]));let f=g.insert("g").attr("class","clusters"),u=g.insert("g").attr("class","edgePaths"),w=g.insert("g").attr("class","edgeLabels"),p=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(e){let r=t.node(e);if(void 0!==o){let n=JSON.parse(JSON.stringify(o.clusterData));a.l.info("Setting data for cluster XXX (",e,") ",n,o),t.setNode(o.id,n),t.parent(e)||(a.l.trace("Setting parent",e,o.id),t.setParent(e,o.id,n))}if(a.l.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),r&&r.clusterNode){a.l.info("Cluster identified",e,r.width,t.node(e));let i=await B(p,r.graph,n,d,t.node(e),s),o=i.elem;(0,l.u)(r,o),r.diff=i.diff||0,a.l.info("Node bounds (abc123)",e,r,r.width,r.x,r.y),(0,l.s)(o,r),a.l.warn("Recursive render complete ",o,r)}else t.children(e).length>0?(a.l.info("Cluster - the non recursive path XXX",e,r.id,r,t),a.l.info(y(r.id,t)),h[r.id]={id:y(r.id,t),node:r}):(a.l.info("Node - the non recursive path",e,r.id,r),await (0,l.e)(p,t.node(e),c))})),t.edges().forEach(function(e){let n=t.edge(e.v,e.w,e.name);a.l.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),a.l.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),a.l.info("Fix",h,"ids:",e.v,e.w,"Translating: ",h[e.v],h[e.w]),(0,l.f)(w,n)}),t.edges().forEach(function(e){a.l.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e))}),a.l.info("#############################################"),a.l.info("### Layout ###"),a.l.info("#############################################"),a.l.info(t),(0,r.bK)(t),a.l.info("Graph after layout:",i.c(t));let v=0,{subGraphTitleTotalMargin:x}=(0,l.g)(s);return N(t).forEach(function(e){let n=t.node(e);a.l.info("Position "+e+": "+JSON.stringify(t.node(e))),a.l.info("Position "+e+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n&&n.clusterNode?(n.y+=x,(0,l.p)(n)):t.children(e).length>0?(n.height+=x,S(f,n),h[n.id].node=n):(n.y+=x/2,(0,l.p)(n))}),t.edges().forEach(function(e){let r=t.edge(e);a.l.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(r),r),r.points.forEach(e=>e.y+=x/2);let i=(0,l.h)(u,e,r,h,n,t,d);(0,l.j)(r,i)}),t.nodes().forEach(function(e){let n=t.node(e);a.l.info(e,n.type,n.diff),"group"===n.type&&(v=n.diff)}),{elem:g,diff:v}},O=async(e,t,n,r,d)=>{(0,l.a)(e,n,r,d),(0,l.b)(),(0,l.d)(),D(),f(),a.l.warn("Graph at first:",JSON.stringify(i.c(t))),m(t),a.l.warn("Graph after:",JSON.stringify(i.c(t)));let o=(0,a.c)();await B(e,t,r,d,void 0,o)}},9753:function(e,t,n){var r=n(6938);t.Z=function(e){return(0,r.Z)(e,4)}}}]); \ No newline at end of file diff --git a/_next/static/chunks/407.b369ed23c3207ea1.js b/_next/static/chunks/407.b369ed23c3207ea1.js new file mode 100644 index 0000000..ed10fb1 --- /dev/null +++ b/_next/static/chunks/407.b369ed23c3207ea1.js @@ -0,0 +1,115 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[407],{3349:function(e,t,r){r.d(t,{a:function(){return o}});var l=r(6225);function o(e,t){var r=e.append("foreignObject").attr("width","100000"),o=r.append("xhtml:div");o.attr("xmlns","http://www.w3.org/1999/xhtml");var a=t.label;switch(typeof a){case"function":o.insert(a);break;case"object":o.insert(function(){return a});break;default:o.html(a)}l.bg(o,t.labelStyle),o.style("display","inline-block"),o.style("white-space","nowrap");var n=o.node().getBoundingClientRect();return r.attr("width",n.width).attr("height",n.height),r}},6225:function(e,t,r){r.d(t,{$p:function(){return d},O1:function(){return n},WR:function(){return p},bF:function(){return a},bg:function(){return c}});var l=r(87),o=r(7124);function a(e,t){return!!e.children(t).length}function n(e){return s(e.v)+":"+s(e.w)+":"+s(e.name)}var i=/:/g;function s(e){return e?String(e).replace(i,"\\:"):""}function c(e,t){t&&e.attr("style",t)}function d(e,t,r){t&&e.attr("class",t).attr("class",r+" "+e.attr("class"))}function p(e,t){var r=t.graph();if(l.Z(r)){var a=r.transition;if(o.Z(a))return a(e)}return e}},9792:function(e,t,r){var l=r(1691),o=r(1610);t.Z=(e,t)=>l.Z.lang.round(o.Z.parse(e)[t])},407:function(e,t,r){r.d(t,{diagram:function(){return n}});var l=r(7474),o=r(8583),a=r(1835);r(4218),r(5625),r(1316),r(6060),r(7484),r(6574),r(7856);let n={parser:l.p,db:l.f,renderer:o.f,styles:o.a,init:e=>{e.flowchart||(e.flowchart={}),e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,(0,a.p)({flowchart:{arrowMarkerAbsolute:e.arrowMarkerAbsolute}}),o.f.setConf(e.flowchart),l.f.clear(),l.f.setGen("gen-2")}}},8583:function(e,t,r){r.d(t,{a:function(){return h},f:function(){return f}});var l=r(5625),o=r(4218),a=r(1835),n=r(4015),i=r(3349),s=r(9792),c=r(1117);let d={},p=async function(e,t,r,l,o,n){let s=l.select(`[id="${r}"]`);for(let r of Object.keys(e)){let l;let c=e[r],d="default";c.classes.length>0&&(d=c.classes.join(" ")),d+=" flowchart-label";let p=(0,a.k)(c.styles),b=void 0!==c.text?c.text:c.id;if(a.l.info("vertex",c,c.labelType),"markdown"===c.labelType)a.l.info("vertex",c,c.labelType);else if((0,a.m)((0,a.c)().flowchart.htmlLabels)){let e={label:b};(l=(0,i.a)(s,e).node()).parentNode.removeChild(l)}else{let e=o.createElementNS("http://www.w3.org/2000/svg","text");for(let t of(e.setAttribute("style",p.labelStyle.replace("color:","fill:")),b.split(a.e.lineBreakRegex))){let r=o.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","1"),r.textContent=t,e.appendChild(r)}l=e}let u=0,f="";switch(c.type){case"round":u=5,f="rect";break;case"square":case"group":default:f="rect";break;case"diamond":f="question";break;case"hexagon":f="hexagon";break;case"odd":case"odd_right":f="rect_left_inv_arrow";break;case"lean_right":f="lean_right";break;case"lean_left":f="lean_left";break;case"trapezoid":f="trapezoid";break;case"inv_trapezoid":f="inv_trapezoid";break;case"circle":f="circle";break;case"ellipse":f="ellipse";break;case"stadium":f="stadium";break;case"subroutine":f="subroutine";break;case"cylinder":f="cylinder";break;case"doublecircle":f="doublecircle"}let w=await (0,a.r)(b,(0,a.c)());t.setNode(c.id,{labelStyle:p.labelStyle,shape:f,labelText:w,labelType:c.labelType,rx:u,ry:u,class:d,style:p.style,id:c.id,link:c.link,linkTarget:c.linkTarget,tooltip:n.db.getTooltip(c.id)||"",domId:n.db.lookUpDomId(c.id),haveCallback:c.haveCallback,width:"group"===c.type?500:void 0,dir:c.dir,type:c.type,props:c.props,padding:(0,a.c)().flowchart.padding}),a.l.info("setNode",{labelStyle:p.labelStyle,labelType:c.labelType,shape:f,labelText:w,rx:u,ry:u,class:d,style:p.style,id:c.id,domId:n.db.lookUpDomId(c.id),width:"group"===c.type?500:void 0,type:c.type,dir:c.dir,props:c.props,padding:(0,a.c)().flowchart.padding})}},b=async function(e,t,r){let l,n;a.l.info("abc78 edges = ",e);let i=0,s={};if(void 0!==e.defaultStyle){let t=(0,a.k)(e.defaultStyle);l=t.style,n=t.labelStyle}for(let r of e){i++;let c="L-"+r.start+"-"+r.end;void 0===s[c]?s[c]=0:s[c]++,a.l.info("abc78 new entry",c,s[c]);let p=c+"-"+s[c];a.l.info("abc78 new link id to be used is",c,p,s[c]);let b="LS-"+r.start,u="LE-"+r.end,f={style:"",labelStyle:""};switch(f.minlen=r.length||1,"arrow_open"===r.type?f.arrowhead="none":f.arrowhead="normal",f.arrowTypeStart="arrow_open",f.arrowTypeEnd="arrow_open",r.type){case"double_arrow_cross":f.arrowTypeStart="arrow_cross";case"arrow_cross":f.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":f.arrowTypeStart="arrow_point";case"arrow_point":f.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":f.arrowTypeStart="arrow_circle";case"arrow_circle":f.arrowTypeEnd="arrow_circle"}let w="",h="";switch(r.stroke){case"normal":w="fill:none;",void 0!==l&&(w=l),void 0!==n&&(h=n),f.thickness="normal",f.pattern="solid";break;case"dotted":f.thickness="normal",f.pattern="dotted",f.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":f.thickness="thick",f.pattern="solid",f.style="stroke-width: 3.5px;fill:none;";break;case"invisible":f.thickness="invisible",f.pattern="solid",f.style="stroke-width: 0;fill:none;"}if(void 0!==r.style){let e=(0,a.k)(r.style);w=e.style,h=e.labelStyle}f.style=f.style+=w,f.labelStyle=f.labelStyle+=h,void 0!==r.interpolate?f.curve=(0,a.n)(r.interpolate,o.c_6):void 0!==e.defaultInterpolate?f.curve=(0,a.n)(e.defaultInterpolate,o.c_6):f.curve=(0,a.n)(d.curve,o.c_6),void 0===r.text?void 0!==r.style&&(f.arrowheadStyle="fill: #333"):(f.arrowheadStyle="fill: #333",f.labelpos="c"),f.labelType=r.labelType,f.label=await (0,a.r)(r.text.replace(a.e.lineBreakRegex,"\n"),(0,a.c)()),void 0===r.style&&(f.style=f.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),f.labelStyle=f.labelStyle.replace("color:","fill:"),f.id=p,f.classes="flowchart-link "+b+" "+u,t.setEdge(r.start,r.end,f,i)}},u=async function(e,t,r,i){let s,c;a.l.info("Drawing flowchart");let d=i.db.getDirection();void 0===d&&(d="TD");let{securityLevel:u,flowchart:f}=(0,a.c)(),w=f.nodeSpacing||50,h=f.rankSpacing||50;"sandbox"===u&&(s=(0,o.Ys)("#i"+t));let g="sandbox"===u?(0,o.Ys)(s.nodes()[0].contentDocument.body):(0,o.Ys)("body"),y="sandbox"===u?s.nodes()[0].contentDocument:document,k=new l.k({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:w,ranksep:h,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}}),x=i.db.getSubGraphs();a.l.info("Subgraphs - ",x);for(let e=x.length-1;e>=0;e--)c=x[e],a.l.info("Subgraph - ",c),i.db.addVertex(c.id,{text:c.title,type:c.labelType},"group",void 0,c.classes,c.dir);let v=i.db.getVertices(),m=i.db.getEdges();a.l.info("Edges",m);let S=0;for(S=x.length-1;S>=0;S--){c=x[S],(0,o.td_)("cluster").append("text");for(let e=0;e{let r=s.Z,l=r(e,"r"),o=r(e,"g"),a=r(e,"b");return c.Z(l,o,a,t)},h=e=>`.label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span,p { + color: ${e.titleColor}; + } + + .label text,span,p { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${e.arrowheadColor}; + } + + .edgePath .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${w(e.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${e.clusterBkg}; + stroke: ${e.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span,p { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } +`}}]); \ No newline at end of file diff --git a/_next/static/chunks/4162.14c0c5f3a2266d60.js b/_next/static/chunks/4162.14c0c5f3a2266d60.js new file mode 100644 index 0000000..03fae1e --- /dev/null +++ b/_next/static/chunks/4162.14c0c5f3a2266d60.js @@ -0,0 +1,46 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4162],{4162:function(t,e,r){r.d(e,{diagram:function(){return I}});var i=r(1835),a=r(5625),n=r(4218),s=r(1316);let o=[];for(let t=0;t<256;++t)o.push((t+256).toString(16).slice(1));var l=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,c=function(t){let e;if(!("string"==typeof t&&l.test(t)))throw TypeError("Invalid UUID");let r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=255&e,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=255&e,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=255&e,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=255&e,r};function h(t,e){return t<>>32-e}let d=function(t,e,r){function i(t,e,i,a){var n;if("string"==typeof t&&(t=function(t){t=unescape(encodeURIComponent(t));let e=[];for(let r=0;r>>0;c=l,l=o,o=h(s,30)>>>0,s=n,n=a}r[0]=r[0]+n>>>0,r[1]=r[1]+s>>>0,r[2]=r[2]+o>>>0,r[3]=r[3]+l>>>0,r[4]=r[4]+c>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,255&r[0],r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,255&r[1],r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,255&r[2],r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,255&r[3],r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,255&r[4]]});r(7484),r(6574),r(7856);var y=function(){var t=function(t,e,r,i){for(r=r||{},i=t.length;i--;r[t[i]]=e);return r},e=[6,8,10,20,22,24,26,27,28],r=[1,10],i=[1,11],a=[1,12],n=[1,13],s=[1,14],o=[1,15],l=[1,21],c=[1,22],h=[1,23],d=[1,24],y=[1,25],u=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],p=[1,34],_=[27,28,46,47],f=[41,42,43,44,45],E=[17,34],m=[1,54],g=[1,53],O=[17,34,36,38],b={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(t,e,r,i,a,n,s){var o=n.length-1;switch(a){case 1:break;case 2:case 6:case 7:this.$=[];break;case 3:n[o-1].push(n[o]),this.$=n[o-1];break;case 4:case 5:case 19:case 43:case 27:case 28:case 31:this.$=n[o];break;case 8:i.addEntity(n[o-4]),i.addEntity(n[o-2]),i.addRelationship(n[o-4],n[o],n[o-2],n[o-3]);break;case 9:i.addEntity(n[o-3]),i.addAttributes(n[o-3],n[o-1]);break;case 10:i.addEntity(n[o-2]);break;case 11:i.addEntity(n[o]);break;case 12:i.addEntity(n[o-6],n[o-4]),i.addAttributes(n[o-6],n[o-1]);break;case 13:i.addEntity(n[o-5],n[o-3]);break;case 14:i.addEntity(n[o-3],n[o-1]);break;case 15:case 16:this.$=n[o].trim(),i.setAccTitle(this.$);break;case 17:case 18:this.$=n[o].trim(),i.setAccDescription(this.$);break;case 20:case 41:case 42:case 32:this.$=n[o].replace(/"/g,"");break;case 21:case 29:this.$=[n[o]];break;case 22:n[o].push(n[o-1]),this.$=n[o];break;case 23:this.$={attributeType:n[o-1],attributeName:n[o]};break;case 24:this.$={attributeType:n[o-2],attributeName:n[o-1],attributeKeyTypeList:n[o]};break;case 25:this.$={attributeType:n[o-2],attributeName:n[o-1],attributeComment:n[o]};break;case 26:this.$={attributeType:n[o-3],attributeName:n[o-2],attributeKeyTypeList:n[o-1],attributeComment:n[o]};break;case 30:n[o-2].push(n[o]),this.$=n[o-2];break;case 33:this.$={cardA:n[o],relType:n[o-1],cardB:n[o-2]};break;case 34:this.$=i.Cardinality.ZERO_OR_ONE;break;case 35:this.$=i.Cardinality.ZERO_OR_MORE;break;case 36:this.$=i.Cardinality.ONE_OR_MORE;break;case 37:this.$=i.Cardinality.ONLY_ONE;break;case 38:this.$=i.Cardinality.MD_PARENT;break;case 39:this.$=i.Identification.NON_IDENTIFYING;break;case 40:this.$=i.Identification.IDENTIFYING}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:i,24:a,26:n,27:s,28:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:i,24:a,26:n,27:s,28:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:l,42:c,43:h,44:d,45:y}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(u,[2,19]),t(u,[2,20]),t(e,[2,4]),{11:29,27:s,28:o},{16:30,17:[1,31],29:32,30:33,34:p},{11:35,27:s,28:o},{40:36,46:[1,37],47:[1,38]},t(_,[2,34]),t(_,[2,35]),t(_,[2,36]),t(_,[2,37]),t(_,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:p},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:l,42:c,43:h,44:d,45:y},t(f,[2,39]),t(f,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(E,[2,23],{32:50,33:51,35:52,37:m,38:g}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(E,[2,24],{33:56,36:[1,57],38:g}),t(E,[2,25]),t(O,[2,29]),t(E,[2,32]),t(O,[2,31]),{16:58,17:[1,59],29:32,30:33,34:p},t(E,[2,26]),{35:60,37:m},{17:[1,61]},t(e,[2,13]),t(O,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var r=Error(t);throw r.hash=e,r}},parse:function(t){var e=this,r=[0],i=[],a=[null],n=[],s=this.table,o="",l=0,c=0,h=n.slice.call(arguments,1),d=Object.create(this.lexer),y={yy:{}};for(var u in this.yy)Object.prototype.hasOwnProperty.call(this.yy,u)&&(y.yy[u]=this.yy[u]);d.setInput(t,y.yy),y.yy.lexer=d,y.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var p=d.yylloc;n.push(p);var _=d.options&&d.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,E,m,g,O,b,k,R,N={};;){if(E=r[r.length-1],this.defaultActions[E]?m=this.defaultActions[E]:(null==f&&(f=function(){var t;return"number"!=typeof(t=i.pop()||d.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}()),m=s[E]&&s[E][f]),void 0===m||!m.length||!m[0]){var T="";for(O in R=[],s[E])this.terminals_[O]&&O>2&&R.push("'"+this.terminals_[O]+"'");T=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+R.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(T,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:p,expected:R})}if(m[0]instanceof Array&&m.length>1)throw Error("Parse Error: multiple actions possible at state: "+E+", token: "+f);switch(m[0]){case 1:r.push(f),a.push(d.yytext),n.push(d.yylloc),r.push(m[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,p=d.yylloc;break;case 2:if(b=this.productions_[m[1]][1],N.$=a[a.length-b],N._$={first_line:n[n.length-(b||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(b||1)].first_column,last_column:n[n.length-1].last_column},_&&(N._$.range=[n[n.length-(b||1)].range[0],n[n.length-1].range[1]]),void 0!==(g=this.performAction.apply(N,[o,c,l,y.yy,m[1],a,n].concat(h))))return g;b&&(r=r.slice(0,-1*b*2),a=a.slice(0,-1*b),n=n.slice(0,-1*b)),r.push(this.productions_[m[1]][0]),a.push(N.$),n.push(N._$),k=s[r[r.length-2]][r[r.length-1]],r.push(k);break;case 3:return!0}}return!0}};function k(){this.yy={}}return b.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===i.length?this.yylloc.first_column:0)+i[i.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,i,a;if(this.options.backtrack_lexer&&(a={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(a.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack)for(var n in a)this[n]=a[n];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,r,i,a=this._currentRules(),n=0;ne[0].length)){if(e=r,i=n,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,a[n])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,i){switch(r){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:case 15:case 20:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 16:return 37;case 17:case 18:return 34;case 19:return 38;case 21:return this.popState(),17;case 22:case 54:return e.yytext[0];case 23:return 18;case 24:return 19;case 25:case 29:case 30:case 43:return 41;case 26:case 27:case 28:case 36:case 38:case 45:return 43;case 31:case 32:case 33:case 34:case 35:case 37:case 44:return 42;case 39:case 40:case 41:case 42:return 44;case 46:return 45;case 47:case 50:case 51:case 52:return 46;case 48:case 49:return 47;case 53:return 27;case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}},k.prototype=b,b.Parser=k,new k}();y.parser=y;let u={},p=[],_=function(t,e){return void 0===u[t]?(u[t]={attributes:[],alias:e},i.l.info("Added new entity :",t)):u[t]&&!u[t].alias&&e&&(u[t].alias=e,i.l.info(`Add alias '${e}' to entity '${t}'`)),u[t]},f={Cardinality:{ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},Identification:{NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},getConfig:()=>(0,i.c)().er,addEntity:_,addAttributes:function(t,e){let r,a=_(t);for(r=e.length-1;r>=0;r--)a.attributes.push(e[r]),i.l.debug("Added attribute ",e[r].attributeName)},getEntities:()=>u,addRelationship:function(t,e,r,a){let n={entityA:t,roleA:e,entityB:r,relSpec:a};p.push(n),i.l.debug("Added new relationship :",n)},getRelationships:()=>p,clear:function(){u={},p=[],(0,i.v)()},setAccTitle:i.s,getAccTitle:i.g,setAccDescription:i.b,getAccDescription:i.a,setDiagramTitle:i.q,getDiagramTitle:i.t},E={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},m={ERMarkers:E,insertMarkers:function(t,e){let r;t.append("defs").append("marker").attr("id",E.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",E.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",E.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",E.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),(r=t.append("defs").append("marker").attr("id",E.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),(r=t.append("defs").append("marker").attr("id",E.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",E.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",E.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),(r=t.append("defs").append("marker").attr("id",E.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),(r=t.append("defs").append("marker").attr("id",E.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},g=/[^\dA-Za-z](\W)*/g,O={},b=new Map,k=(t,e,r)=>{let a=O.entityPadding/3,n=O.entityPadding/3,s=.85*O.fontSize,o=e.node().getBBox(),l=[],c=!1,h=!1,d=0,y=0,u=0,p=0,_=o.height+2*a,f=1;r.forEach(t=>{void 0!==t.attributeKeyTypeList&&t.attributeKeyTypeList.length>0&&(c=!0),void 0!==t.attributeComment&&(h=!0)}),r.forEach(r=>{let n=`${e.node().id}-attr-${f}`,o=0,E=(0,i.x)(r.attributeType),m=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.c)().fontFamily).style("font-size",s+"px").text(E),g=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.c)().fontFamily).style("font-size",s+"px").text(r.attributeName),O={};O.tn=m,O.nn=g;let b=m.node().getBBox(),k=g.node().getBBox();if(d=Math.max(d,b.width),y=Math.max(y,k.width),o=Math.max(b.height,k.height),c){let e=void 0!==r.attributeKeyTypeList?r.attributeKeyTypeList.join(","):"",a=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.c)().fontFamily).style("font-size",s+"px").text(e);O.kn=a;let l=a.node().getBBox();u=Math.max(u,l.width),o=Math.max(o,l.height)}if(h){let e=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.c)().fontFamily).style("font-size",s+"px").text(r.attributeComment||"");O.cn=e;let a=e.node().getBBox();p=Math.max(p,a.width),o=Math.max(o,a.height)}O.height=o,l.push(O),_+=o+2*a,f+=1});let E=4;c&&(E+=2),h&&(E+=2);let m=d+y+u+p,g={width:Math.max(O.minEntityWidth,Math.max(o.width+2*O.entityPadding,m+n*E)),height:r.length>0?_:Math.max(O.minEntityHeight,o.height+2*O.entityPadding)};if(r.length>0){let r=Math.max(0,(g.width-m-n*E)/(E/2));e.attr("transform","translate("+g.width/2+","+(a+o.height/2)+")");let i=o.height+2*a,s="attributeBoxOdd";l.forEach(e=>{let o=i+a+e.height/2;e.tn.attr("transform","translate("+n+","+o+")");let l=t.insert("rect","#"+e.tn.node().id).classed(`er ${s}`,!0).attr("x",0).attr("y",i).attr("width",d+2*n+r).attr("height",e.height+2*a),_=parseFloat(l.attr("x"))+parseFloat(l.attr("width"));e.nn.attr("transform","translate("+(_+n)+","+o+")");let f=t.insert("rect","#"+e.nn.node().id).classed(`er ${s}`,!0).attr("x",_).attr("y",i).attr("width",y+2*n+r).attr("height",e.height+2*a),E=parseFloat(f.attr("x"))+parseFloat(f.attr("width"));if(c){e.kn.attr("transform","translate("+(E+n)+","+o+")");let l=t.insert("rect","#"+e.kn.node().id).classed(`er ${s}`,!0).attr("x",E).attr("y",i).attr("width",u+2*n+r).attr("height",e.height+2*a);E=parseFloat(l.attr("x"))+parseFloat(l.attr("width"))}h&&(e.cn.attr("transform","translate("+(E+n)+","+o+")"),t.insert("rect","#"+e.cn.node().id).classed(`er ${s}`,"true").attr("x",E).attr("y",i).attr("width",p+2*n+r).attr("height",e.height+2*a)),i+=e.height+2*a,s="attributeBoxOdd"===s?"attributeBoxEven":"attributeBoxOdd"})}else g.height=Math.max(O.minEntityHeight,_),e.attr("transform","translate("+g.width/2+","+g.height/2+")");return g},R=function(t,e,r){let a;return Object.keys(e).forEach(function(n){let s=function(t="",e=""){let r=t.replace(g,"");return`${M(e)}${M(r)}${d(t,"28e9f9db-3c8d-5aa5-9faf-44286ae5937c")}`}(n,"entity");b.set(n,s);let o=t.append("g").attr("id",s);a=void 0===a?s:a;let l="text-"+s,c=o.append("text").classed("er entityLabel",!0).attr("id",l).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",(0,i.c)().fontFamily).style("font-size",O.fontSize+"px").text(e[n].alias??n),{width:h,height:y}=k(o,c,e[n].attributes),u=o.insert("rect","#"+l).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",h).attr("height",y).node().getBBox();r.setNode(s,{width:u.width,height:u.height,shape:"rect",id:s})}),a},N=function(t,e){e.nodes().forEach(function(r){void 0!==r&&void 0!==e.node(r)&&t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )")})},T=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},x=0,A=function(t,e,r,a,s){x++;let o=r.edge(b.get(e.entityA),b.get(e.entityB),T(e)),l=(0,n.jvg)().x(function(t){return t.x}).y(function(t){return t.y}).curve(n.$0Z),c=t.insert("path","#"+a).classed("er relationshipLine",!0).attr("d",l(o.points)).style("stroke",O.stroke).style("fill","none");e.relSpec.relType===s.db.Identification.NON_IDENTIFYING&&c.attr("stroke-dasharray","8,8");let h="";switch(O.arrowMarkerAbsolute&&(h=(h=(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),e.relSpec.cardA){case s.db.Cardinality.ZERO_OR_ONE:c.attr("marker-end","url("+h+"#"+m.ERMarkers.ZERO_OR_ONE_END+")");break;case s.db.Cardinality.ZERO_OR_MORE:c.attr("marker-end","url("+h+"#"+m.ERMarkers.ZERO_OR_MORE_END+")");break;case s.db.Cardinality.ONE_OR_MORE:c.attr("marker-end","url("+h+"#"+m.ERMarkers.ONE_OR_MORE_END+")");break;case s.db.Cardinality.ONLY_ONE:c.attr("marker-end","url("+h+"#"+m.ERMarkers.ONLY_ONE_END+")");break;case s.db.Cardinality.MD_PARENT:c.attr("marker-end","url("+h+"#"+m.ERMarkers.MD_PARENT_END+")")}switch(e.relSpec.cardB){case s.db.Cardinality.ZERO_OR_ONE:c.attr("marker-start","url("+h+"#"+m.ERMarkers.ZERO_OR_ONE_START+")");break;case s.db.Cardinality.ZERO_OR_MORE:c.attr("marker-start","url("+h+"#"+m.ERMarkers.ZERO_OR_MORE_START+")");break;case s.db.Cardinality.ONE_OR_MORE:c.attr("marker-start","url("+h+"#"+m.ERMarkers.ONE_OR_MORE_START+")");break;case s.db.Cardinality.ONLY_ONE:c.attr("marker-start","url("+h+"#"+m.ERMarkers.ONLY_ONE_START+")");break;case s.db.Cardinality.MD_PARENT:c.attr("marker-start","url("+h+"#"+m.ERMarkers.MD_PARENT_START+")")}let d=c.node().getTotalLength(),y=c.node().getPointAtLength(.5*d),u="rel"+x,p=t.append("text").classed("er relationshipLabel",!0).attr("id",u).attr("x",y.x).attr("y",y.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",(0,i.c)().fontFamily).style("font-size",O.fontSize+"px").text(e.roleA).node().getBBox();t.insert("rect","#"+u).classed("er relationshipLabelBox",!0).attr("x",y.x-p.width/2).attr("y",y.y-p.height/2).attr("width",p.width).attr("height",p.height)};function M(t=""){return t.length>0?`${t}-`:""}let I={parser:y,db:f,renderer:{setConf:function(t){for(let e of Object.keys(t))O[e]=t[e]},draw:function(t,e,r,o){var l;let c,h;O=(0,i.c)().er,i.l.info("Drawing ER diagram");let d=(0,i.c)().securityLevel;"sandbox"===d&&(c=(0,n.Ys)("#i"+e));let y=("sandbox"===d?(0,n.Ys)(c.nodes()[0].contentDocument.body):(0,n.Ys)("body")).select(`[id='${e}']`);m.insertMarkers(y,O),h=new a.k({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:O.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let u=R(y,o.db.getEntities(),h),p=((l=o.db.getRelationships()).forEach(function(t){h.setEdge(b.get(t.entityA),b.get(t.entityB),{relationship:t},T(t))}),l);(0,s.bK)(h),N(y,h),p.forEach(function(t){A(y,t,h,u,o)});let _=O.diagramPadding;i.u.insertTitle(y,"entityTitleText",O.titleTopMargin,o.db.getDiagramTitle());let f=y.node().getBBox(),E=f.width+2*_,g=f.height+2*_;(0,i.i)(y,g,E,O.useMaxWidth),y.attr("viewBox",`${f.x-_} ${f.y-_} ${E} ${g}`)}},styles:t=>` + .entityBox { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${t.attributeBackgroundColorOdd}; + stroke: ${t.nodeBorder}; + } + + .attributeBoxEven { + fill: ${t.attributeBackgroundColorEven}; + stroke: ${t.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${t.tertiaryColor}; + opacity: 0.7; + background-color: ${t.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${t.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + +`}}}]); \ No newline at end of file diff --git a/_next/static/chunks/5276.5d85a2e6999ca426.js b/_next/static/chunks/5276.5d85a2e6999ca426.js new file mode 100644 index 0000000..662d380 --- /dev/null +++ b/_next/static/chunks/5276.5d85a2e6999ca426.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5276],{5276:function(e,t,n){n.d(t,{a:function(){return eU},c:function(){return eQ}});var r={};n.r(r),n.d(r,{attentionMarkers:function(){return eC},contentInitial:function(){return ev},disable:function(){return ew},document:function(){return eF},flow:function(){return eS},flowInitial:function(){return eb},insideSpan:function(){return eI},string:function(){return eE},text:function(){return eA}});var i=n(1835);let u={};function o(e,t,n){if(e&&"object"==typeof e){if("value"in e)return"html"!==e.type||n?e.value:"";if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return c(e.children,t,n)}return Array.isArray(e)?c(e,t,n):""}function c(e,t,n){let r=[],i=-1;for(;++iu?0:u+t:t>u?u:t,n=n>0?n:0,r.length<1e4)(i=Array.from(r)).unshift(t,n),e.splice(...i);else for(n&&e.splice(t,n);o0?(l(e,e.length,0,t),e):t}let a={}.hasOwnProperty,f=S(/[A-Za-z]/),d=S(/[\dA-Za-z]/),h=S(/[#-'*+\--9=?A-Z^-~]/);function p(e){return null!==e&&(e<32||127===e)}let m=S(/\d/),g=S(/[\dA-Fa-f]/),x=S(/[!-/:-@[-`{-~]/);function k(e){return null!==e&&e<-2}function y(e){return null!==e&&(e<0||32===e)}function F(e){return -2===e||-1===e||32===e}let v=S(/[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/),b=S(/\s/);function S(e){return function(t){return null!==t&&e.test(String.fromCharCode(t))}}function E(e,t,n,r){let i=r?r-1:Number.POSITIVE_INFINITY,u=0;return function(r){return F(r)?(e.enter(n),function r(o){return F(o)&&u++r))return;let c=i.events.length,s=c;for(;s--;)if("exit"===i.events[s][0]&&"chunkFlow"===i.events[s][1].type){if(e){n=i.events[s][1].end;break}e=!0}for(x(o),u=c;ut;){let t=u[n];i.containerState=t[1],t[0].exit.call(i,e)}u.length=t}function y(){t.write([null]),n=void 0,t=void 0,i.containerState._closeFlow=void 0}}},C={tokenize:function(e,t,n){return E(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}},w={tokenize:function(e,t,n){return function(t){return F(t)?E(e,r,"linePrefix")(t):r(t)};function r(e){return null===e||k(e)?t(e):n(e)}},partial:!0};function T(e){let t,n,r,i,u,o,c;let s={},a=-1;for(;++a=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}},partial:!0},_={tokenize:function(e){let t=this,n=e.attempt(w,function(r){if(null===r){e.consume(r);return}return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n},e.attempt(this.parser.constructs.flowInitial,r,E(e,e.attempt(this.parser.constructs.flow,r,e.attempt(z,r)),"linePrefix")));return n;function r(r){if(null===r){e.consume(r);return}return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n}}},B={resolveAll:O()},M=P("string"),L=P("text");function P(e){return{tokenize:function(t){let n=this,r=this.parser.constructs[e],i=t.attempt(r,u,o);return u;function u(e){return l(e)?i(e):o(e)}function o(e){if(null===e){t.consume(e);return}return t.enter("data"),t.consume(e),c}function c(e){return l(e)?(t.exit("data"),i(e)):(t.consume(e),c)}function l(e){if(null===e)return!0;let t=r[e],i=-1;if(t)for(;++i=3&&(null===o||k(o))?(e.exit("thematicBreak"),t(o)):n(o)}(u)}}},q={name:"list",tokenize:function(e,t,n){let r=this,i=r.events[r.events.length-1],u=i&&"linePrefix"===i[1].type?i[2].sliceSerialize(i[1],!0).length:0,o=0;return function(t){let i=r.containerState.type||(42===t||43===t||45===t?"listUnordered":"listOrdered");if("listUnordered"===i?!r.containerState.marker||t===r.containerState.marker:m(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),"listUnordered"===i)return e.enter("listItemPrefix"),42===t||45===t?e.check(R,n,c)(t):c(t);if(!r.interrupt||49===t)return e.enter("listItemPrefix"),e.enter("listItemValue"),function t(i){return m(i)&&++o<10?(e.consume(i),t):(!r.interrupt||o<2)&&(r.containerState.marker?i===r.containerState.marker:41===i||46===i)?(e.exit("listItemValue"),c(i)):n(i)}(t)}return n(t)};function c(t){return e.enter("listItemMarker"),e.consume(t),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||t,e.check(w,r.interrupt?n:l,e.attempt(V,a,s))}function l(e){return r.containerState.initialBlankLine=!0,u++,a(e)}function s(t){return F(t)?(e.enter("listItemPrefixWhitespace"),e.consume(t),e.exit("listItemPrefixWhitespace"),a):n(t)}function a(n){return r.containerState.size=u+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(n)}},continuation:{tokenize:function(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(w,function(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,E(e,t,"listItemIndent",r.containerState.size+1)(n)},function(n){return r.containerState.furtherBlankLines||!F(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,i(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Q,t,i)(n))});function i(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,E(e,e.attempt(q,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(i)}}},exit:function(e){e.exit(this.containerState.type)}},V={tokenize:function(e,t,n){let r=this;return E(e,function(e){let i=r.events[r.events.length-1];return!F(e)&&i&&"listItemPrefixWhitespace"===i[1].type?t(e):n(e)},"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5)},partial:!0},Q={tokenize:function(e,t,n){let r=this;return E(e,function(e){let i=r.events[r.events.length-1];return i&&"listItemIndent"===i[1].type&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)},"listItemIndent",r.containerState.size+1)},partial:!0},N={name:"blockQuote",tokenize:function(e,t,n){let r=this;return function(t){if(62===t){let n=r.containerState;return n.open||(e.enter("blockQuote",{_container:!0}),n.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(t),e.exit("blockQuoteMarker"),i}return n(t)};function i(n){return F(n)?(e.enter("blockQuotePrefixWhitespace"),e.consume(n),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(n))}},continuation:{tokenize:function(e,t,n){let r=this;return function(t){return F(t)?E(e,i,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):i(t)};function i(r){return e.attempt(N,t,n)(r)}}},exit:function(e){e.exit("blockQuote")}};function U(e,t,n,r,i,u,o,c,l){let s=l||Number.POSITIVE_INFINITY,a=0;return function(t){return 60===t?(e.enter(r),e.enter(i),e.enter(u),e.consume(t),e.exit(u),f):null===t||32===t||41===t||p(t)?n(t):(e.enter(r),e.enter(o),e.enter(c),e.enter("chunkString",{contentType:"string"}),m(t))};function f(n){return 62===n?(e.enter(u),e.consume(n),e.exit(u),e.exit(i),e.exit(r),t):(e.enter(c),e.enter("chunkString",{contentType:"string"}),d(n))}function d(t){return 62===t?(e.exit("chunkString"),e.exit(c),f(t)):null===t||60===t||k(t)?n(t):(e.consume(t),92===t?h:d)}function h(t){return 60===t||62===t||92===t?(e.consume(t),d):d(t)}function m(i){return!a&&(null===i||41===i||y(i))?(e.exit("chunkString"),e.exit(c),e.exit(o),e.exit(r),t(i)):a999||null===f||91===f||93===f&&!o||94===f&&!l&&"_hiddenFootnoteSupport"in c.parser.constructs?n(f):93===f?(e.exit(u),e.enter(i),e.consume(f),e.exit(i),e.exit(r),t):k(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),s):(e.enter("chunkString",{contentType:"string"}),a(f))}function a(t){return null===t||91===t||93===t||k(t)||l++>999?(e.exit("chunkString"),s(t)):(e.consume(t),o||(o=!F(t)),92===t?f:a)}function f(t){return 91===t||92===t||93===t?(e.consume(t),l++,a):a(t)}}function W(e,t,n,r,i,u){let o;return function(t){return 34===t||39===t||40===t?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=40===t?41:t,c):n(t)};function c(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(u),l(n))}function l(t){return t===o?(e.exit(u),c(o)):null===t?n(t):k(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),E(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),s(t))}function s(t){return t===o||null===t||k(t)?(e.exit("chunkString"),l(t)):(e.consume(t),92===t?a:s)}function a(t){return t===o||92===t?(e.consume(t),s):s(t)}}function Z(e,t){let n;return function r(i){return k(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):F(i)?E(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}function Y(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}let G={tokenize:function(e,t,n){return function(t){return y(t)?Z(e,r)(t):n(t)};function r(t){return W(e,i,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t)}function i(t){return F(t)?E(e,u,"whitespace")(t):u(t)}function u(e){return null===e||k(e)?t(e):n(e)}},partial:!0},J={name:"codeIndented",tokenize:function(e,t,n){let r=this;return function(t){return e.enter("codeIndented"),E(e,i,"linePrefix",5)(t)};function i(t){let i=r.events[r.events.length-1];return i&&"linePrefix"===i[1].type&&i[2].sliceSerialize(i[1],!0).length>=4?function t(n){return null===n?u(n):k(n)?e.attempt(K,t,u)(n):(e.enter("codeFlowValue"),function n(r){return null===r||k(r)?(e.exit("codeFlowValue"),t(r)):(e.consume(r),n)}(n))}(t):n(t)}function u(n){return e.exit("codeIndented"),t(n)}}},K={tokenize:function(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):k(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i):E(e,u,"linePrefix",5)(t)}function u(e){let u=r.events[r.events.length-1];return u&&"linePrefix"===u[1].type&&u[2].sliceSerialize(u[1],!0).length>=4?t(e):k(e)?i(e):n(e)}},partial:!0},X={name:"setextUnderline",tokenize:function(e,t,n){let r;let i=this;return function(t){let o,c=i.events.length;for(;c--;)if("lineEnding"!==i.events[c][1].type&&"linePrefix"!==i.events[c][1].type&&"content"!==i.events[c][1].type){o="paragraph"===i.events[c][1].type;break}return!i.parser.lazy[i.now().line]&&(i.interrupt||o)?(e.enter("setextHeadingLine"),r=t,e.enter("setextHeadingLineSequence"),function t(n){return n===r?(e.consume(n),t):(e.exit("setextHeadingLineSequence"),F(n)?E(e,u,"lineSuffix")(n):u(n))}(t)):n(t)};function u(r){return null===r||k(r)?(e.exit("setextHeadingLine"),t(r)):n(r)}},resolveTo:function(e,t){let n,r,i,u=e.length;for(;u--;)if("enter"===e[u][0]){if("content"===e[u][1].type){n=u;break}"paragraph"===e[u][1].type&&(r=u)}else"content"===e[u][1].type&&e.splice(u,1),i||"definition"!==e[u][1].type||(i=u);let o={type:"setextHeading",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)};return e[r][1].type="setextHeadingText",i?(e.splice(r,0,["enter",o,t]),e.splice(i+1,0,["exit",e[n][1],t]),e[n][1].end=Object.assign({},e[i][1].end)):e[n][1]=o,e.push(["exit",o,t]),e}},ee=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],et=["pre","script","style","textarea"],en={tokenize:function(e,t,n){return function(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(w,t,n)}},partial:!0},er={tokenize:function(e,t,n){let r=this;return function(t){return k(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i):n(t)};function i(e){return r.parser.lazy[r.now().line]?n(e):t(e)}},partial:!0},ei={tokenize:function(e,t,n){let r=this;return function(t){return null===t?n(t):(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i)};function i(e){return r.parser.lazy[r.now().line]?n(e):t(e)}},partial:!0},eu={name:"codeFenced",tokenize:function(e,t,n){let r;let i=this,u={tokenize:function(e,t,n){let u=0;return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o};function o(t){return e.enter("codeFencedFence"),F(t)?E(e,l,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):l(t)}function l(t){return t===r?(e.enter("codeFencedFenceSequence"),function t(i){return i===r?(u++,e.consume(i),t):u>=c?(e.exit("codeFencedFenceSequence"),F(i)?E(e,s,"whitespace")(i):s(i)):n(i)}(t)):n(t)}function s(r){return null===r||k(r)?(e.exit("codeFencedFence"),t(r)):n(r)}},partial:!0},o=0,c=0;return function(t){return function(t){let u=i.events[i.events.length-1];return o=u&&"linePrefix"===u[1].type?u[2].sliceSerialize(u[1],!0).length:0,r=t,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),function t(i){return i===r?(c++,e.consume(i),t):c<3?n(i):(e.exit("codeFencedFenceSequence"),F(i)?E(e,l,"whitespace")(i):l(i))}(t)}(t)};function l(u){return null===u||k(u)?(e.exit("codeFencedFence"),i.interrupt?t(u):e.check(ei,a,p)(u)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),function t(i){return null===i||k(i)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),l(i)):F(i)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),E(e,s,"whitespace")(i)):96===i&&i===r?n(i):(e.consume(i),t)}(u))}function s(t){return null===t||k(t)?l(t):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),function t(i){return null===i||k(i)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),l(i)):96===i&&i===r?n(i):(e.consume(i),t)}(t))}function a(t){return e.attempt(u,p,f)(t)}function f(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),d}function d(t){return o>0&&F(t)?E(e,h,"linePrefix",o+1)(t):h(t)}function h(t){return null===t||k(t)?e.check(ei,a,p)(t):(e.enter("codeFlowValue"),function t(n){return null===n||k(n)?(e.exit("codeFlowValue"),h(n)):(e.consume(n),t)}(t))}function p(n){return e.exit("codeFenced"),t(n)}},concrete:!0},eo=document.createElement("i");function ec(e){let t="&"+e+";";eo.innerHTML=t;let n=eo.textContent;return(59!==n.charCodeAt(n.length-1)||"semi"===e)&&n!==t&&n}let el={name:"characterReference",tokenize:function(e,t,n){let r,i;let u=this,o=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),c};function c(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),l):(e.enter("characterReferenceValue"),r=31,i=d,s(t))}function l(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),r=6,i=g,s):(e.enter("characterReferenceValue"),r=7,i=m,s(t))}function s(c){if(59===c&&o){let r=e.exit("characterReferenceValue");return i!==d||ec(u.sliceSerialize(r))?(e.enter("characterReferenceMarker"),e.consume(c),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):n(c)}return i(c)&&o++1&&e[d][1].end.offset-e[d][1].start.offset>1?2:1;let h=Object.assign({},e[n][1].end),p=Object.assign({},e[d][1].start);ek(h,-c),ek(p,c),u={type:c>1?"strongSequence":"emphasisSequence",start:h,end:Object.assign({},e[n][1].end)},o={type:c>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[d][1].start),end:p},i={type:c>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[d][1].start)},r={type:c>1?"strong":"emphasis",start:Object.assign({},u.start),end:Object.assign({},o.end)},e[n][1].end=Object.assign({},u.start),e[d][1].start=Object.assign({},o.end),a=[],e[n][1].end.offset-e[n][1].start.offset&&(a=s(a,[["enter",e[n][1],t],["exit",e[n][1],t]])),a=s(a,[["enter",r,t],["enter",u,t],["exit",u,t],["enter",i,t]]),a=s(a,H(t.parser.constructs.insideSpan.null,e.slice(n+1,d),t)),a=s(a,[["exit",i,t],["enter",o,t],["exit",o,t],["exit",r,t]]),e[d][1].end.offset-e[d][1].start.offset?(f=2,a=s(a,[["enter",e[d][1],t],["exit",e[d][1],t]])):f=0,l(e,n-1,d-n+3,a),d=n+a.length-f-2;break}}for(d=-1;++du&&"whitespace"===e[i][1].type&&(i-=2),"atxHeadingSequence"===e[i][1].type&&(u===i-1||i-4>u&&"whitespace"===e[i-2][1].type)&&(i-=u+1===i?2:4),i>u&&(n={type:"atxHeadingText",start:e[u][1].start,end:e[i][1].end},r={type:"chunkText",start:e[u][1].start,end:e[i][1].end,contentType:"text"},l(e,u,i-u+1,[["enter",n,t],["enter",r,t],["exit",r,t],["exit",n,t]])),e}},42:R,45:[X,R],60:{name:"htmlFlow",tokenize:function(e,t,n){let r,i,u,o,c;let l=this;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),s};function s(o){return 33===o?(e.consume(o),a):47===o?(e.consume(o),i=!0,m):63===o?(e.consume(o),r=3,l.interrupt?t:O):f(o)?(e.consume(o),u=String.fromCharCode(o),g):n(o)}function a(i){return 45===i?(e.consume(i),r=2,h):91===i?(e.consume(i),r=5,o=0,p):f(i)?(e.consume(i),r=4,l.interrupt?t:O):n(i)}function h(r){return 45===r?(e.consume(r),l.interrupt?t:O):n(r)}function p(r){let i="CDATA[";return r===i.charCodeAt(o++)?(e.consume(r),o===i.length)?l.interrupt?t:T:p:n(r)}function m(t){return f(t)?(e.consume(t),u=String.fromCharCode(t),g):n(t)}function g(o){if(null===o||47===o||62===o||y(o)){let c=47===o,s=u.toLowerCase();return!c&&!i&&et.includes(s)?(r=1,l.interrupt?t(o):T(o)):ee.includes(u.toLowerCase())?(r=6,c)?(e.consume(o),x):l.interrupt?t(o):T(o):(r=7,l.interrupt&&!l.parser.lazy[l.now().line]?n(o):i?function t(n){return F(n)?(e.consume(n),t):C(n)}(o):v(o))}return 45===o||d(o)?(e.consume(o),u+=String.fromCharCode(o),g):n(o)}function x(r){return 62===r?(e.consume(r),l.interrupt?t:T):n(r)}function v(t){return 47===t?(e.consume(t),C):58===t||95===t||f(t)?(e.consume(t),b):F(t)?(e.consume(t),v):C(t)}function b(t){return 45===t||46===t||58===t||95===t||d(t)?(e.consume(t),b):S(t)}function S(t){return 61===t?(e.consume(t),E):F(t)?(e.consume(t),S):v(t)}function E(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),c=t,A):F(t)?(e.consume(t),E):function t(n){return null===n||34===n||39===n||47===n||60===n||61===n||62===n||96===n||y(n)?S(n):(e.consume(n),t)}(t)}function A(t){return t===c?(e.consume(t),c=null,I):null===t||k(t)?n(t):(e.consume(t),A)}function I(e){return 47===e||62===e||F(e)?v(e):n(e)}function C(t){return 62===t?(e.consume(t),w):n(t)}function w(t){return null===t||k(t)?T(t):F(t)?(e.consume(t),w):n(t)}function T(t){return 45===t&&2===r?(e.consume(t),B):60===t&&1===r?(e.consume(t),M):62===t&&4===r?(e.consume(t),j):63===t&&3===r?(e.consume(t),O):93===t&&5===r?(e.consume(t),P):k(t)&&(6===r||7===r)?(e.exit("htmlFlowData"),e.check(en,H,z)(t)):null===t||k(t)?(e.exit("htmlFlowData"),z(t)):(e.consume(t),T)}function z(t){return e.check(er,D,H)(t)}function D(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),_}function _(t){return null===t||k(t)?z(t):(e.enter("htmlFlowData"),T(t))}function B(t){return 45===t?(e.consume(t),O):T(t)}function M(t){return 47===t?(e.consume(t),u="",L):T(t)}function L(t){if(62===t){let n=u.toLowerCase();return et.includes(n)?(e.consume(t),j):T(t)}return f(t)&&u.length<8?(e.consume(t),u+=String.fromCharCode(t),L):T(t)}function P(t){return 93===t?(e.consume(t),O):T(t)}function O(t){return 62===t?(e.consume(t),j):45===t&&2===r?(e.consume(t),O):T(t)}function j(t){return null===t||k(t)?(e.exit("htmlFlowData"),H(t)):(e.consume(t),j)}function H(n){return e.exit("htmlFlow"),t(n)}},resolveTo:function(e){let t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););return t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},concrete:!0},61:X,95:R,96:eu,126:eu},eE={38:el,92:es},eA={[-5]:ea,[-4]:ea,[-3]:ea,33:em,38:el,42:ex,60:[{name:"autolink",tokenize:function(e,t,n){let r=0;return function(t){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(t),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),i};function i(t){return f(t)?(e.consume(t),u):c(t)}function u(t){return 43===t||45===t||46===t||d(t)?(r=1,function t(n){return 58===n?(e.consume(n),r=0,o):(43===n||45===n||46===n||d(n))&&r++<32?(e.consume(n),t):(r=0,c(n))}(t)):c(t)}function o(r){return 62===r?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(r),e.exit("autolinkMarker"),e.exit("autolink"),t):null===r||32===r||60===r||p(r)?n(r):(e.consume(r),o)}function c(t){return 64===t?(e.consume(t),l):h(t)?(e.consume(t),c):n(t)}function l(i){return d(i)?function i(u){return 46===u?(e.consume(u),r=0,l):62===u?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(u),e.exit("autolinkMarker"),e.exit("autolink"),t):function t(u){if((45===u||d(u))&&r++<63){let n=45===u?t:i;return e.consume(u),n}return n(u)}(u)}(i):n(i)}}},{name:"htmlText",tokenize:function(e,t,n){let r,i,u;let o=this;return function(t){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(t),c};function c(t){return 33===t?(e.consume(t),l):47===t?(e.consume(t),I):63===t?(e.consume(t),S):f(t)?(e.consume(t),w):n(t)}function l(t){return 45===t?(e.consume(t),s):91===t?(e.consume(t),i=0,m):f(t)?(e.consume(t),b):n(t)}function s(t){return 45===t?(e.consume(t),p):n(t)}function a(t){return null===t?n(t):45===t?(e.consume(t),h):k(t)?(u=a,P(t)):(e.consume(t),a)}function h(t){return 45===t?(e.consume(t),p):a(t)}function p(e){return 62===e?L(e):45===e?h(e):a(e)}function m(t){let r="CDATA[";return t===r.charCodeAt(i++)?(e.consume(t),i===r.length?g:m):n(t)}function g(t){return null===t?n(t):93===t?(e.consume(t),x):k(t)?(u=g,P(t)):(e.consume(t),g)}function x(t){return 93===t?(e.consume(t),v):g(t)}function v(t){return 62===t?L(t):93===t?(e.consume(t),v):g(t)}function b(t){return null===t||62===t?L(t):k(t)?(u=b,P(t)):(e.consume(t),b)}function S(t){return null===t?n(t):63===t?(e.consume(t),A):k(t)?(u=S,P(t)):(e.consume(t),S)}function A(e){return 62===e?L(e):S(e)}function I(t){return f(t)?(e.consume(t),C):n(t)}function C(t){return 45===t||d(t)?(e.consume(t),C):function t(n){return k(n)?(u=t,P(n)):F(n)?(e.consume(n),t):L(n)}(t)}function w(t){return 45===t||d(t)?(e.consume(t),w):47===t||62===t||y(t)?T(t):n(t)}function T(t){return 47===t?(e.consume(t),L):58===t||95===t||f(t)?(e.consume(t),z):k(t)?(u=T,P(t)):F(t)?(e.consume(t),T):L(t)}function z(t){return 45===t||46===t||58===t||95===t||d(t)?(e.consume(t),z):function t(n){return 61===n?(e.consume(n),D):k(n)?(u=t,P(n)):F(n)?(e.consume(n),t):T(n)}(t)}function D(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),r=t,_):k(t)?(u=D,P(t)):F(t)?(e.consume(t),D):(e.consume(t),B)}function _(t){return t===r?(e.consume(t),r=void 0,M):null===t?n(t):k(t)?(u=_,P(t)):(e.consume(t),_)}function B(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):47===t||62===t||y(t)?T(t):(e.consume(t),B)}function M(e){return 47===e||62===e||y(e)?T(e):n(e)}function L(r){return 62===r?(e.consume(r),e.exit("htmlTextData"),e.exit("htmlText"),t):n(r)}function P(t){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),O}function O(t){return F(t)?E(e,j,"linePrefix",o.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):j(t)}function j(t){return e.enter("htmlTextData"),u(t)}}}],91:ey,92:[{name:"hardBreakEscape",tokenize:function(e,t,n){return function(t){return e.enter("hardBreakEscape"),e.consume(t),r};function r(r){return k(r)?(e.exit("hardBreakEscape"),t(r)):n(r)}}},es],93:ef,95:ex,96:{name:"codeText",tokenize:function(e,t,n){let r,i,u=0;return function(t){return e.enter("codeText"),e.enter("codeTextSequence"),function t(n){return 96===n?(e.consume(n),u++,t):(e.exit("codeTextSequence"),o(n))}(t)};function o(l){return null===l?n(l):32===l?(e.enter("space"),e.consume(l),e.exit("space"),o):96===l?(i=e.enter("codeTextSequence"),r=0,function n(o){return 96===o?(e.consume(o),r++,n):r===u?(e.exit("codeTextSequence"),e.exit("codeText"),t(o)):(i.type="codeTextData",c(o))}(l)):k(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),o):(e.enter("codeTextData"),c(l))}function c(t){return null===t||32===t||96===t||k(t)?(e.exit("codeTextData"),o(t)):(e.consume(t),c)}},resolve:function(e){let t,n,r=e.length-4,i=3;if(("lineEnding"===e[3][1].type||"space"===e[i][1].type)&&("lineEnding"===e[r][1].type||"space"===e[r][1].type)){for(t=i;++t13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(65535&n)==65535||(65535&n)==65534||n>1114111?"�":String.fromCharCode(n)}let eD=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function e_(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){let e=n.charCodeAt(1),t=120===e||88===e;return ez(n.slice(t?2:1),t?16:10)}return ec(n)||e}function eB(e){return e&&"object"==typeof e?"position"in e||"type"in e?eL(e.position):"start"in e||"end"in e?eL(e):"line"in e||"column"in e?eM(e):"":""}function eM(e){return eP(e&&e.line)+":"+eP(e&&e.column)}function eL(e){return eM(e&&e.start)+"-"+eM(e&&e.end)}function eP(e){return e&&"number"==typeof e?e:1}let eO={}.hasOwnProperty,ej=function(e,t,n){let i,c,f,d;return"string"!=typeof t&&(n=t,t=void 0),(function(e){let t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:c(v),autolinkProtocol:h,autolinkEmail:h,atxHeading:c(k),blockQuote:c(function(){return{type:"blockquote",children:[]}}),characterEscape:h,characterReference:h,codeFenced:c(x),codeFencedFenceInfo:l,codeFencedFenceMeta:l,codeIndented:c(x,l),codeText:c(function(){return{type:"inlineCode",value:""}},l),codeTextData:h,data:h,codeFlowValue:h,definition:c(function(){return{type:"definition",identifier:"",label:null,title:null,url:""}}),definitionDestinationString:l,definitionLabelString:l,definitionTitleString:l,emphasis:c(function(){return{type:"emphasis",children:[]}}),hardBreakEscape:c(y),hardBreakTrailing:c(y),htmlFlow:c(F,l),htmlFlowData:h,htmlText:c(F,l),htmlTextData:h,image:c(function(){return{type:"image",title:null,url:"",alt:null}}),label:l,link:c(v),listItem:c(function(e){return{type:"listItem",spread:e._spread,checked:null,children:[]}}),listItemValue:function(e){n.expectingFirstListItemValue&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),n.expectingFirstListItemValue=void 0)},listOrdered:c(b,function(){n.expectingFirstListItemValue=!0}),listUnordered:c(b),paragraph:c(function(){return{type:"paragraph",children:[]}}),reference:function(){n.referenceType="collapsed"},referenceString:l,resourceDestinationString:l,resourceTitleString:l,setextHeading:c(k),strong:c(function(){return{type:"strong",children:[]}}),thematicBreak:c(function(){return{type:"thematicBreak"}})},exit:{atxHeading:a(),atxHeadingSequence:function(e){let t=this.stack[this.stack.length-1];if(!t.depth){let n=this.sliceSerialize(e).length;t.depth=n}},autolink:a(),autolinkEmail:function(e){p.call(this,e),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(e)},autolinkProtocol:function(e){p.call(this,e),this.stack[this.stack.length-1].url=this.sliceSerialize(e)},blockQuote:a(),characterEscapeValue:p,characterReferenceMarkerHexadecimal:g,characterReferenceMarkerNumeric:g,characterReferenceValue:function(e){let t;let r=this.sliceSerialize(e),i=n.characterReferenceType;i?(t=ez(r,"characterReferenceMarkerNumeric"===i?10:16),n.characterReferenceType=void 0):t=ec(r);let u=this.stack.pop();u.value+=t,u.position.end=eH(e.end)},codeFenced:a(function(){let e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),n.flowCodeInside=void 0}),codeFencedFence:function(){!n.flowCodeInside&&(this.buffer(),n.flowCodeInside=!0)},codeFencedFenceInfo:function(){let e=this.resume();this.stack[this.stack.length-1].lang=e},codeFencedFenceMeta:function(){let e=this.resume();this.stack[this.stack.length-1].meta=e},codeFlowValue:p,codeIndented:a(function(){let e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\r?\n|\r)$/g,"")}),codeText:a(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),codeTextData:p,data:p,definition:a(),definitionDestinationString:function(){let e=this.resume();this.stack[this.stack.length-1].url=e},definitionLabelString:function(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=Y(this.sliceSerialize(e)).toLowerCase()},definitionTitleString:function(){let e=this.resume();this.stack[this.stack.length-1].title=e},emphasis:a(),hardBreakEscape:a(m),hardBreakTrailing:a(m),htmlFlow:a(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),htmlFlowData:p,htmlText:a(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),htmlTextData:p,image:a(function(){let e=this.stack[this.stack.length-1];if(n.inReference){let t=n.referenceType||"shortcut";e.type+="Reference",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;n.referenceType=void 0}),label:function(){let e=this.stack[this.stack.length-1],t=this.resume(),r=this.stack[this.stack.length-1];if(n.inReference=!0,"link"===r.type){let t=e.children;r.children=t}else r.alt=t},labelText:function(e){let t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];n.label=t.replace(eD,e_),n.identifier=Y(t).toLowerCase()},lineEnding:function(e){let r=this.stack[this.stack.length-1];if(n.atHardBreak){r.children[r.children.length-1].position.end=eH(e.end),n.atHardBreak=void 0;return}!n.setextHeadingSlurpLineEnding&&t.canContainEols.includes(r.type)&&(h.call(this,e),p.call(this,e))},link:a(function(){let e=this.stack[this.stack.length-1];if(n.inReference){let t=n.referenceType||"shortcut";e.type+="Reference",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;n.referenceType=void 0}),listItem:a(),listOrdered:a(),listUnordered:a(),paragraph:a(),referenceString:function(e){let t=this.resume(),r=this.stack[this.stack.length-1];r.label=t,r.identifier=Y(this.sliceSerialize(e)).toLowerCase(),n.referenceType="full"},resourceDestinationString:function(){let e=this.resume();this.stack[this.stack.length-1].url=e},resourceTitleString:function(){let e=this.resume();this.stack[this.stack.length-1].title=e},resource:function(){n.inReference=void 0},setextHeading:a(function(){n.setextHeadingSlurpLineEnding=void 0}),setextHeadingLineSequence:function(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).charCodeAt(0)?1:2},setextHeadingText:function(){n.setextHeadingSlurpLineEnding=!0},strong:a(),thematicBreak:a()}};!function e(t,n){let r=-1;for(;++r0){let e=u.tokenStack[u.tokenStack.length-1];(e[1]||eR).call(u,void 0,e[0])}for(n.position={start:eH(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:eH(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},c=-1;++c-1){let e=n[0];"string"==typeof e?n[0]=e.slice(i):n.shift()}o>0&&n.push(e[u].slice(0,o))}return n}(o,e)}function p(){let{line:e,column:t,offset:n,_index:i,_bufferIndex:u}=r;return{line:e,column:t,offset:n,_index:i,_bufferIndex:u}}function m(e,t){t.restore()}function g(e,t){return function(n,i,u){let o,l,s,d;return Array.isArray(n)?h(n):"tokenize"in n?h([n]):function(e){let t=null!==e&&n[e],r=null!==e&&n.null;return h([...Array.isArray(t)?t:t?[t]:[],...Array.isArray(r)?r:r?[r]:[]])(e)};function h(e){return(o=e,l=0,0===e.length)?u:m(e[l])}function m(e){return function(n){return(d=function(){let e=p(),t=f.previous,n=f.currentConstruct,i=f.events.length,u=Array.from(c);return{restore:function(){r=e,f.previous=t,f.currentConstruct=n,f.events.length=i,c=u,y()},from:i}}(),s=e,e.partial||(f.currentConstruct=e),e.name&&f.parser.constructs.disable.null.includes(e.name))?x(n):e.tokenize.call(t?Object.assign(Object.create(f),t):f,a,g,x)(n)}}function g(t){return e(s,d),i}function x(e){return(d.restore(),++l{let r=e.append("tspan").attr("font-style","emphasis"===t.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===t.type?"bold":"normal");0===n?r.text(t.content):r.text(" "+t.content)})}let eU=(e,t="",{style:n="",isTitle:r=!1,classes:u="",useHtmlLabels:o=!0,isNode:c=!0,width:l=200,addSvgBackground:s=!1}={})=>{if(i.l.info("createText",t,n,r,u,o,c,s),!o)return function(e,t,n,r=!1){let i=t.append("g"),u=i.insert("rect").attr("class","background"),o=i.append("text").attr("y","-10.1"),c=0;for(let t of n){let n=t=>(function(e,t,n){let r=e.append("text"),i=eV(r,1,1.1);eN(i,n);let u=i.node().getComputedTextLength();return r.remove(),u})(i,0,t)<=e;for(let e of n(t)?[t]:function(e,t){if(e.some(({content:e})=>e.includes("\n")))throw Error("splitLineToFitWidth does not support newlines in the line");return function e(t,n,r=[],i=[]){if(0===t.length)return i.length>0&&r.push(i),r.length>0?r:[];let u="";" "===t[0].content&&(u=" ",t.shift());let o=t.shift()??{content:" ",type:"normal"},c=[...i];if(""!==u&&c.push({content:u,type:"normal"}),c.push(o),n(c))return e(t,n,r,c);if(i.length>0)r.push(i),t.unshift(o);else if(o.content){var l;let[e,i]=function e(t,n,r,i){if(0===r.length)return[{content:n.join(""),type:i},{content:"",type:i}];let[u,...o]=r,c=[...n,u];return t([{content:c.join(""),type:i}])?e(t,c,o,i):(0===n.length&&u&&(n.push(u),r.shift()),[{content:n.join(""),type:i},{content:r.join(""),type:i}])}(n,[],(l=o.content,Intl.Segmenter?[...new Intl.Segmenter().segment(l)].map(e=>e.segment):[...l]),o.type);r.push([e]),i.content&&t.unshift(i)}return e(t,n,r)}(e,t)}(t,n))eN(eV(o,c,1.1),e),c++}if(!r)return o.node();{let e=o.node().getBBox();return u.attr("x",-2).attr("y",-2).attr("width",e.width+4).attr("height",e.height+4),i.node()}}(l,e,function(e){let{children:t}=ej(function(e){let t=e.replace(/\n{2,}/g,"\n");return(0,eq.Z)(t)}(e)),n=[[]],r=0;return t.forEach(e=>{"paragraph"===e.type&&e.children.forEach(e=>{!function e(t,i="normal"){"text"===t.type?t.value.split("\n").forEach((e,t)=>{0!==t&&(r++,n.push([])),e.split(" ").forEach(e=>{e&&n[r].push({content:e,type:i})})}):("strong"===t.type||"emphasis"===t.type)&&t.children.forEach(n=>{e(n,t.type)})}(e)})}),n}(t),s);{let r=function(e){let{children:t}=ej(e);return t.map(function e(t){return"text"===t.type?t.value.replace(/\n/g,"
"):"strong"===t.type?`${t.children.map(e).join("")}`:"emphasis"===t.type?`${t.children.map(e).join("")}`:"paragraph"===t.type?`

${t.children.map(e).join("")}

`:`Unsupported markdown: ${t.type}`}).join("")}(t);return function(e,t,n,r,i=!1){var u;let o=e.append("foreignObject"),c=o.append("xhtml:div"),l=t.label,s=t.isNode?"nodeLabel":"edgeLabel";c.html(` + "+l+""),(u=t.labelStyle)&&c.attr("style",u),c.style("display","table-cell"),c.style("white-space","nowrap"),c.style("max-width",n+"px"),c.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&c.attr("class","labelBkg");let a=c.node().getBoundingClientRect();return a.width===n&&(c.style("display","table"),c.style("white-space","break-spaces"),c.style("width",n+"px"),a=c.node().getBoundingClientRect()),o.style("width",a.width),o.style("height",a.height),o.node()}(e,{isNode:c,label:(0,i.M)(r).replace(/fa[blrs]?:fa-[\w-]+/g,e=>``),labelStyle:n.replace("fill:","color:")},l,u,s)}}}}]); \ No newline at end of file diff --git a/_next/static/chunks/528-58aa8d04a1d8af04.js b/_next/static/chunks/528-58aa8d04a1d8af04.js deleted file mode 100644 index e114cc3..0000000 --- a/_next/static/chunks/528-58aa8d04a1d8af04.js +++ /dev/null @@ -1,16 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[528],{8417:function(e,t,r){"use strict";r.d(t,{Z:function(){return D}});var n=function(){function e(e){var t=this;this._insertTag=function(e){var r;r=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,r),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){if(this.ctr%(this.isSpeedy?65e3:1)==0){var t;this._insertTag(((t=document.createElement("style")).setAttribute("data-emotion",this.key),void 0!==this.nonce&&t.setAttribute("nonce",this.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t))}var r=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t0?m[Z]+" "+k:l(k,/&\f/g,m[Z])).trim())&&(f[x++]=w);return b(e,t,r,0===i?M:s,f,d,p)}function z(e,t,r,n){return b(e,t,r,E,u(e,0,n),u(e,n+1,-1),n)}var I=function(e,t,r){for(var n=0,o=0;n=o,o=k(),38===n&&12===o&&(t[r]=1),!w(o);)Z();return u(v,e,g)},N=function(e,t){var r=-1,n=44;do switch(w(n)){case 0:38===n&&12===k()&&(t[r]=1),e[r]+=I(g-1,t,r);break;case 2:e[r]+=C(n);break;case 4:if(44===n){e[++r]=58===k()?"&\f":"",t[r]=e[r].length;break}default:e[r]+=i(n)}while(n=Z());return e},W=function(e,t){var r;return r=N(S(e),t),v="",r},B=new WeakMap,L=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,r=e.parent,n=e.column===r.column&&e.line===r.line;"rule"!==r.type;)if(!(r=r.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||B.get(r))&&!n){B.set(e,!0);for(var o=[],i=W(t,o),a=r.props,l=0,c=0;l-1&&!e.return)switch(e.type){case E:e.return=function e(t,r){switch(45^s(t,0)?(((r<<2^s(t,0))<<2^s(t,1))<<2^s(t,2))<<2^s(t,3):0){case 5103:return A+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return A+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return A+t+O+t+P+t+t;case 6828:case 4268:return A+t+P+t+t;case 6165:return A+t+P+"flex-"+t+t;case 5187:return A+t+l(t,/(\w+).+(:[^]+)/,A+"box-$1$2"+P+"flex-$1$2")+t;case 5443:return A+t+P+"flex-item-"+l(t,/flex-|-self/,"")+t;case 4675:return A+t+P+"flex-line-pack"+l(t,/align-content|flex-|-self/,"")+t;case 5548:return A+t+P+l(t,"shrink","negative")+t;case 5292:return A+t+P+l(t,"basis","preferred-size")+t;case 6060:return A+"box-"+l(t,"-grow","")+A+t+P+l(t,"grow","positive")+t;case 4554:return A+l(t,/([^-])(transform)/g,"$1"+A+"$2")+t;case 6187:return l(l(l(t,/(zoom-|grab)/,A+"$1"),/(image-set)/,A+"$1"),t,"")+t;case 5495:case 3959:return l(t,/(image-set\([^]*)/,A+"$1$`$1");case 4968:return l(l(t,/(.+:)(flex-)?(.*)/,A+"box-pack:$3"+P+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+A+t+t;case 4095:case 3583:case 4068:case 2532:return l(t,/(.+)-inline(.+)/,A+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(f(t)-1-r>6)switch(s(t,r+1)){case 109:if(45!==s(t,r+4))break;case 102:return l(t,/(.+:)(.+)-([^]+)/,"$1"+A+"$2-$3$1"+O+(108==s(t,r+3)?"$3":"$2-$3"))+t;case 115:return~c(t,"stretch")?e(l(t,"stretch","fill-available"),r)+t:t}break;case 4949:if(115!==s(t,r+1))break;case 6444:switch(s(t,f(t)-3-(~c(t,"!important")&&10))){case 107:return l(t,":",":"+A)+t;case 101:return l(t,/(.+:)([^;!]+)(;|!.+)?/,"$1"+A+(45===s(t,14)?"inline-":"")+"box$3$1"+A+"$2$3$1"+P+"$2box$3")+t}break;case 5936:switch(s(t,r+11)){case 114:return A+t+P+l(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return A+t+P+l(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return A+t+P+l(t,/[svh]\w+-[tblr]{2}/,"lr")+t}return A+t+P+t+t}return t}(e.value,e.length);break;case j:return _([x(e,{value:l(e.value,"@","@"+A)})],n);case M:if(e.length){var o,i;return o=e.props,i=function(t){var r;switch(r=t,(r=/(::plac\w+|:read-\w+)/.exec(r))?r[0]:r){case":read-only":case":read-write":return _([x(e,{props:[l(t,/:(read-\w+)/,":"+O+"$1")]})],n);case"::placeholder":return _([x(e,{props:[l(t,/:(plac\w+)/,":"+A+"input-$1")]}),x(e,{props:[l(t,/:(plac\w+)/,":"+O+"$1")]}),x(e,{props:[l(t,/:(plac\w+)/,P+"input-$1")]})],n)}return""},o.map(i).join("")}}}],D=function(e){var t,r,o,a,m,x,P=e.key;if("css"===P){var O=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(O,function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))})}var A=e.stylisPlugins||V,M={},E=[];a=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+P+' "]'),function(e){for(var t=e.getAttribute("data-emotion").split(" "),r=1;r2||w(y)>3?"":" "}(T);break;case 92:G+=function(e,t){for(var r;--t&&Z()&&!(y<48)&&!(y>102)&&(!(y>57)||!(y<65))&&(!(y>70)||!(y<97)););return r=g+(t<6&&32==k()&&32==Z()),u(v,e,r)}(g-1,7);continue;case 47:switch(k()){case 42:case 47:d(b(O=function(e,t){for(;Z();)if(e+y===57)break;else if(e+y===84&&47===k())break;return"/*"+u(v,t,g-1)+"*"+i(47===e?e:Z())}(Z(),g),r,n,R,i(y),u(O,2,-2),0),P);break;default:G+="/"}break;case 123*I:S[A++]=f(G)*W;case 125*I:case 59:case 0:switch(B){case 0:case 125:N=0;case 59+M:-1==W&&(G=l(G,/\f/g,"")),_>0&&f(G)-E&&d(_>32?z(G+";",o,n,E-1):z(l(G," ","")+";",o,n,E-2),P);break;case 59:G+=";";default:if(d(D=$(G,r,n,A,M,a,S,L,F=[],V=[],E),m),123===B){if(0===M)e(G,r,D,D,F,m,E,S,V);else switch(99===j&&110===s(G,3)?100:j){case 100:case 108:case 109:case 115:e(t,D,D,o&&d($(t,D,D,0,0,a,S,L,a,F=[],E),V),a,V,E,S,o?F:V);break;default:e(G,D,D,D,[""],V,0,S,V)}}}A=M=_=0,I=W=1,L=G="",E=x;break;case 58:E=1+f(G),_=T;default:if(I<1){if(123==B)--I;else if(125==B&&0==I++&&125==(y=g>0?s(v,--g):0,h--,10===y&&(h=1,p--),y))continue}switch(G+=i(B),B*I){case 38:W=M>0?1:(G+="\f",-1);break;case 44:S[A++]=(f(G)-1)*W,W=1;break;case 64:45===k()&&(G+=C(Z())),j=k(),M=E=f(L=G+=function(e){for(;!w(k());)Z();return u(v,e,g)}(g)),B++;break;case 45:45===T&&2==f(G)&&(I=0)}}return m}("",null,null,null,[""],t=S(t=e),0,[0],t),v="",r),j)};m=function(e,t,r,n){x=r,I(e?e+"{"+t.styles+"}":t.styles),n&&(N.inserted[t.name]=!0)};var N={key:P,sheet:new n({key:P,container:a,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:M,registered:{},insert:m};return N.sheet.hydrate(E),N}},5042:function(e,t,r){"use strict";function n(e){var t=Object.create(null);return function(r){return void 0===t[r]&&(t[r]=e(r)),t[r]}}r.d(t,{Z:function(){return n}})},6498:function(e,t,r){"use strict";r.d(t,{C:function(){return l},T:function(){return s},i:function(){return i},w:function(){return c}});var n=r(7294),o=r(8417);r(8137),r(7278);var i=!0,a=n.createContext("undefined"!=typeof HTMLElement?(0,o.Z)({key:"css"}):null),l=a.Provider,c=function(e){return(0,n.forwardRef)(function(t,r){return e(t,(0,n.useContext)(a),r)})};i||(c=function(e){return function(t){var r=(0,n.useContext)(a);return null===r?(r=(0,o.Z)({key:"css"}),n.createElement(a.Provider,{value:r},e(t,r))):e(t,r)}});var s=n.createContext({})},917:function(e,t,r){"use strict";r.d(t,{F4:function(){return u},iv:function(){return s},xB:function(){return c}});var n=r(6498),o=r(7294),i=r(444),a=r(7278),l=r(8137);r(8417),r(8679);var c=(0,n.w)(function(e,t){var r=e.styles,c=(0,l.O)([r],void 0,o.useContext(n.T));if(!n.i){for(var s,u=c.name,f=c.styles,d=c.next;void 0!==d;)u+=" "+d.name,f+=d.styles,d=d.next;var p=!0===t.compat,h=t.insert("",{name:u,styles:f},t.sheet,p);return p?null:o.createElement("style",((s={})["data-emotion"]=t.key+"-global "+u,s.dangerouslySetInnerHTML={__html:h},s.nonce=t.sheet.nonce,s))}var m=o.useRef();return(0,a.j)(function(){var e=t.key+"-global",r=new t.sheet.constructor({key:e,nonce:t.sheet.nonce,container:t.sheet.container,speedy:t.sheet.isSpeedy}),n=!1,o=document.querySelector('style[data-emotion="'+e+" "+c.name+'"]');return t.sheet.tags.length&&(r.before=t.sheet.tags[0]),null!==o&&(n=!0,o.setAttribute("data-emotion",e),r.hydrate([o])),m.current=[r,n],function(){r.flush()}},[t]),(0,a.j)(function(){var e=m.current,r=e[0];if(e[1]){e[1]=!1;return}if(void 0!==c.next&&(0,i.My)(t,c.next,!0),r.tags.length){var n=r.tags[r.tags.length-1].nextElementSibling;r.before=n,r.flush()}t.insert("",c,r,!1)},[t,c.name]),null});function s(){for(var e=arguments.length,t=Array(e),r=0;r=4;++n,o-=4)t=(65535&(t=255&e.charCodeAt(n)|(255&e.charCodeAt(++n))<<8|(255&e.charCodeAt(++n))<<16|(255&e.charCodeAt(++n))<<24))*1540483477+((t>>>16)*59797<<16),t^=t>>>24,r=(65535&t)*1540483477+((t>>>16)*59797<<16)^(65535&r)*1540483477+((r>>>16)*59797<<16);switch(o){case 3:r^=(255&e.charCodeAt(n+2))<<16;case 2:r^=(255&e.charCodeAt(n+1))<<8;case 1:r^=255&e.charCodeAt(n),r=(65535&r)*1540483477+((r>>>16)*59797<<16)}return r^=r>>>13,(((r=(65535&r)*1540483477+((r>>>16)*59797<<16))^r>>>15)>>>0).toString(36)}(a)+s,styles:a,next:n}}},7278:function(e,t,r){"use strict";r.d(t,{L:function(){return a},j:function(){return l}});var n,o=r(7294),i=!!(n||(n=r.t(o,2))).useInsertionEffect&&(n||(n=r.t(o,2))).useInsertionEffect,a=i||function(e){return e()},l=i||o.useLayoutEffect},444:function(e,t,r){"use strict";function n(e,t,r){var n="";return r.split(" ").forEach(function(r){void 0!==e[r]?t.push(e[r]+";"):n+=r+" "}),n}r.d(t,{My:function(){return i},fp:function(){return n},hC:function(){return o}});var o=function(e,t,r){var n=e.key+"-"+t.name;!1===r&&void 0===e.registered[n]&&(e.registered[n]=t.styles)},i=function(e,t,r){o(e,t,r);var n=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var i=t;do e.insert(t===i?"."+n:"",i,e.sheet,!0),i=i.next;while(void 0!==i)}}},3534:function(e,t,r){"use strict";let n;r.r(t),r.d(t,{GlobalStyles:function(){return k},StyledEngineProvider:function(){return Z},ThemeContext:function(){return s.T},css:function(){return v.iv},default:function(){return w},internal_processStyles:function(){return S},keyframes:function(){return v.F4}});var o=r(7462),i=r(7294),a=r(5042),l=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,c=(0,a.Z)(function(e){return l.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&91>e.charCodeAt(2)}),s=r(6498),u=r(444),f=r(8137),d=r(7278),p=function(e){return"theme"!==e},h=function(e){return"string"==typeof e&&e.charCodeAt(0)>96?c:p},m=function(e,t,r){var n;if(t){var o=t.shouldForwardProp;n=e.__emotion_forwardProp&&o?function(t){return e.__emotion_forwardProp(t)&&o(t)}:o}return"function"!=typeof n&&r&&(n=e.__emotion_forwardProp),n},g=function(e){var t=e.cache,r=e.serialized,n=e.isStringTag;return(0,u.hC)(t,r,n),(0,d.L)(function(){return(0,u.My)(t,r,n)}),null},y=(function e(t,r){var n,a,l=t.__emotion_real===t,c=l&&t.__emotion_base||t;void 0!==r&&(n=r.label,a=r.target);var d=m(t,r,l),p=d||h(c),y=!p("as");return function(){var v=arguments,b=l&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==n&&b.push("label:"+n+";"),null==v[0]||void 0===v[0].raw)b.push.apply(b,v);else{b.push(v[0][0]);for(var x=v.length,Z=1;Zt(null==e||0===Object.keys(e).length?r:e):t;return(0,x.jsx)(v.xB,{styles:n})}function w(e,t){return y(e,t)}"object"==typeof document&&(n=(0,b.Z)({key:"css",prepend:!0}));let S=(e,t)=>{Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))}},2101:function(e,t,r){"use strict";var n=r(4836);t.Fq=function(e,t){return e=l(e),t=a(t),("rgb"===e.type||"hsl"===e.type)&&(e.type+="a"),"color"===e.type?e.values[3]=`/${t}`:e.values[3]=t,c(e)},t._j=function(e,t){if(e=l(e),t=a(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb")||-1!==e.type.indexOf("color"))for(let r=0;r<3;r+=1)e.values[r]*=1-t;return c(e)},t.mi=function(e,t){let r=s(e),n=s(t);return(Math.max(r,n)+.05)/(Math.min(r,n)+.05)},t.$n=function(e,t){if(e=l(e),t=a(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(let r=0;r<3;r+=1)e.values[r]+=(255-e.values[r])*t;else if(-1!==e.type.indexOf("color"))for(let r=0;r<3;r+=1)e.values[r]+=(1-e.values[r])*t;return c(e)};var o=n(r(743)),i=n(r(9425));function a(e,t=0,r=1){return(0,i.default)(e,t,r)}function l(e){let t;if(e.type)return e;if("#"===e.charAt(0))return l(function(e){e=e.slice(1);let t=RegExp(`.{1,${e.length>=6?2:1}}`,"g"),r=e.match(t);return r&&1===r[0].length&&(r=r.map(e=>e+e)),r?`rgb${4===r.length?"a":""}(${r.map((e,t)=>t<3?parseInt(e,16):Math.round(parseInt(e,16)/255*1e3)/1e3).join(", ")})`:""}(e));let r=e.indexOf("("),n=e.substring(0,r);if(-1===["rgb","rgba","hsl","hsla","color"].indexOf(n))throw Error((0,o.default)(9,e));let i=e.substring(r+1,e.length-1);if("color"===n){if(t=(i=i.split(" ")).shift(),4===i.length&&"/"===i[3].charAt(0)&&(i[3]=i[3].slice(1)),-1===["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(t))throw Error((0,o.default)(10,t))}else i=i.split(",");return{type:n,values:i=i.map(e=>parseFloat(e)),colorSpace:t}}function c(e){let{type:t,colorSpace:r}=e,{values:n}=e;return -1!==t.indexOf("rgb")?n=n.map((e,t)=>t<3?parseInt(e,10):e):-1!==t.indexOf("hsl")&&(n[1]=`${n[1]}%`,n[2]=`${n[2]}%`),n=-1!==t.indexOf("color")?`${r} ${n.join(" ")}`:`${n.join(", ")}`,`${t}(${n})`}function s(e){let t="hsl"===(e=l(e)).type||"hsla"===e.type?l(function(e){let{values:t}=e=l(e),r=t[0],n=t[1]/100,o=t[2]/100,i=n*Math.min(o,1-o),a=(e,t=(e+r/30)%12)=>o-i*Math.max(Math.min(t-3,9-t,1),-1),s="rgb",u=[Math.round(255*a(0)),Math.round(255*a(8)),Math.round(255*a(4))];return"hsla"===e.type&&(s+="a",u.push(t[3])),c({type:s,values:u})}(e)).values:e.values;return Number((.2126*(t=t.map(t=>("color"!==e.type&&(t/=255),t<=.03928?t/12.92:((t+.055)/1.055)**2.4)))[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}},8128:function(e,t,r){"use strict";var n=r(4836);t.ZP=function(e={}){let{themeId:t,defaultTheme:r=m,rootShouldForwardProp:n=h,slotShouldForwardProp:c=h}=e,u=e=>(0,s.default)((0,o.default)({},e,{theme:y((0,o.default)({},e,{defaultTheme:r,themeId:t}))}));return u.__mui_systemSx=!0,(e,s={})=>{var f;let p;(0,a.internal_processStyles)(e,e=>e.filter(e=>!(null!=e&&e.__mui_systemSx)));let{name:m,slot:b,skipVariantsResolver:x,skipSx:Z,overridesResolver:k=(f=g(b))?(e,t)=>t[f]:null}=s,w=(0,i.default)(s,d),S=void 0!==x?x:b&&"Root"!==b&&"root"!==b||!1,C=Z||!1,P=h;"Root"===b||"root"===b?P=n:b?P=c:"string"==typeof e&&e.charCodeAt(0)>96&&(P=void 0);let O=(0,a.default)(e,(0,o.default)({shouldForwardProp:P,label:p},w)),A=e=>"function"==typeof e&&e.__emotion_real!==e||(0,l.isPlainObject)(e)?n=>v(e,(0,o.default)({},n,{theme:y({theme:n.theme,defaultTheme:r,themeId:t})})):e,R=(n,...i)=>{let a=A(n),l=i?i.map(A):[];m&&k&&l.push(e=>{let n=y((0,o.default)({},e,{defaultTheme:r,themeId:t}));if(!n.components||!n.components[m]||!n.components[m].styleOverrides)return null;let i=n.components[m].styleOverrides,a={};return Object.entries(i).forEach(([t,r])=>{a[t]=v(r,(0,o.default)({},e,{theme:n}))}),k(e,a)}),m&&!S&&l.push(e=>{var n;let i=y((0,o.default)({},e,{defaultTheme:r,themeId:t}));return v({variants:null==i||null==(n=i.components)||null==(n=n[m])?void 0:n.variants},(0,o.default)({},e,{theme:i}))}),C||l.push(u);let c=l.length-i.length;if(Array.isArray(n)&&c>0){let e=Array(c).fill("");(a=[...n,...e]).raw=[...n.raw,...e]}let s=O(a,...l);return e.muiName&&(s.muiName=e.muiName),s};return O.withConfig&&(R.withConfig=O.withConfig),R}};var o=n(r(434)),i=n(r(7071)),a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=p(void 0);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(3534)),l=r(211);n(r(9698)),n(r(7889));var c=n(r(9926)),s=n(r(386));let u=["ownerState"],f=["variants"],d=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(p=function(e){return e?r:t})(e)}function h(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}let m=(0,c.default)(),g=e=>e?e.charAt(0).toLowerCase()+e.slice(1):e;function y({defaultTheme:e,theme:t,themeId:r}){return 0===Object.keys(t).length?e:t[r]||t}function v(e,t){let{ownerState:r}=t,n=(0,i.default)(t,u),a="function"==typeof e?e((0,o.default)({ownerState:r},n)):e;if(Array.isArray(a))return a.flatMap(e=>v(e,(0,o.default)({ownerState:r},n)));if(a&&"object"==typeof a&&Array.isArray(a.variants)){let{variants:e=[]}=a,t=(0,i.default)(a,f);return e.forEach(e=>{let i=!0;"function"==typeof e.props?i=e.props((0,o.default)({ownerState:r},n,r)):Object.keys(e.props).forEach(t=>{(null==r?void 0:r[t])!==e.props[t]&&n[t]!==e.props[t]&&(i=!1)}),i&&(Array.isArray(t)||(t=[t]),t.push("function"==typeof e.style?e.style((0,o.default)({ownerState:r},n,r)):e.style))}),t}return a}},5408:function(e,t,r){"use strict";r.d(t,{L7:function(){return l},P$:function(){return c},VO:function(){return n},W8:function(){return a},k9:function(){return i}});let n={xs:0,sm:600,md:900,lg:1200,xl:1536},o={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${n[e]}px)`};function i(e,t,r){let i=e.theme||{};if(Array.isArray(t)){let e=i.breakpoints||o;return t.reduce((n,o,i)=>(n[e.up(e.keys[i])]=r(t[i]),n),{})}if("object"==typeof t){let e=i.breakpoints||o;return Object.keys(t).reduce((o,i)=>(-1!==Object.keys(e.values||n).indexOf(i)?o[e.up(i)]=r(t[i],i):o[i]=t[i],o),{})}return r(t)}function a(e={}){var t;return(null==(t=e.keys)?void 0:t.reduce((t,r)=>(t[e.up(r)]={},t),{}))||{}}function l(e,t){return e.reduce((e,t)=>{let r=e[t];return r&&0!==Object.keys(r).length||delete e[t],e},t)}function c({values:e,breakpoints:t,base:r}){let n;let o=Object.keys(r||function(e,t){if("object"!=typeof e)return{};let r={},n=Object.keys(t);return Array.isArray(e)?n.forEach((t,n)=>{n{null!=e[t]&&(r[t]=!0)}),r}(e,t));return 0===o.length?e:o.reduce((t,r,o)=>(Array.isArray(e)?(t[r]=null!=e[o]?e[o]:e[n],n=o):"object"==typeof e?(t[r]=null!=e[r]?e[r]:e[n],n=r):t[r]=e,t),{})}},7064:function(e,t,r){"use strict";function n(e,t){return this.vars&&"function"==typeof this.getColorSchemeSelector?{[this.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/,"*:where($1)")]:t}:this.palette.mode===e?t:{}}r.d(t,{Z:function(){return n}})},1512:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var n=r(3366),o=r(7462);let i=["values","unit","step"],a=e=>{let t=Object.keys(e).map(t=>({key:t,val:e[t]}))||[];return t.sort((e,t)=>e.val-t.val),t.reduce((e,t)=>(0,o.Z)({},e,{[t.key]:t.val}),{})};function l(e){let{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:r="px",step:l=5}=e,c=(0,n.Z)(e,i),s=a(t),u=Object.keys(s);function f(e){let n="number"==typeof t[e]?t[e]:e;return`@media (min-width:${n}${r})`}function d(e){let n="number"==typeof t[e]?t[e]:e;return`@media (max-width:${n-l/100}${r})`}function p(e,n){let o=u.indexOf(n);return`@media (min-width:${"number"==typeof t[e]?t[e]:e}${r}) and (max-width:${(-1!==o&&"number"==typeof t[u[o]]?t[u[o]]:n)-l/100}${r})`}return(0,o.Z)({keys:u,values:s,up:f,down:d,between:p,only:function(e){return u.indexOf(e)+1(0===e.length?[1]:e).map(e=>{let r=t(e);return"number"==typeof r?`${r}px`:r}).join(" ");return r.mui=!0,r}(h),b=(0,i.Z)({breakpoints:y,direction:"ltr",components:{},palette:(0,n.Z)({mode:"light"},p),spacing:v,shape:(0,n.Z)({},l,m)},g);return b.applyStyles=f.Z,(b=t.reduce((e,t)=>(0,i.Z)(e,t),b)).unstable_sxConfig=(0,n.Z)({},u.Z,null==g?void 0:g.unstable_sxConfig),b.unstable_sx=function(e){return(0,s.Z)({sx:e,theme:this})},b}},9926:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return n.Z},private_createBreakpoints:function(){return o.Z},unstable_applyStyles:function(){return i.Z}});var n=r(7172),o=r(1512),i=r(7064)},7730:function(e,t,r){"use strict";var n=r(8027);t.Z=function(e,t){return t?(0,n.Z)(e,t,{clone:!1}):e}},8700:function(e,t,r){"use strict";r.d(t,{hB:function(){return h},eI:function(){return p},NA:function(){return m},e6:function(){return y},o3:function(){return v}});var n=r(5408),o=r(4844),i=r(7730);let a={m:"margin",p:"padding"},l={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},c={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},s=function(e){let t={};return r=>(void 0===t[r]&&(t[r]=e(r)),t[r])}(e=>{if(e.length>2){if(!c[e])return[e];e=c[e]}let[t,r]=e.split(""),n=a[t],o=l[r]||"";return Array.isArray(o)?o.map(e=>n+e):[n+o]}),u=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],f=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],d=[...u,...f];function p(e,t,r,n){var i;let a=null!=(i=(0,o.DW)(e,t,!1))?i:r;return"number"==typeof a?e=>"string"==typeof e?e:a*e:Array.isArray(a)?e=>"string"==typeof e?e:a[e]:"function"==typeof a?a:()=>void 0}function h(e){return p(e,"spacing",8,"spacing")}function m(e,t){if("string"==typeof t||null==t)return t;let r=e(Math.abs(t));return t>=0?r:"number"==typeof r?-r:`-${r}`}function g(e,t){let r=h(e.theme);return Object.keys(e).map(o=>(function(e,t,r,o){var i;if(-1===t.indexOf(r))return null;let a=(i=s(r),e=>i.reduce((t,r)=>(t[r]=m(o,e),t),{})),l=e[r];return(0,n.k9)(e,l,a)})(e,t,o,r)).reduce(i.Z,{})}function y(e){return g(e,u)}function v(e){return g(e,f)}function b(e){return g(e,d)}y.propTypes={},y.filterProps=u,v.propTypes={},v.filterProps=f,b.propTypes={},b.filterProps=d},4844:function(e,t,r){"use strict";r.d(t,{DW:function(){return i},Jq:function(){return a}});var n=r(2908),o=r(5408);function i(e,t,r=!0){if(!t||"string"!=typeof t)return null;if(e&&e.vars&&r){let r=`vars.${t}`.split(".").reduce((e,t)=>e&&e[t]?e[t]:null,e);if(null!=r)return r}return t.split(".").reduce((e,t)=>e&&null!=e[t]?e[t]:null,e)}function a(e,t,r,n=r){let o;return o="function"==typeof e?e(r):Array.isArray(e)?e[r]||n:i(e,r)||n,t&&(o=t(o,n,e)),o}t.ZP=function(e){let{prop:t,cssProperty:r=e.prop,themeKey:l,transform:c}=e,s=e=>{if(null==e[t])return null;let s=e[t],u=i(e.theme,l)||{};return(0,o.k9)(e,s,e=>{let o=a(u,c,e);return(e===o&&"string"==typeof e&&(o=a(u,c,`${t}${"default"===e?"":(0,n.Z)(e)}`,e)),!1===r)?o:{[r]:o}})};return s.propTypes={},s.filterProps=[t],s}},4920:function(e,t,r){"use strict";r.d(t,{Z:function(){return B}});var n=r(8700),o=r(4844),i=r(7730),a=function(...e){let t=e.reduce((e,t)=>(t.filterProps.forEach(r=>{e[r]=t}),e),{}),r=e=>Object.keys(e).reduce((r,n)=>t[n]?(0,i.Z)(r,t[n](e)):r,{});return r.propTypes={},r.filterProps=e.reduce((e,t)=>e.concat(t.filterProps),[]),r},l=r(5408);function c(e){return"number"!=typeof e?e:`${e}px solid`}function s(e,t){return(0,o.ZP)({prop:e,themeKey:"borders",transform:t})}let u=s("border",c),f=s("borderTop",c),d=s("borderRight",c),p=s("borderBottom",c),h=s("borderLeft",c),m=s("borderColor"),g=s("borderTopColor"),y=s("borderRightColor"),v=s("borderBottomColor"),b=s("borderLeftColor"),x=s("outline",c),Z=s("outlineColor"),k=e=>{if(void 0!==e.borderRadius&&null!==e.borderRadius){let t=(0,n.eI)(e.theme,"shape.borderRadius",4,"borderRadius");return(0,l.k9)(e,e.borderRadius,e=>({borderRadius:(0,n.NA)(t,e)}))}return null};k.propTypes={},k.filterProps=["borderRadius"],a(u,f,d,p,h,m,g,y,v,b,k,x,Z);let w=e=>{if(void 0!==e.gap&&null!==e.gap){let t=(0,n.eI)(e.theme,"spacing",8,"gap");return(0,l.k9)(e,e.gap,e=>({gap:(0,n.NA)(t,e)}))}return null};w.propTypes={},w.filterProps=["gap"];let S=e=>{if(void 0!==e.columnGap&&null!==e.columnGap){let t=(0,n.eI)(e.theme,"spacing",8,"columnGap");return(0,l.k9)(e,e.columnGap,e=>({columnGap:(0,n.NA)(t,e)}))}return null};S.propTypes={},S.filterProps=["columnGap"];let C=e=>{if(void 0!==e.rowGap&&null!==e.rowGap){let t=(0,n.eI)(e.theme,"spacing",8,"rowGap");return(0,l.k9)(e,e.rowGap,e=>({rowGap:(0,n.NA)(t,e)}))}return null};C.propTypes={},C.filterProps=["rowGap"];let P=(0,o.ZP)({prop:"gridColumn"}),O=(0,o.ZP)({prop:"gridRow"}),A=(0,o.ZP)({prop:"gridAutoFlow"}),R=(0,o.ZP)({prop:"gridAutoColumns"}),M=(0,o.ZP)({prop:"gridAutoRows"}),E=(0,o.ZP)({prop:"gridTemplateColumns"});function j(e,t){return"grey"===t?t:e}function _(e){return e<=1&&0!==e?`${100*e}%`:e}a(w,S,C,P,O,A,R,M,E,(0,o.ZP)({prop:"gridTemplateRows"}),(0,o.ZP)({prop:"gridTemplateAreas"}),(0,o.ZP)({prop:"gridArea"})),a((0,o.ZP)({prop:"color",themeKey:"palette",transform:j}),(0,o.ZP)({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:j}),(0,o.ZP)({prop:"backgroundColor",themeKey:"palette",transform:j}));let T=(0,o.ZP)({prop:"width",transform:_}),$=e=>void 0!==e.maxWidth&&null!==e.maxWidth?(0,l.k9)(e,e.maxWidth,t=>{var r,n;let o=(null==(r=e.theme)||null==(r=r.breakpoints)||null==(r=r.values)?void 0:r[t])||l.VO[t];return o?(null==(n=e.theme)||null==(n=n.breakpoints)?void 0:n.unit)!=="px"?{maxWidth:`${o}${e.theme.breakpoints.unit}`}:{maxWidth:o}:{maxWidth:_(t)}}):null;$.filterProps=["maxWidth"];let z=(0,o.ZP)({prop:"minWidth",transform:_}),I=(0,o.ZP)({prop:"height",transform:_}),N=(0,o.ZP)({prop:"maxHeight",transform:_}),W=(0,o.ZP)({prop:"minHeight",transform:_});(0,o.ZP)({prop:"size",cssProperty:"width",transform:_}),(0,o.ZP)({prop:"size",cssProperty:"height",transform:_}),a(T,$,z,I,N,W,(0,o.ZP)({prop:"boxSizing"}));var B={border:{themeKey:"borders",transform:c},borderTop:{themeKey:"borders",transform:c},borderRight:{themeKey:"borders",transform:c},borderBottom:{themeKey:"borders",transform:c},borderLeft:{themeKey:"borders",transform:c},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:c},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:k},color:{themeKey:"palette",transform:j},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:j},backgroundColor:{themeKey:"palette",transform:j},p:{style:n.o3},pt:{style:n.o3},pr:{style:n.o3},pb:{style:n.o3},pl:{style:n.o3},px:{style:n.o3},py:{style:n.o3},padding:{style:n.o3},paddingTop:{style:n.o3},paddingRight:{style:n.o3},paddingBottom:{style:n.o3},paddingLeft:{style:n.o3},paddingX:{style:n.o3},paddingY:{style:n.o3},paddingInline:{style:n.o3},paddingInlineStart:{style:n.o3},paddingInlineEnd:{style:n.o3},paddingBlock:{style:n.o3},paddingBlockStart:{style:n.o3},paddingBlockEnd:{style:n.o3},m:{style:n.e6},mt:{style:n.e6},mr:{style:n.e6},mb:{style:n.e6},ml:{style:n.e6},mx:{style:n.e6},my:{style:n.e6},margin:{style:n.e6},marginTop:{style:n.e6},marginRight:{style:n.e6},marginBottom:{style:n.e6},marginLeft:{style:n.e6},marginX:{style:n.e6},marginY:{style:n.e6},marginInline:{style:n.e6},marginInlineStart:{style:n.e6},marginInlineEnd:{style:n.e6},marginBlock:{style:n.e6},marginBlockStart:{style:n.e6},marginBlockEnd:{style:n.e6},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:w},rowGap:{style:C},columnGap:{style:S},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:_},maxWidth:{style:$},minWidth:{transform:_},height:{transform:_},maxHeight:{transform:_},minHeight:{transform:_},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}}},9707:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var n=r(7462),o=r(3366),i=r(8027),a=r(4920);let l=["sx"],c=e=>{var t,r;let n={systemProps:{},otherProps:{}},o=null!=(t=null==e||null==(r=e.theme)?void 0:r.unstable_sxConfig)?t:a.Z;return Object.keys(e).forEach(t=>{o[t]?n.systemProps[t]=e[t]:n.otherProps[t]=e[t]}),n};function s(e){let t;let{sx:r}=e,{systemProps:a,otherProps:s}=c((0,o.Z)(e,l));return t=Array.isArray(r)?[a,...r]:"function"==typeof r?(...e)=>{let t=r(...e);return(0,i.P)(t)?(0,n.Z)({},a,t):a}:(0,n.Z)({},a,r),(0,n.Z)({},s,{sx:t})}},386:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return n.Z},extendSxProp:function(){return o.Z},unstable_createStyleFunctionSx:function(){return n.n},unstable_defaultSxConfig:function(){return i.Z}});var n=r(6523),o=r(9707),i=r(4920)},6523:function(e,t,r){"use strict";r.d(t,{n:function(){return c}});var n=r(2908),o=r(7730),i=r(4844),a=r(5408),l=r(4920);function c(){function e(e,t,r,o){let l={[e]:t,theme:r},c=o[e];if(!c)return{[e]:t};let{cssProperty:s=e,themeKey:u,transform:f,style:d}=c;if(null==t)return null;if("typography"===u&&"inherit"===t)return{[e]:t};let p=(0,i.DW)(r,u)||{};return d?d(l):(0,a.k9)(l,t,t=>{let r=(0,i.Jq)(p,f,t);return(t===r&&"string"==typeof t&&(r=(0,i.Jq)(p,f,`${e}${"default"===t?"":(0,n.Z)(t)}`,t)),!1===s)?r:{[s]:r}})}return function t(r){var n;let{sx:i,theme:c={}}=r||{};if(!i)return null;let s=null!=(n=c.unstable_sxConfig)?n:l.Z;function u(r){let n=r;if("function"==typeof r)n=r(c);else if("object"!=typeof r)return r;if(!n)return null;let i=(0,a.W8)(c.breakpoints),l=Object.keys(i),u=i;return Object.keys(n).forEach(r=>{var i;let l="function"==typeof(i=n[r])?i(c):i;if(null!=l){if("object"==typeof l){if(s[r])u=(0,o.Z)(u,e(r,l,c,s));else{let e=(0,a.k9)({theme:c},l,e=>({[r]:e}));(function(...e){let t=new Set(e.reduce((e,t)=>e.concat(Object.keys(t)),[]));return e.every(e=>t.size===Object.keys(e).length)})(e,l)?u[r]=t({sx:l,theme:c}):u=(0,o.Z)(u,e)}}else u=(0,o.Z)(u,e(r,l,c,s))}}),(0,a.L7)(l,u)}return Array.isArray(i)?i.map(u):u(i)}}let s=c();s.filterProps=["sx"],t.Z=s},9718:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(7172),o=r(7294),i=r(6498),a=function(e=null){let t=o.useContext(i.T);return t&&0!==Object.keys(t).length?t:e};let l=(0,n.Z)();var c=function(e=l){return a(e)}},5149:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var n=r(2236),o=r(9718);function i({props:e,name:t,defaultTheme:r,themeId:i}){let a=(0,o.Z)(r);return i&&(a=a[i]||a),function(e){let{theme:t,name:r,props:o}=e;return t&&t.components&&t.components[r]&&t.components[r].defaultProps?(0,n.Z)(t.components[r].defaultProps,o):o}({theme:a,name:t,props:e})}},1983:function(e,t){"use strict";let r;let n=e=>e,o=(r=n,{configure(e){r=e},generate:e=>r(e),reset(){r=n}});t.Z=o},2908:function(e,t,r){"use strict";r.d(t,{Z:function(){return o}});var n=r(8758);function o(e){if("string"!=typeof e)throw Error((0,n.Z)(7));return e.charAt(0).toUpperCase()+e.slice(1)}},9698:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return n.Z}});var n=r(2908)},9425:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return n}});var n=function(e,t=Number.MIN_SAFE_INTEGER,r=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,r))}},8510:function(e,t,r){"use strict";function n(e,t,r){let n={};return Object.keys(e).forEach(o=>{n[o]=e[o].reduce((e,n)=>{if(n){let o=t(n);""!==o&&e.push(o),r&&r[n]&&e.push(r[n])}return e},[]).join(" ")}),n}r.d(t,{Z:function(){return n}})},8027:function(e,t,r){"use strict";r.d(t,{P:function(){return o},Z:function(){return function e(t,r,i={clone:!0}){let a=i.clone?(0,n.Z)({},t):t;return o(t)&&o(r)&&Object.keys(r).forEach(n=>{o(r[n])&&Object.prototype.hasOwnProperty.call(t,n)&&o(t[n])?a[n]=e(t[n],r[n],i):i.clone?a[n]=o(r[n])?function e(t){if(!o(t))return t;let r={};return Object.keys(t).forEach(n=>{r[n]=e(t[n])}),r}(r[n]):r[n]:a[n]=r[n]}),a}}});var n=r(7462);function o(e){if("object"!=typeof e||null===e)return!1;let t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}},211:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return n.Z},isPlainObject:function(){return n.P}});var n=r(8027)},8758:function(e,t,r){"use strict";function n(e){let t="https://mui.com/production-error/?code="+e;for(let e=1;e{o[t]=(0,n.ZP)(e,t,r)}),o}},7889:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return c},getFunctionName:function(){return i}});var n=r(9864);let o=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function i(e){let t=`${e}`.match(o);return t&&t[1]||""}function a(e,t=""){return e.displayName||e.name||i(e)||t}function l(e,t,r){let n=a(t);return e.displayName||(""!==n?`${r}(${n})`:r)}function c(e){if(null!=e){if("string"==typeof e)return e;if("function"==typeof e)return a(e,"Component");if("object"==typeof e)switch(e.$$typeof){case n.ForwardRef:return l(e,e.render,"ForwardRef");case n.Memo:return l(e,e.type,"memo")}}}},2236:function(e,t,r){"use strict";r.d(t,{Z:function(){return function e(t,r){let o=(0,n.Z)({},r);return Object.keys(t).forEach(i=>{if(i.toString().match(/^(components|slots)$/))o[i]=(0,n.Z)({},t[i],o[i]);else if(i.toString().match(/^(componentsProps|slotProps)$/)){let a=t[i]||{},l=r[i];o[i]={},l&&Object.keys(l)?a&&Object.keys(a)?(o[i]=(0,n.Z)({},l),Object.keys(a).forEach(t=>{o[i][t]=e(a[t],l[t])})):o[i]=l:o[i]=a}else void 0===o[i]&&(o[i]=t[i])}),o}}});var n=r(7462)},5091:function(e,t,r){"use strict";function n(e,t){"function"==typeof e?e(t):e&&(e.current=t)}r.d(t,{Z:function(){return n}})},4895:function(e,t,r){"use strict";var n=r(7294);let o="undefined"!=typeof window?n.useLayoutEffect:n.useEffect;t.Z=o},9192:function(e,t,r){"use strict";r.d(t,{V:function(){return a},Z:function(){return l}});var n=r(7294);let o={},i=[];class a{constructor(){this.currentId=null,this.clear=()=>{null!==this.currentId&&(clearTimeout(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.clear}static create(){return new a}start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,t()},e)}}function l(){var e;let t=function(e,t){let r=n.useRef(o);return r.current===o&&(r.current=e(void 0)),r}(a.create).current;return e=t.disposeEffect,n.useEffect(e,i),t}},8679:function(e,t,r){"use strict";var n=r(1296),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function c(e){return n.isMemo(e)?a:l[e.$$typeof]||o}l[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[n.Memo]=a;var s=Object.defineProperty,u=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,r,n){if("string"!=typeof r){if(h){var o=p(r);o&&o!==h&&e(t,o,n)}var a=u(r);f&&(a=a.concat(f(r)));for(var l=c(t),m=c(r),g=0;g"theme"!==e&&"sx"!==e&&"as"!==e})(c.Z);return i.forwardRef(function(e,i){let l=(0,u.Z)(r),c=(0,s.Z)(e),{className:g,component:y="div"}=c,v=(0,o.Z)(c,d);return(0,f.jsx)(m,(0,n.Z)({as:y,ref:i,className:(0,a.Z)(g,h?h(p):p),theme:t&&l[t]||l},v))})}({themeId:m.Z,defaultTheme:y,defaultClassName:g.root,generateClassName:p.Z.generate})},8163:function(e,t,r){"use strict";r.d(t,{Z:function(){return A}});var n=r(3366),o=r(7462),i=r(7294),a=r(512),l=r(2236),c=r(8510),s=r(2101),u=r(9262),f=r(7633),d=r(9145),p=r(3220),h=r(5228),m=r(1977),g=r(5463);function y(e){return(0,g.ZP)("MuiButton",e)}let v=(0,m.Z)("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]),b=i.createContext({}),x=i.createContext(void 0);var Z=r(5893);let k=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],w=e=>{let{color:t,disableElevation:r,fullWidth:n,size:i,variant:a,classes:l}=e,s={root:["root",a,"".concat(a).concat((0,h.Z)(t)),"size".concat((0,h.Z)(i)),"".concat(a,"Size").concat((0,h.Z)(i)),"color".concat((0,h.Z)(t)),r&&"disableElevation",n&&"fullWidth"],label:["label"],startIcon:["icon","startIcon","iconSize".concat((0,h.Z)(i))],endIcon:["icon","endIcon","iconSize".concat((0,h.Z)(i))]},u=(0,c.Z)(s,y,l);return(0,o.Z)({},l,u)},S=e=>(0,o.Z)({},"small"===e.size&&{"& > *:nth-of-type(1)":{fontSize:18}},"medium"===e.size&&{"& > *:nth-of-type(1)":{fontSize:20}},"large"===e.size&&{"& > *:nth-of-type(1)":{fontSize:22}}),C=(0,u.ZP)(p.Z,{shouldForwardProp:e=>(0,f.Z)(e)||"classes"===e,name:"MuiButton",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],t["".concat(r.variant).concat((0,h.Z)(r.color))],t["size".concat((0,h.Z)(r.size))],t["".concat(r.variant,"Size").concat((0,h.Z)(r.size))],"inherit"===r.color&&t.colorInherit,r.disableElevation&&t.disableElevation,r.fullWidth&&t.fullWidth]}})(e=>{var t,r;let{theme:n,ownerState:i}=e,a="light"===n.palette.mode?n.palette.grey[300]:n.palette.grey[800],l="light"===n.palette.mode?n.palette.grey.A100:n.palette.grey[700];return(0,o.Z)({},n.typography.button,{minWidth:64,padding:"6px 16px",borderRadius:(n.vars||n).shape.borderRadius,transition:n.transitions.create(["background-color","box-shadow","border-color","color"],{duration:n.transitions.duration.short}),"&:hover":(0,o.Z)({textDecoration:"none",backgroundColor:n.vars?"rgba(".concat(n.vars.palette.text.primaryChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,s.Fq)(n.palette.text.primary,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"text"===i.variant&&"inherit"!==i.color&&{backgroundColor:n.vars?"rgba(".concat(n.vars.palette[i.color].mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,s.Fq)(n.palette[i.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"outlined"===i.variant&&"inherit"!==i.color&&{border:"1px solid ".concat((n.vars||n).palette[i.color].main),backgroundColor:n.vars?"rgba(".concat(n.vars.palette[i.color].mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,s.Fq)(n.palette[i.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"contained"===i.variant&&{backgroundColor:n.vars?n.vars.palette.Button.inheritContainedHoverBg:l,boxShadow:(n.vars||n).shadows[4],"@media (hover: none)":{boxShadow:(n.vars||n).shadows[2],backgroundColor:(n.vars||n).palette.grey[300]}},"contained"===i.variant&&"inherit"!==i.color&&{backgroundColor:(n.vars||n).palette[i.color].dark,"@media (hover: none)":{backgroundColor:(n.vars||n).palette[i.color].main}}),"&:active":(0,o.Z)({},"contained"===i.variant&&{boxShadow:(n.vars||n).shadows[8]}),["&.".concat(v.focusVisible)]:(0,o.Z)({},"contained"===i.variant&&{boxShadow:(n.vars||n).shadows[6]}),["&.".concat(v.disabled)]:(0,o.Z)({color:(n.vars||n).palette.action.disabled},"outlined"===i.variant&&{border:"1px solid ".concat((n.vars||n).palette.action.disabledBackground)},"contained"===i.variant&&{color:(n.vars||n).palette.action.disabled,boxShadow:(n.vars||n).shadows[0],backgroundColor:(n.vars||n).palette.action.disabledBackground})},"text"===i.variant&&{padding:"6px 8px"},"text"===i.variant&&"inherit"!==i.color&&{color:(n.vars||n).palette[i.color].main},"outlined"===i.variant&&{padding:"5px 15px",border:"1px solid currentColor"},"outlined"===i.variant&&"inherit"!==i.color&&{color:(n.vars||n).palette[i.color].main,border:n.vars?"1px solid rgba(".concat(n.vars.palette[i.color].mainChannel," / 0.5)"):"1px solid ".concat((0,s.Fq)(n.palette[i.color].main,.5))},"contained"===i.variant&&{color:n.vars?n.vars.palette.text.primary:null==(t=(r=n.palette).getContrastText)?void 0:t.call(r,n.palette.grey[300]),backgroundColor:n.vars?n.vars.palette.Button.inheritContainedBg:a,boxShadow:(n.vars||n).shadows[2]},"contained"===i.variant&&"inherit"!==i.color&&{color:(n.vars||n).palette[i.color].contrastText,backgroundColor:(n.vars||n).palette[i.color].main},"inherit"===i.color&&{color:"inherit",borderColor:"currentColor"},"small"===i.size&&"text"===i.variant&&{padding:"4px 5px",fontSize:n.typography.pxToRem(13)},"large"===i.size&&"text"===i.variant&&{padding:"8px 11px",fontSize:n.typography.pxToRem(15)},"small"===i.size&&"outlined"===i.variant&&{padding:"3px 9px",fontSize:n.typography.pxToRem(13)},"large"===i.size&&"outlined"===i.variant&&{padding:"7px 21px",fontSize:n.typography.pxToRem(15)},"small"===i.size&&"contained"===i.variant&&{padding:"4px 10px",fontSize:n.typography.pxToRem(13)},"large"===i.size&&"contained"===i.variant&&{padding:"8px 22px",fontSize:n.typography.pxToRem(15)},i.fullWidth&&{width:"100%"})},e=>{let{ownerState:t}=e;return t.disableElevation&&{boxShadow:"none","&:hover":{boxShadow:"none"},["&.".concat(v.focusVisible)]:{boxShadow:"none"},"&:active":{boxShadow:"none"},["&.".concat(v.disabled)]:{boxShadow:"none"}}}),P=(0,u.ZP)("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.startIcon,t["iconSize".concat((0,h.Z)(r.size))]]}})(e=>{let{ownerState:t}=e;return(0,o.Z)({display:"inherit",marginRight:8,marginLeft:-4},"small"===t.size&&{marginLeft:-2},S(t))}),O=(0,u.ZP)("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.endIcon,t["iconSize".concat((0,h.Z)(r.size))]]}})(e=>{let{ownerState:t}=e;return(0,o.Z)({display:"inherit",marginRight:-4,marginLeft:8},"small"===t.size&&{marginRight:-2},S(t))});var A=i.forwardRef(function(e,t){let r=i.useContext(b),c=i.useContext(x),s=(0,l.Z)(r,e),u=(0,d.Z)({props:s,name:"MuiButton"}),{children:f,color:p="primary",component:h="button",className:m,disabled:g=!1,disableElevation:y=!1,disableFocusRipple:v=!1,endIcon:S,focusVisibleClassName:A,fullWidth:R=!1,size:M="medium",startIcon:E,type:j,variant:_="text"}=u,T=(0,n.Z)(u,k),$=(0,o.Z)({},u,{color:p,component:h,disabled:g,disableElevation:y,disableFocusRipple:v,fullWidth:R,size:M,type:j,variant:_}),z=w($),I=E&&(0,Z.jsx)(P,{className:z.startIcon,ownerState:$,children:E}),N=S&&(0,Z.jsx)(O,{className:z.endIcon,ownerState:$,children:S});return(0,Z.jsxs)(C,(0,o.Z)({ownerState:$,className:(0,a.Z)(r.className,z.root,m,c||""),component:h,disabled:g,focusRipple:!v,focusVisibleClassName:(0,a.Z)(z.focusVisible,A),ref:t,type:j},T,{classes:z,children:[I,f,N]}))})},3220:function(e,t,r){"use strict";let n,o,i,a;r.d(t,{Z:function(){return H}});var l=r(7462),c=r(3366),s=r(7294),u=r(512),f=r(8510),d=r(9262),p=r(9145),h=r(6619),m=r(6778),g=r(2859);function y(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function v(e,t){return(v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var b=s.createContext(null);function x(e,t){var r=Object.create(null);return e&&s.Children.map(e,function(e){return e}).forEach(function(e){r[e.key]=t&&(0,s.isValidElement)(e)?t(e):e}),r}function Z(e,t,r){return null!=r[t]?r[t]:e.props[t]}var k=Object.values||function(e){return Object.keys(e).map(function(t){return e[t]})},w=function(e){function t(t,r){var n,o=(n=e.call(this,t,r)||this).handleExited.bind(function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(n));return n.state={contextValue:{isMounting:!0},handleExited:o,firstRender:!0},n}t.prototype=Object.create(e.prototype),t.prototype.constructor=t,v(t,e);var r=t.prototype;return r.componentDidMount=function(){this.mounted=!0,this.setState({contextValue:{isMounting:!1}})},r.componentWillUnmount=function(){this.mounted=!1},t.getDerivedStateFromProps=function(e,t){var r,n,o=t.children,i=t.handleExited;return{children:t.firstRender?x(e.children,function(t){return(0,s.cloneElement)(t,{onExited:i.bind(null,t),in:!0,appear:Z(t,"appear",e),enter:Z(t,"enter",e),exit:Z(t,"exit",e)})}):(Object.keys(n=function(e,t){function r(r){return r in t?t[r]:e[r]}e=e||{},t=t||{};var n,o=Object.create(null),i=[];for(var a in e)a in t?i.length&&(o[a]=i,i=[]):i.push(a);var l={};for(var c in t){if(o[c])for(n=0;n{if(!l&&null!=c){let e=setTimeout(c,f);return()=>{clearTimeout(e)}}},[c,l,f]),(0,P.jsx)("span",{className:h,style:{width:a,height:a,top:-(a/2)+i,left:-(a/2)+o},children:(0,P.jsx)("span",{className:m})})},{name:"MuiTouchRipple",slot:"Ripple"})(a||(a=j()),A.rippleVisible,T,550,e=>{let{theme:t}=e;return t.transitions.easing.easeInOut},A.ripplePulsate,e=>{let{theme:t}=e;return t.transitions.duration.shorter},A.child,A.childLeaving,$,550,e=>{let{theme:t}=e;return t.transitions.easing.easeInOut},A.childPulsate,z,e=>{let{theme:t}=e;return t.transitions.easing.easeInOut}),W=s.forwardRef(function(e,t){let r=(0,p.Z)({props:e,name:"MuiTouchRipple"}),{center:n=!1,classes:o={},className:i}=r,a=(0,c.Z)(r,_),[f,d]=s.useState([]),h=s.useRef(0),m=s.useRef(null);s.useEffect(()=>{m.current&&(m.current(),m.current=null)},[f]);let g=s.useRef(!1),y=(0,C.Z)(),v=s.useRef(null),b=s.useRef(null),x=s.useCallback(e=>{let{pulsate:t,rippleX:r,rippleY:n,rippleSize:i,cb:a}=e;d(e=>[...e,(0,P.jsx)(N,{classes:{ripple:(0,u.Z)(o.ripple,A.ripple),rippleVisible:(0,u.Z)(o.rippleVisible,A.rippleVisible),ripplePulsate:(0,u.Z)(o.ripplePulsate,A.ripplePulsate),child:(0,u.Z)(o.child,A.child),childLeaving:(0,u.Z)(o.childLeaving,A.childLeaving),childPulsate:(0,u.Z)(o.childPulsate,A.childPulsate)},timeout:550,pulsate:t,rippleX:r,rippleY:n,rippleSize:i},h.current)]),h.current+=1,m.current=a},[o]),Z=s.useCallback(function(){let e,t,r,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>{},{pulsate:l=!1,center:c=n||i.pulsate,fakeElement:s=!1}=i;if((null==o?void 0:o.type)==="mousedown"&&g.current){g.current=!1;return}(null==o?void 0:o.type)==="touchstart"&&(g.current=!0);let u=s?null:b.current,f=u?u.getBoundingClientRect():{width:0,height:0,left:0,top:0};if(!c&&void 0!==o&&(0!==o.clientX||0!==o.clientY)&&(o.clientX||o.touches)){let{clientX:r,clientY:n}=o.touches&&o.touches.length>0?o.touches[0]:o;e=Math.round(r-f.left),t=Math.round(n-f.top)}else e=Math.round(f.width/2),t=Math.round(f.height/2);c?(r=Math.sqrt((2*f.width**2+f.height**2)/3))%2==0&&(r+=1):r=Math.sqrt((2*Math.max(Math.abs((u?u.clientWidth:0)-e),e)+2)**2+(2*Math.max(Math.abs((u?u.clientHeight:0)-t),t)+2)**2),null!=o&&o.touches?null===v.current&&(v.current=()=>{x({pulsate:l,rippleX:e,rippleY:t,rippleSize:r,cb:a})},y.start(80,()=>{v.current&&(v.current(),v.current=null)})):x({pulsate:l,rippleX:e,rippleY:t,rippleSize:r,cb:a})},[n,x,y]),k=s.useCallback(()=>{Z({},{pulsate:!0})},[Z]),S=s.useCallback((e,t)=>{if(y.clear(),(null==e?void 0:e.type)==="touchend"&&v.current){v.current(),v.current=null,y.start(0,()=>{S(e,t)});return}v.current=null,d(e=>e.length>0?e.slice(1):e),m.current=t},[y]);return s.useImperativeHandle(t,()=>({pulsate:k,start:Z,stop:S}),[k,Z,S]),(0,P.jsx)(I,(0,l.Z)({className:(0,u.Z)(A.root,o.root,i),ref:b},a,{children:(0,P.jsx)(w,{component:null,exit:!0,children:f})}))});var B=r(5463);function L(e){return(0,B.ZP)("MuiButtonBase",e)}let F=(0,O.Z)("MuiButtonBase",["root","disabled","focusVisible"]),V=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],D=e=>{let{disabled:t,focusVisible:r,focusVisibleClassName:n,classes:o}=e,i=(0,f.Z)({root:["root",t&&"disabled",r&&"focusVisible"]},L,o);return r&&n&&(i.root+=" ".concat(n)),i},G=(0,d.ZP)("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},["&.".concat(F.disabled)]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}});var H=s.forwardRef(function(e,t){let r=(0,p.Z)({props:e,name:"MuiButtonBase"}),{action:n,centerRipple:o=!1,children:i,className:a,component:f="button",disabled:d=!1,disableRipple:y=!1,disableTouchRipple:v=!1,focusRipple:b=!1,LinkComponent:x="a",onBlur:Z,onClick:k,onContextMenu:w,onDragLeave:S,onFocus:C,onFocusVisible:O,onKeyDown:A,onKeyUp:R,onMouseDown:M,onMouseLeave:E,onMouseUp:j,onTouchEnd:_,onTouchMove:T,onTouchStart:$,tabIndex:z=0,TouchRippleProps:I,touchRippleRef:N,type:B}=r,L=(0,c.Z)(r,V),F=s.useRef(null),H=s.useRef(null),K=(0,h.Z)(H,N),{isFocusVisibleRef:q,onFocus:U,onBlur:X,ref:Y}=(0,g.Z)(),[J,Q]=s.useState(!1);d&&J&&Q(!1),s.useImperativeHandle(n,()=>({focusVisible:()=>{Q(!0),F.current.focus()}}),[]);let[ee,et]=s.useState(!1);s.useEffect(()=>{et(!0)},[]);let er=ee&&!y&&!d;function en(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:v;return(0,m.Z)(n=>(t&&t(n),!r&&H.current&&H.current[e](n),!0))}s.useEffect(()=>{J&&b&&!y&&ee&&H.current.pulsate()},[y,b,J,ee]);let eo=en("start",M),ei=en("stop",w),ea=en("stop",S),el=en("stop",j),ec=en("stop",e=>{J&&e.preventDefault(),E&&E(e)}),es=en("start",$),eu=en("stop",_),ef=en("stop",T),ed=en("stop",e=>{X(e),!1===q.current&&Q(!1),Z&&Z(e)},!1),ep=(0,m.Z)(e=>{F.current||(F.current=e.currentTarget),U(e),!0===q.current&&(Q(!0),O&&O(e)),C&&C(e)}),eh=()=>{let e=F.current;return f&&"button"!==f&&!("A"===e.tagName&&e.href)},em=s.useRef(!1),eg=(0,m.Z)(e=>{b&&!em.current&&J&&H.current&&" "===e.key&&(em.current=!0,H.current.stop(e,()=>{H.current.start(e)})),e.target===e.currentTarget&&eh()&&" "===e.key&&e.preventDefault(),A&&A(e),e.target===e.currentTarget&&eh()&&"Enter"===e.key&&!d&&(e.preventDefault(),k&&k(e))}),ey=(0,m.Z)(e=>{b&&" "===e.key&&H.current&&J&&!e.defaultPrevented&&(em.current=!1,H.current.stop(e,()=>{H.current.pulsate(e)})),R&&R(e),k&&e.target===e.currentTarget&&eh()&&" "===e.key&&!e.defaultPrevented&&k(e)}),ev=f;"button"===ev&&(L.href||L.to)&&(ev=x);let eb={};"button"===ev?(eb.type=void 0===B?"button":B,eb.disabled=d):(L.href||L.to||(eb.role="button"),d&&(eb["aria-disabled"]=d));let ex=(0,h.Z)(t,Y,F),eZ=(0,l.Z)({},r,{centerRipple:o,component:f,disabled:d,disableRipple:y,disableTouchRipple:v,focusRipple:b,tabIndex:z,focusVisible:J}),ek=D(eZ);return(0,P.jsxs)(G,(0,l.Z)({as:ev,className:(0,u.Z)(ek.root,a),ownerState:eZ,onBlur:ed,onClick:k,onContextMenu:ei,onFocus:ep,onKeyDown:eg,onKeyUp:ey,onMouseDown:eo,onMouseLeave:ec,onMouseUp:el,onDragLeave:ea,onTouchEnd:eu,onTouchMove:ef,onTouchStart:es,ref:ex,tabIndex:d?-1:z,type:B},eb,L,{children:[i,er?(0,P.jsx)(W,(0,l.Z)({ref:K,center:o},I)):null]}))})},7868:function(e,t,r){"use strict";r.d(t,{Z:function(){return x}});var n=r(7462),o=r(3366),i=r(7294),a=r(512),l=r(8510),c=r(9145),s=r(9262),u=r(1977),f=r(5463);function d(e){return(0,f.ZP)("MuiCardActionArea",e)}let p=(0,u.Z)("MuiCardActionArea",["root","focusVisible","focusHighlight"]);var h=r(3220),m=r(5893);let g=["children","className","focusVisibleClassName"],y=e=>{let{classes:t}=e;return(0,l.Z)({root:["root"],focusHighlight:["focusHighlight"]},d,t)},v=(0,s.ZP)(h.Z,{name:"MuiCardActionArea",slot:"Root",overridesResolver:(e,t)=>t.root})(e=>{let{theme:t}=e;return{display:"block",textAlign:"inherit",borderRadius:"inherit",width:"100%",["&:hover .".concat(p.focusHighlight)]:{opacity:(t.vars||t).palette.action.hoverOpacity,"@media (hover: none)":{opacity:0}},["&.".concat(p.focusVisible," .").concat(p.focusHighlight)]:{opacity:(t.vars||t).palette.action.focusOpacity}}}),b=(0,s.ZP)("span",{name:"MuiCardActionArea",slot:"FocusHighlight",overridesResolver:(e,t)=>t.focusHighlight})(e=>{let{theme:t}=e;return{overflow:"hidden",pointerEvents:"none",position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:"inherit",opacity:0,backgroundColor:"currentcolor",transition:t.transitions.create("opacity",{duration:t.transitions.duration.short})}});var x=i.forwardRef(function(e,t){let r=(0,c.Z)({props:e,name:"MuiCardActionArea"}),{children:i,className:l,focusVisibleClassName:s}=r,u=(0,o.Z)(r,g),f=y(r);return(0,m.jsxs)(v,(0,n.Z)({className:(0,a.Z)(f.root,l),focusVisibleClassName:(0,a.Z)(s,f.focusVisible),ref:t,ownerState:r},u,{children:[i,(0,m.jsx)(b,{className:f.focusHighlight,ownerState:r})]}))})},9203:function(e,t,r){"use strict";r.d(t,{Z:function(){return y}});var n=r(7462),o=r(3366),i=r(7294),a=r(512),l=r(8510),c=r(9262),s=r(9145),u=r(1977),f=r(5463);function d(e){return(0,f.ZP)("MuiCardContent",e)}(0,u.Z)("MuiCardContent",["root"]);var p=r(5893);let h=["className","component"],m=e=>{let{classes:t}=e;return(0,l.Z)({root:["root"]},d,t)},g=(0,c.ZP)("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(e,t)=>t.root})(()=>({padding:16,"&:last-child":{paddingBottom:24}}));var y=i.forwardRef(function(e,t){let r=(0,s.Z)({props:e,name:"MuiCardContent"}),{className:i,component:l="div"}=r,c=(0,o.Z)(r,h),u=(0,n.Z)({},r,{component:l}),f=m(u);return(0,p.jsx)(g,(0,n.Z)({as:l,className:(0,a.Z)(f.root,i),ownerState:u,ref:t},c))})},5369:function(e,t,r){"use strict";r.d(t,{Z:function(){return _}});var n=r(3366),o=r(7462),i=r(7294),a=r(512),l=r(5463),c=r(8510),s=r(2908),u=r(5149),f=r(3534),d=r(8027),p=r(7172),h=r(6523);let m=["ownerState"],g=["variants"],y=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function v(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}let b=(0,p.Z)(),x=e=>e?e.charAt(0).toLowerCase()+e.slice(1):e;function Z({defaultTheme:e,theme:t,themeId:r}){return 0===Object.keys(t).length?e:t[r]||t}function k(e,t){let{ownerState:r}=t,i=(0,n.Z)(t,m),a="function"==typeof e?e((0,o.Z)({ownerState:r},i)):e;if(Array.isArray(a))return a.flatMap(e=>k(e,(0,o.Z)({ownerState:r},i)));if(a&&"object"==typeof a&&Array.isArray(a.variants)){let{variants:e=[]}=a,t=(0,n.Z)(a,g);return e.forEach(e=>{let n=!0;"function"==typeof e.props?n=e.props((0,o.Z)({ownerState:r},i,r)):Object.keys(e.props).forEach(t=>{(null==r?void 0:r[t])!==e.props[t]&&i[t]!==e.props[t]&&(n=!1)}),n&&(Array.isArray(t)||(t=[t]),t.push("function"==typeof e.style?e.style((0,o.Z)({ownerState:r},i,r)):e.style))}),t}return a}let w=function(e={}){let{themeId:t,defaultTheme:r=b,rootShouldForwardProp:i=v,slotShouldForwardProp:a=v}=e,l=e=>(0,h.Z)((0,o.Z)({},e,{theme:Z((0,o.Z)({},e,{defaultTheme:r,themeId:t}))}));return l.__mui_systemSx=!0,(e,c={})=>{var s;let u;(0,f.internal_processStyles)(e,e=>e.filter(e=>!(null!=e&&e.__mui_systemSx)));let{name:p,slot:h,skipVariantsResolver:m,skipSx:g,overridesResolver:b=(s=x(h))?(e,t)=>t[s]:null}=c,w=(0,n.Z)(c,y),S=void 0!==m?m:h&&"Root"!==h&&"root"!==h||!1,C=g||!1,P=v;"Root"===h||"root"===h?P=i:h?P=a:"string"==typeof e&&e.charCodeAt(0)>96&&(P=void 0);let O=(0,f.default)(e,(0,o.Z)({shouldForwardProp:P,label:u},w)),A=e=>"function"==typeof e&&e.__emotion_real!==e||(0,d.P)(e)?n=>k(e,(0,o.Z)({},n,{theme:Z({theme:n.theme,defaultTheme:r,themeId:t})})):e,R=(n,...i)=>{let a=A(n),c=i?i.map(A):[];p&&b&&c.push(e=>{let n=Z((0,o.Z)({},e,{defaultTheme:r,themeId:t}));if(!n.components||!n.components[p]||!n.components[p].styleOverrides)return null;let i=n.components[p].styleOverrides,a={};return Object.entries(i).forEach(([t,r])=>{a[t]=k(r,(0,o.Z)({},e,{theme:n}))}),b(e,a)}),p&&!S&&c.push(e=>{var n;let i=Z((0,o.Z)({},e,{defaultTheme:r,themeId:t}));return k({variants:null==i||null==(n=i.components)||null==(n=n[p])?void 0:n.variants},(0,o.Z)({},e,{theme:i}))}),C||c.push(l);let s=c.length-i.length;if(Array.isArray(n)&&s>0){let e=Array(s).fill("");(a=[...n,...e]).raw=[...n.raw,...e]}let u=O(a,...c);return e.muiName&&(u.muiName=e.muiName),u};return O.withConfig&&(R.withConfig=O.withConfig),R}}();var S=r(5893);let C=["className","component","disableGutters","fixed","maxWidth","classes"],P=(0,p.Z)(),O=w("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[`maxWidth${(0,s.Z)(String(r.maxWidth))}`],r.fixed&&t.fixed,r.disableGutters&&t.disableGutters]}}),A=e=>(0,u.Z)({props:e,name:"MuiContainer",defaultTheme:P}),R=(e,t)=>{let{classes:r,fixed:n,disableGutters:o,maxWidth:i}=e,a={root:["root",i&&`maxWidth${(0,s.Z)(String(i))}`,n&&"fixed",o&&"disableGutters"]};return(0,c.Z)(a,e=>(0,l.ZP)(t,e),r)};var M=r(5228),E=r(9262),j=r(9145),_=function(e={}){let{createStyledComponent:t=O,useThemeProps:r=A,componentName:l="MuiContainer"}=e,c=t(({theme:e,ownerState:t})=>(0,o.Z)({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",display:"block"},!t.disableGutters&&{paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up("sm")]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}}),({theme:e,ownerState:t})=>t.fixed&&Object.keys(e.breakpoints.values).reduce((t,r)=>{let n=e.breakpoints.values[r];return 0!==n&&(t[e.breakpoints.up(r)]={maxWidth:`${n}${e.breakpoints.unit}`}),t},{}),({theme:e,ownerState:t})=>(0,o.Z)({},"xs"===t.maxWidth&&{[e.breakpoints.up("xs")]:{maxWidth:Math.max(e.breakpoints.values.xs,444)}},t.maxWidth&&"xs"!==t.maxWidth&&{[e.breakpoints.up(t.maxWidth)]:{maxWidth:`${e.breakpoints.values[t.maxWidth]}${e.breakpoints.unit}`}}));return i.forwardRef(function(e,t){let i=r(e),{className:s,component:u="div",disableGutters:f=!1,fixed:d=!1,maxWidth:p="lg"}=i,h=(0,n.Z)(i,C),m=(0,o.Z)({},i,{component:u,disableGutters:f,fixed:d,maxWidth:p}),g=R(m,l);return(0,S.jsx)(c,(0,o.Z)({as:u,ownerState:m,className:(0,a.Z)(g.root,s),ref:t},h))})}({createStyledComponent:(0,E.ZP)("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t["maxWidth".concat((0,M.Z)(String(r.maxWidth)))],r.fixed&&t.fixed,r.disableGutters&&t.disableGutters]}}),useThemeProps:e=>(0,j.Z)({props:e,name:"MuiContainer"})})},9619:function(e,t,r){"use strict";r.d(t,{Z:function(){return x}});var n=r(3366),o=r(7462),i=r(7294),a=r(512),l=r(8510),c=r(2101),s=r(9262),u=r(9145),f=r(1977),d=r(5463);function p(e){return(0,d.ZP)("MuiDivider",e)}(0,f.Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);var h=r(5893);let m=["absolute","children","className","component","flexItem","light","orientation","role","textAlign","variant"],g=e=>{let{absolute:t,children:r,classes:n,flexItem:o,light:i,orientation:a,textAlign:c,variant:s}=e;return(0,l.Z)({root:["root",t&&"absolute",s,i&&"light","vertical"===a&&"vertical",o&&"flexItem",r&&"withChildren",r&&"vertical"===a&&"withChildrenVertical","right"===c&&"vertical"!==a&&"textAlignRight","left"===c&&"vertical"!==a&&"textAlignLeft"],wrapper:["wrapper","vertical"===a&&"wrapperVertical"]},p,n)},y=(0,s.ZP)("div",{name:"MuiDivider",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.absolute&&t.absolute,t[r.variant],r.light&&t.light,"vertical"===r.orientation&&t.vertical,r.flexItem&&t.flexItem,r.children&&t.withChildren,r.children&&"vertical"===r.orientation&&t.withChildrenVertical,"right"===r.textAlign&&"vertical"!==r.orientation&&t.textAlignRight,"left"===r.textAlign&&"vertical"!==r.orientation&&t.textAlignLeft]}})(e=>{let{theme:t,ownerState:r}=e;return(0,o.Z)({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(t.vars||t).palette.divider,borderBottomWidth:"thin"},r.absolute&&{position:"absolute",bottom:0,left:0,width:"100%"},r.light&&{borderColor:t.vars?"rgba(".concat(t.vars.palette.dividerChannel," / 0.08)"):(0,c.Fq)(t.palette.divider,.08)},"inset"===r.variant&&{marginLeft:72},"middle"===r.variant&&"horizontal"===r.orientation&&{marginLeft:t.spacing(2),marginRight:t.spacing(2)},"middle"===r.variant&&"vertical"===r.orientation&&{marginTop:t.spacing(1),marginBottom:t.spacing(1)},"vertical"===r.orientation&&{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"},r.flexItem&&{alignSelf:"stretch",height:"auto"})},e=>{let{ownerState:t}=e;return(0,o.Z)({},t.children&&{display:"flex",whiteSpace:"nowrap",textAlign:"center",border:0,"&::before, &::after":{content:'""',alignSelf:"center"}})},e=>{let{theme:t,ownerState:r}=e;return(0,o.Z)({},r.children&&"vertical"!==r.orientation&&{"&::before, &::after":{width:"100%",borderTop:"thin solid ".concat((t.vars||t).palette.divider)}})},e=>{let{theme:t,ownerState:r}=e;return(0,o.Z)({},r.children&&"vertical"===r.orientation&&{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:"thin solid ".concat((t.vars||t).palette.divider)}})},e=>{let{ownerState:t}=e;return(0,o.Z)({},"right"===t.textAlign&&"vertical"!==t.orientation&&{"&::before":{width:"90%"},"&::after":{width:"10%"}},"left"===t.textAlign&&"vertical"!==t.orientation&&{"&::before":{width:"10%"},"&::after":{width:"90%"}})}),v=(0,s.ZP)("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.wrapper,"vertical"===r.orientation&&t.wrapperVertical]}})(e=>{let{theme:t,ownerState:r}=e;return(0,o.Z)({display:"inline-block",paddingLeft:"calc(".concat(t.spacing(1)," * 1.2)"),paddingRight:"calc(".concat(t.spacing(1)," * 1.2)")},"vertical"===r.orientation&&{paddingTop:"calc(".concat(t.spacing(1)," * 1.2)"),paddingBottom:"calc(".concat(t.spacing(1)," * 1.2)")})}),b=i.forwardRef(function(e,t){let r=(0,u.Z)({props:e,name:"MuiDivider"}),{absolute:i=!1,children:l,className:c,component:s=l?"div":"hr",flexItem:f=!1,light:d=!1,orientation:p="horizontal",role:b="hr"!==s?"separator":void 0,textAlign:x="center",variant:Z="fullWidth"}=r,k=(0,n.Z)(r,m),w=(0,o.Z)({},r,{absolute:i,component:s,flexItem:f,light:d,orientation:p,role:b,textAlign:x,variant:Z}),S=g(w);return(0,h.jsx)(y,(0,o.Z)({as:s,className:(0,a.Z)(S.root,c),role:b,ref:t,ownerState:w},k,{children:l?(0,h.jsx)(v,{className:S.wrapper,ownerState:w,children:l}):null}))});b.muiSkipListHighlight=!0;var x=b},3402:function(e,t,r){"use strict";r.d(t,{ZP:function(){return O}});var n=r(3366),o=r(7462),i=r(7294),a=r(512),l=r(5408),c=r(9707),s=r(8510),u=r(9262),f=r(9145),d=r(9718),p=r(7854),h=r(5038);let m=i.createContext();var g=r(1977),y=r(5463);function v(e){return(0,y.ZP)("MuiGrid",e)}let b=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],x=(0,g.Z)("MuiGrid",["root","container","item","zeroMinWidth",...[0,1,2,3,4,5,6,7,8,9,10].map(e=>"spacing-xs-".concat(e)),...["column-reverse","column","row-reverse","row"].map(e=>"direction-xs-".concat(e)),...["nowrap","wrap-reverse","wrap"].map(e=>"wrap-xs-".concat(e)),...b.map(e=>"grid-xs-".concat(e)),...b.map(e=>"grid-sm-".concat(e)),...b.map(e=>"grid-md-".concat(e)),...b.map(e=>"grid-lg-".concat(e)),...b.map(e=>"grid-xl-".concat(e))]);var Z=r(5893);let k=["className","columns","columnSpacing","component","container","direction","item","rowSpacing","spacing","wrap","zeroMinWidth"];function w(e){let t=parseFloat(e);return"".concat(t).concat(String(e).replace(String(t),"")||"px")}function S(e){let{breakpoints:t,values:r}=e,n="";Object.keys(r).forEach(e=>{""===n&&0!==r[e]&&(n=e)});let o=Object.keys(t).sort((e,r)=>t[e]-t[r]);return o.slice(0,o.indexOf(n))}let C=(0,u.ZP)("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e,{container:n,direction:o,item:i,spacing:a,wrap:l,zeroMinWidth:c,breakpoints:s}=r,u=[];n&&(u=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e||e<=0)return[];if("string"==typeof e&&!Number.isNaN(Number(e))||"number"==typeof e)return[r["spacing-xs-".concat(String(e))]];let n=[];return t.forEach(t=>{let o=e[t];Number(o)>0&&n.push(r["spacing-".concat(t,"-").concat(String(o))])}),n}(a,s,t));let f=[];return s.forEach(e=>{let n=r[e];n&&f.push(t["grid-".concat(e,"-").concat(String(n))])}),[t.root,n&&t.container,i&&t.item,c&&t.zeroMinWidth,...u,"row"!==o&&t["direction-xs-".concat(String(o))],"wrap"!==l&&t["wrap-xs-".concat(String(l))],...f]}})(e=>{let{ownerState:t}=e;return(0,o.Z)({boxSizing:"border-box"},t.container&&{display:"flex",flexWrap:"wrap",width:"100%"},t.item&&{margin:0},t.zeroMinWidth&&{minWidth:0},"wrap"!==t.wrap&&{flexWrap:t.wrap})},function(e){let{theme:t,ownerState:r}=e,n=(0,l.P$)({values:r.direction,breakpoints:t.breakpoints.values});return(0,l.k9)({theme:t},n,e=>{let t={flexDirection:e};return 0===e.indexOf("column")&&(t["& > .".concat(x.item)]={maxWidth:"none"}),t})},function(e){let{theme:t,ownerState:r}=e,{container:n,rowSpacing:o}=r,i={};if(n&&0!==o){let e;let r=(0,l.P$)({values:o,breakpoints:t.breakpoints.values});"object"==typeof r&&(e=S({breakpoints:t.breakpoints.values,values:r})),i=(0,l.k9)({theme:t},r,(r,n)=>{var o;let i=t.spacing(r);return"0px"!==i?{marginTop:"-".concat(w(i)),["& > .".concat(x.item)]:{paddingTop:w(i)}}:null!=(o=e)&&o.includes(n)?{}:{marginTop:0,["& > .".concat(x.item)]:{paddingTop:0}}})}return i},function(e){let{theme:t,ownerState:r}=e,{container:n,columnSpacing:o}=r,i={};if(n&&0!==o){let e;let r=(0,l.P$)({values:o,breakpoints:t.breakpoints.values});"object"==typeof r&&(e=S({breakpoints:t.breakpoints.values,values:r})),i=(0,l.k9)({theme:t},r,(r,n)=>{var o;let i=t.spacing(r);return"0px"!==i?{width:"calc(100% + ".concat(w(i),")"),marginLeft:"-".concat(w(i)),["& > .".concat(x.item)]:{paddingLeft:w(i)}}:null!=(o=e)&&o.includes(n)?{}:{width:"100%",marginLeft:0,["& > .".concat(x.item)]:{paddingLeft:0}}})}return i},function(e){let t,{theme:r,ownerState:n}=e;return r.breakpoints.keys.reduce((e,i)=>{let a={};if(n[i]&&(t=n[i]),!t)return e;if(!0===t)a={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if("auto"===t)a={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{let c=(0,l.P$)({values:n.columns,breakpoints:r.breakpoints.values}),s="object"==typeof c?c[i]:c;if(null==s)return e;let u="".concat(Math.round(t/s*1e8)/1e6,"%"),f={};if(n.container&&n.item&&0!==n.columnSpacing){let e=r.spacing(n.columnSpacing);if("0px"!==e){let t="calc(".concat(u," + ").concat(w(e),")");f={flexBasis:t,maxWidth:t}}}a=(0,o.Z)({flexBasis:u,flexGrow:0,maxWidth:u},f)}return 0===r.breakpoints.values[i]?Object.assign(e,a):e[r.breakpoints.up(i)]=a,e},{})}),P=e=>{let{classes:t,container:r,direction:n,item:o,spacing:i,wrap:a,zeroMinWidth:l,breakpoints:c}=e,u=[];r&&(u=function(e,t){if(!e||e<=0)return[];if("string"==typeof e&&!Number.isNaN(Number(e))||"number"==typeof e)return["spacing-xs-".concat(String(e))];let r=[];return t.forEach(t=>{let n=e[t];if(Number(n)>0){let e="spacing-".concat(t,"-").concat(String(n));r.push(e)}}),r}(i,c));let f=[];c.forEach(t=>{let r=e[t];r&&f.push("grid-".concat(t,"-").concat(String(r)))});let d={root:["root",r&&"container",o&&"item",l&&"zeroMinWidth",...u,"row"!==n&&"direction-xs-".concat(String(n)),"wrap"!==a&&"wrap-xs-".concat(String(a)),...f]};return(0,s.Z)(d,v,t)};var O=i.forwardRef(function(e,t){let r=(0,f.Z)({props:e,name:"MuiGrid"}),{breakpoints:l}=function(){let e=(0,d.Z)(p.Z);return e[h.Z]||e}(),s=(0,c.Z)(r),{className:u,columns:g,columnSpacing:y,component:v="div",container:b=!1,direction:x="row",item:w=!1,rowSpacing:S,spacing:O=0,wrap:A="wrap",zeroMinWidth:R=!1}=s,M=(0,n.Z)(s,k),E=S||O,j=y||O,_=i.useContext(m),T=b?g||12:_,$={},z=(0,o.Z)({},M);l.keys.forEach(e=>{null!=M[e]&&($[e]=M[e],delete z[e])});let I=(0,o.Z)({},s,{columns:T,container:b,direction:x,item:w,rowSpacing:E,columnSpacing:j,wrap:A,zeroMinWidth:R,spacing:O},$,{breakpoints:l.keys}),N=P(I);return(0,Z.jsx)(m.Provider,{value:T,children:(0,Z.jsx)(C,(0,o.Z)({ownerState:I,className:(0,a.Z)(N.root,u),as:v,ref:t},z))})})},4246:function(e,t,r){"use strict";r.d(t,{Z:function(){return k}});var n=r(3366),o=r(7462),i=r(7294),a=r(512),l=r(9707),c=r(8510),s=r(9262),u=r(9145),f=r(5228),d=r(1977),p=r(5463);function h(e){return(0,p.ZP)("MuiTypography",e)}(0,d.Z)("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);var m=r(5893);let g=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],y=e=>{let{align:t,gutterBottom:r,noWrap:n,paragraph:o,variant:i,classes:a}=e,l={root:["root",i,"inherit"!==e.align&&"align".concat((0,f.Z)(t)),r&&"gutterBottom",n&&"noWrap",o&&"paragraph"]};return(0,c.Z)(l,h,a)},v=(0,s.ZP)("span",{name:"MuiTypography",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.variant&&t[r.variant],"inherit"!==r.align&&t["align".concat((0,f.Z)(r.align))],r.noWrap&&t.noWrap,r.gutterBottom&&t.gutterBottom,r.paragraph&&t.paragraph]}})(e=>{let{theme:t,ownerState:r}=e;return(0,o.Z)({margin:0},"inherit"===r.variant&&{font:"inherit"},"inherit"!==r.variant&&t.typography[r.variant],"inherit"!==r.align&&{textAlign:r.align},r.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},r.gutterBottom&&{marginBottom:"0.35em"},r.paragraph&&{marginBottom:16})}),b={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},x={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},Z=e=>x[e]||e;var k=i.forwardRef(function(e,t){let r=(0,u.Z)({props:e,name:"MuiTypography"}),i=Z(r.color),c=(0,l.Z)((0,o.Z)({},r,{color:i})),{align:s="inherit",className:f,component:d,gutterBottom:p=!1,noWrap:h=!1,paragraph:x=!1,variant:k="body1",variantMapping:w=b}=c,S=(0,n.Z)(c,g),C=(0,o.Z)({},c,{align:s,color:i,className:f,component:d,gutterBottom:p,noWrap:h,paragraph:x,variant:k,variantMapping:w}),P=d||(x?"p":w[k]||b[k])||"span",O=y(C);return(0,m.jsx)(v,(0,o.Z)({as:P,ref:t,ownerState:C,className:(0,a.Z)(O.root,f)},S))})},4191:function(e,t,r){"use strict";r.d(t,{Z:function(){return $}});var n=r(7462),o=r(3366),i=r(8758),a=r(8027),l=r(4920),c=r(6523),s=r(7172),u=r(2101),f={black:"#000",white:"#fff"},d={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},p={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},h={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},m={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},g={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},y={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},v={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"};let b=["mode","contrastThreshold","tonalOffset"],x={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:f.white,default:f.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},Z={text:{primary:f.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:f.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function k(e,t,r,n){let o=n.light||n,i=n.dark||1.5*n;e[t]||(e.hasOwnProperty(r)?e[t]=e[r]:"light"===t?e.light=(0,u.$n)(e.main,o):"dark"===t&&(e.dark=(0,u._j)(e.main,i)))}let w=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"],S={textTransform:"uppercase"},C='"Roboto", "Helvetica", "Arial", sans-serif';function P(){for(var e=arguments.length,t=Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:{};for(var t,r=arguments.length,P=Array(r>1?r-1:0),$=1;$0&&void 0!==arguments[0]?arguments[0]:"light";return"dark"===e?{main:g[200],light:g[50],dark:g[400]}:{main:g[700],light:g[400],dark:g[800]}}(t),w=e.secondary||function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";return"dark"===e?{main:p[200],light:p[50],dark:p[400]}:{main:p[500],light:p[300],dark:p[700]}}(t),S=e.error||function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";return"dark"===e?{main:h[500],light:h[300],dark:h[700]}:{main:h[700],light:h[400],dark:h[800]}}(t),C=e.info||function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";return"dark"===e?{main:y[400],light:y[300],dark:y[700]}:{main:y[700],light:y[500],dark:y[900]}}(t),P=e.success||function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";return"dark"===e?{main:v[400],light:v[300],dark:v[700]}:{main:v[800],light:v[500],dark:v[900]}}(t),O=e.warning||function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";return"dark"===e?{main:m[400],light:m[300],dark:m[700]}:{main:"#ed6c02",light:m[500],dark:m[900]}}(t);function A(e){return(0,u.mi)(e,Z.text.primary)>=r?Z.text.primary:x.text.primary}let R=e=>{let{color:t,name:r,mainShade:o=500,lightShade:a=300,darkShade:c=700}=e;if(!(t=(0,n.Z)({},t)).main&&t[o]&&(t.main=t[o]),!t.hasOwnProperty("main"))throw Error((0,i.Z)(11,r?" (".concat(r,")"):"",o));if("string"!=typeof t.main)throw Error((0,i.Z)(12,r?" (".concat(r,")"):"",JSON.stringify(t.main)));return k(t,"light",a,l),k(t,"dark",c,l),t.contrastText||(t.contrastText=A(t.main)),t};return(0,a.Z)((0,n.Z)({common:(0,n.Z)({},f),mode:t,primary:R({color:s,name:"primary"}),secondary:R({color:w,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:R({color:S,name:"error"}),warning:R({color:O,name:"warning"}),info:R({color:C,name:"info"}),success:R({color:P,name:"success"}),grey:d,contrastThreshold:r,getContrastText:A,augmentColor:R,tonalOffset:l},{dark:Z,light:x}[t]),c)}(I),F=(0,s.Z)(e),V=(0,a.Z)(F,{mixins:(t=F.breakpoints,(0,n.Z)({toolbar:{minHeight:56,[t.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[t.up("sm")]:{minHeight:64}}},z)),palette:L,shadows:O.slice(),typography:function(e,t){let r="function"==typeof t?t(e):t,{fontFamily:i=C,fontSize:l=14,fontWeightLight:c=300,fontWeightRegular:s=400,fontWeightMedium:u=500,fontWeightBold:f=700,htmlFontSize:d=16,allVariants:p,pxToRem:h}=r,m=(0,o.Z)(r,w),g=l/14,y=h||(e=>"".concat(e/d*g,"rem")),v=(e,t,r,o,a)=>(0,n.Z)({fontFamily:i,fontWeight:e,fontSize:y(t),lineHeight:r},i===C?{letterSpacing:"".concat(Math.round(o/t*1e5)/1e5,"em")}:{},a,p),b={h1:v(c,96,1.167,-1.5),h2:v(c,60,1.2,-.5),h3:v(s,48,1.167,0),h4:v(s,34,1.235,.25),h5:v(s,24,1.334,0),h6:v(u,20,1.6,.15),subtitle1:v(s,16,1.75,.15),subtitle2:v(u,14,1.57,.1),body1:v(s,16,1.5,.15),body2:v(s,14,1.43,.15),button:v(u,14,1.75,.4,S),caption:v(s,12,1.66,.4),overline:v(s,12,2.66,1,S),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return(0,a.Z)((0,n.Z)({htmlFontSize:d,pxToRem:y,fontFamily:i,fontSize:l,fontWeightLight:c,fontWeightRegular:s,fontWeightMedium:u,fontWeightBold:f},b),m,{clone:!1})}(L,W),transitions:function(e){let t=(0,n.Z)({},R,e.easing),r=(0,n.Z)({},M,e.duration);return(0,n.Z)({getAutoHeightDuration:j,create:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["all"],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{duration:i=r.standard,easing:a=t.easeInOut,delay:l=0}=n;return(0,o.Z)(n,A),(Array.isArray(e)?e:[e]).map(e=>"".concat(e," ").concat("string"==typeof i?i:E(i)," ").concat(a," ").concat("string"==typeof l?l:E(l))).join(",")}},e,{easing:t,duration:r})}(N),zIndex:(0,n.Z)({},_)});return V=(0,a.Z)(V,B),(V=P.reduce((e,t)=>(0,a.Z)(e,t),V)).unstable_sxConfig=(0,n.Z)({},l.Z,null==B?void 0:B.unstable_sxConfig),V.unstable_sx=function(e){return(0,c.Z)({sx:e,theme:this})},V}},7854:function(e,t,r){"use strict";let n=(0,r(4191).Z)();t.Z=n},5038:function(e,t){"use strict";t.Z="$$material"},7633:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});var n=e=>"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e&&"classes"!==e},9262:function(e,t,r){"use strict";var n=r(8128),o=r(7854),i=r(5038),a=r(7633);let l=(0,n.ZP)({themeId:i.Z,defaultTheme:o.Z,rootShouldForwardProp:a.Z});t.ZP=l},9145:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(5149),o=r(7854),i=r(5038);function a(e){let{props:t,name:r}=e;return(0,n.Z)({props:t,name:r,defaultTheme:o.Z,themeId:i.Z})}},5228:function(e,t,r){"use strict";var n=r(2908);t.Z=n.Z},6438:function(e,t,r){"use strict";r.r(t),r.d(t,{capitalize:function(){return o.Z},createChainedFunction:function(){return i},createSvgIcon:function(){return k},debounce:function(){return w},deprecatedPropType:function(){return S},isMuiElement:function(){return C},ownerDocument:function(){return O},ownerWindow:function(){return A},requirePropFactory:function(){return R},setRef:function(){return M},unstable_ClassNameGenerator:function(){return B},unstable_useEnhancedEffect:function(){return E},unstable_useId:function(){return T},unsupportedProp:function(){return $},useControlled:function(){return z},useEventCallback:function(){return I.Z},useForkRef:function(){return N.Z},useIsFocusVisible:function(){return W.Z}});var n=r(1983),o=r(5228),i=function(...e){return e.reduce((e,t)=>null==t?e:function(...r){e.apply(this,r),t.apply(this,r)},()=>{})},a=r(7462),l=r(7294),c=r.t(l,2),s=r(3366),u=r(512),f=r(8510),d=r(9145),p=r(9262),h=r(1977),m=r(5463);function g(e){return(0,m.ZP)("MuiSvgIcon",e)}(0,h.Z)("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);var y=r(5893);let v=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],b=e=>{let{color:t,fontSize:r,classes:n}=e,i={root:["root","inherit"!==t&&"color".concat((0,o.Z)(t)),"fontSize".concat((0,o.Z)(r))]};return(0,f.Z)(i,g,n)},x=(0,p.ZP)("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,"inherit"!==r.color&&t["color".concat((0,o.Z)(r.color))],t["fontSize".concat((0,o.Z)(r.fontSize))]]}})(e=>{var t,r,n,o,i,a,l,c,s,u,f,d,p;let{theme:h,ownerState:m}=e;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:m.hasSvgAsChild?void 0:"currentColor",flexShrink:0,transition:null==(t=h.transitions)||null==(r=t.create)?void 0:r.call(t,"fill",{duration:null==(n=h.transitions)||null==(n=n.duration)?void 0:n.shorter}),fontSize:({inherit:"inherit",small:(null==(o=h.typography)||null==(i=o.pxToRem)?void 0:i.call(o,20))||"1.25rem",medium:(null==(a=h.typography)||null==(l=a.pxToRem)?void 0:l.call(a,24))||"1.5rem",large:(null==(c=h.typography)||null==(s=c.pxToRem)?void 0:s.call(c,35))||"2.1875rem"})[m.fontSize],color:null!=(u=null==(f=(h.vars||h).palette)||null==(f=f[m.color])?void 0:f.main)?u:({action:null==(d=(h.vars||h).palette)||null==(d=d.action)?void 0:d.active,disabled:null==(p=(h.vars||h).palette)||null==(p=p.action)?void 0:p.disabled,inherit:void 0})[m.color]}}),Z=l.forwardRef(function(e,t){let r=(0,d.Z)({props:e,name:"MuiSvgIcon"}),{children:n,className:o,color:i="inherit",component:c="svg",fontSize:f="medium",htmlColor:p,inheritViewBox:h=!1,titleAccess:m,viewBox:g="0 0 24 24"}=r,Z=(0,s.Z)(r,v),k=l.isValidElement(n)&&"svg"===n.type,w=(0,a.Z)({},r,{color:i,component:c,fontSize:f,instanceFontSize:e.fontSize,inheritViewBox:h,viewBox:g,hasSvgAsChild:k}),S={};h||(S.viewBox=g);let C=b(w);return(0,y.jsxs)(x,(0,a.Z)({as:c,className:(0,u.Z)(C.root,o),focusable:"false",color:p,"aria-hidden":!m||void 0,role:m?"img":void 0,ref:t},S,Z,k&&n.props,{ownerState:w,children:[k?n.props.children:n,m?(0,y.jsx)("title",{children:m}):null]}))});function k(e,t){function r(r,n){return(0,y.jsx)(Z,(0,a.Z)({"data-testid":"".concat(t,"Icon"),ref:n},r,{children:e}))}return r.muiName=Z.muiName,l.memo(l.forwardRef(r))}Z.muiName="SvgIcon";var w=function(e,t=166){let r;function n(...o){clearTimeout(r),r=setTimeout(()=>{e.apply(this,o)},t)}return n.clear=()=>{clearTimeout(r)},n},S=function(e,t){return()=>null},C=function(e,t){var r,n;return l.isValidElement(e)&&-1!==t.indexOf(null!=(r=e.type.muiName)?r:null==(n=e.type)||null==(n=n._payload)||null==(n=n.value)?void 0:n.muiName)};function P(e){return e&&e.ownerDocument||document}var O=P,A=function(e){return P(e).defaultView||window},R=function(e,t){return()=>null},M=r(5091).Z,E=r(4895).Z;let j=0,_=c["useId".toString()];var T=function(e){if(void 0!==_){let t=_();return null!=e?e:t}return function(e){let[t,r]=l.useState(e),n=e||t;return l.useEffect(()=>{null==t&&(j+=1,r(`mui-${j}`))},[t]),n}(e)},$=function(e,t,r,n,o){return null},z=function({controlled:e,default:t,name:r,state:n="value"}){let{current:o}=l.useRef(void 0!==e),[i,a]=l.useState(t),c=l.useCallback(e=>{o||a(e)},[]);return[o?e:i,c]},I=r(6778),N=r(6619),W=r(2859);let B={configure:e=>{n.Z.configure(e)}}},6778:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var n=r(7294),o=r(4895),i=function(e){let t=n.useRef(e);return(0,o.Z)(()=>{t.current=e}),n.useRef((...e)=>(0,t.current)(...e)).current}},6619:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var n=r(7294),o=r(5091),i=function(...e){return n.useMemo(()=>e.every(e=>null==e)?null:t=>{e.forEach(e=>{(0,o.Z)(e,t)})},e)}},2859:function(e,t,r){"use strict";r.d(t,{Z:function(){return d}});var n=r(7294),o=r(9192);let i=!0,a=!1,l=new o.V,c={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function s(e){e.metaKey||e.altKey||e.ctrlKey||(i=!0)}function u(){i=!1}function f(){"hidden"===this.visibilityState&&a&&(i=!0)}var d=function(){let e=n.useCallback(e=>{if(null!=e){var t;(t=e.ownerDocument).addEventListener("keydown",s,!0),t.addEventListener("mousedown",u,!0),t.addEventListener("pointerdown",u,!0),t.addEventListener("touchstart",u,!0),t.addEventListener("visibilitychange",f,!0)}},[]),t=n.useRef(!1);return{isFocusVisibleRef:t,onFocus:function(e){return!!function(e){let{target:t}=e;try{return t.matches(":focus-visible")}catch(e){}return i||function(e){let{type:t,tagName:r}=e;return"INPUT"===r&&!!c[t]&&!e.readOnly||"TEXTAREA"===r&&!e.readOnly||!!e.isContentEditable}(t)}(e)&&(t.current=!0,!0)},onBlur:function(){return!!t.current&&(a=!0,l.start(100,()=>{a=!1}),t.current=!1,!0)},ref:e}}},9921:function(e,t){"use strict";Symbol.for("react.element"),Symbol.for("react.portal"),Symbol.for("react.fragment"),Symbol.for("react.strict_mode"),Symbol.for("react.profiler"),Symbol.for("react.provider"),Symbol.for("react.context"),Symbol.for("react.server_context");/** - * @license React - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var r=Symbol.for("react.forward_ref"),n=(Symbol.for("react.suspense"),Symbol.for("react.suspense_list"),Symbol.for("react.memo"));Symbol.for("react.lazy"),Symbol.for("react.offscreen"),Symbol.for("react.module.reference"),t.ForwardRef=r,t.Memo=n},9864:function(e,t,r){"use strict";e.exports=r(9921)},434:function(e){function t(){return e.exports=t=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)continue;r[n]=e[n]}return r},e.exports.__esModule=!0,e.exports.default=e.exports},7462:function(e,t,r){"use strict";function n(){return(n=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)continue;r[n]=e[n]}return r}r.d(t,{Z:function(){return n}})}}]); \ No newline at end of file diff --git a/_next/static/chunks/5493.ca540e6519a2722b.js b/_next/static/chunks/5493.ca540e6519a2722b.js new file mode 100644 index 0000000..512d38f --- /dev/null +++ b/_next/static/chunks/5493.ca540e6519a2722b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5493],{5493:function(t,i,e){let s;e.d(i,{diagram:function(){return B}});var n=e(1835),a=e(5276),h=e(4218);e(7484),e(6574),e(7856);var o=function(){var t=function(t,i,e,s){for(e=e||{},s=t.length;s--;e[t[s]]=i);return e},i=[1,10,12,14,16,18,19,21,23],e=[2,6],s=[1,3],n=[1,5],a=[1,6],h=[1,7],o=[1,5,10,12,14,16,18,19,21,23,34,35,36],r=[1,25],l=[1,26],c=[1,28],g=[1,29],u=[1,30],x=[1,31],d=[1,32],p=[1,33],f=[1,34],y=[1,35],m=[1,36],b=[1,37],A=[1,43],S=[1,42],w=[1,47],C=[1,50],k=[1,10,12,14,16,18,19,21,23,34,35,36],_=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],T=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],R=[1,64],D={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:function(t,i,e,s,n,a,h){var o=a.length-1;switch(n){case 5:s.setOrientation(a[o]);break;case 9:s.setDiagramTitle(a[o].text.trim());break;case 12:s.setLineData({text:"",type:"text"},a[o]);break;case 13:s.setLineData(a[o-1],a[o]);break;case 14:s.setBarData({text:"",type:"text"},a[o]);break;case 15:s.setBarData(a[o-1],a[o]);break;case 16:this.$=a[o].trim(),s.setAccTitle(this.$);break;case 17:case 18:this.$=a[o].trim(),s.setAccDescription(this.$);break;case 19:case 27:this.$=a[o-1];break;case 20:this.$=[Number(a[o-2]),...a[o]];break;case 21:this.$=[Number(a[o])];break;case 22:s.setXAxisTitle(a[o]);break;case 23:s.setXAxisTitle(a[o-1]);break;case 24:s.setXAxisTitle({type:"text",text:""});break;case 25:s.setXAxisBand(a[o]);break;case 26:s.setXAxisRangeData(Number(a[o-2]),Number(a[o]));break;case 28:this.$=[a[o-2],...a[o]];break;case 29:this.$=[a[o]];break;case 30:s.setYAxisTitle(a[o]);break;case 31:s.setYAxisTitle(a[o-1]);break;case 32:s.setYAxisTitle({type:"text",text:""});break;case 33:s.setYAxisRangeData(Number(a[o-2]),Number(a[o]));break;case 37:case 38:this.$={text:a[o],type:"text"};break;case 39:this.$={text:a[o],type:"markdown"};break;case 40:this.$=a[o];break;case 41:this.$=a[o-1]+""+a[o]}},table:[t(i,e,{3:1,4:2,7:4,5:s,34:n,35:a,36:h}),{1:[3]},t(i,e,{4:2,7:4,3:8,5:s,34:n,35:a,36:h}),t(i,e,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:a,36:h}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,34]),t(o,[2,35]),t(o,[2,36]),{1:[2,1]},t(i,e,{4:2,7:4,3:21,5:s,34:n,35:a,36:h}),{1:[2,3]},t(o,[2,5]),t(i,[2,7],{4:22,34:n,35:a,36:h}),{11:23,37:24,38:r,39:l,40:27,41:c,42:g,43:u,44:x,45:d,46:p,47:f,48:y,49:m,50:b},{11:39,13:38,24:A,27:S,29:40,30:41,37:24,38:r,39:l,40:27,41:c,42:g,43:u,44:x,45:d,46:p,47:f,48:y,49:m,50:b},{11:45,15:44,27:w,33:46,37:24,38:r,39:l,40:27,41:c,42:g,43:u,44:x,45:d,46:p,47:f,48:y,49:m,50:b},{11:49,17:48,24:C,37:24,38:r,39:l,40:27,41:c,42:g,43:u,44:x,45:d,46:p,47:f,48:y,49:m,50:b},{11:52,17:51,24:C,37:24,38:r,39:l,40:27,41:c,42:g,43:u,44:x,45:d,46:p,47:f,48:y,49:m,50:b},{20:[1,53]},{22:[1,54]},t(k,[2,18]),{1:[2,2]},t(k,[2,8]),t(k,[2,9]),t(_,[2,37],{40:55,41:c,42:g,43:u,44:x,45:d,46:p,47:f,48:y,49:m,50:b}),t(_,[2,38]),t(_,[2,39]),t(T,[2,40]),t(T,[2,42]),t(T,[2,43]),t(T,[2,44]),t(T,[2,45]),t(T,[2,46]),t(T,[2,47]),t(T,[2,48]),t(T,[2,49]),t(T,[2,50]),t(T,[2,51]),t(k,[2,10]),t(k,[2,22],{30:41,29:56,24:A,27:S}),t(k,[2,24]),t(k,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:r,39:l,40:27,41:c,42:g,43:u,44:x,45:d,46:p,47:f,48:y,49:m,50:b},t(k,[2,11]),t(k,[2,30],{33:60,27:w}),t(k,[2,32]),{31:[1,61]},t(k,[2,12]),{17:62,24:C},{25:63,27:R},t(k,[2,14]),{17:65,24:C},t(k,[2,16]),t(k,[2,17]),t(T,[2,41]),t(k,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(k,[2,31]),{27:[1,69]},t(k,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(k,[2,15]),t(k,[2,26]),t(k,[2,27]),{11:59,32:72,37:24,38:r,39:l,40:27,41:c,42:g,43:u,44:x,45:d,46:p,47:f,48:y,49:m,50:b},t(k,[2,33]),t(k,[2,19]),{25:73,27:R},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(t,i){if(i.recoverable)this.trace(t);else{var e=Error(t);throw e.hash=i,e}},parse:function(t){var i=this,e=[0],s=[],n=[null],a=[],h=this.table,o="",r=0,l=0,c=a.slice.call(arguments,1),g=Object.create(this.lexer),u={yy:{}};for(var x in this.yy)Object.prototype.hasOwnProperty.call(this.yy,x)&&(u.yy[x]=this.yy[x]);g.setInput(t,u.yy),u.yy.lexer=g,u.yy.parser=this,void 0===g.yylloc&&(g.yylloc={});var d=g.yylloc;a.push(d);var p=g.options&&g.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,y,m,b,A,S,w,C,k={};;){if(y=e[e.length-1],this.defaultActions[y]?m=this.defaultActions[y]:(null==f&&(f=function(){var t;return"number"!=typeof(t=s.pop()||g.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=i.symbols_[t]||t),t}()),m=h[y]&&h[y][f]),void 0===m||!m.length||!m[0]){var _="";for(A in C=[],h[y])this.terminals_[A]&&A>2&&C.push("'"+this.terminals_[A]+"'");_=g.showPosition?"Parse error on line "+(r+1)+":\n"+g.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(r+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(_,{text:g.match,token:this.terminals_[f]||f,line:g.yylineno,loc:d,expected:C})}if(m[0]instanceof Array&&m.length>1)throw Error("Parse Error: multiple actions possible at state: "+y+", token: "+f);switch(m[0]){case 1:e.push(f),n.push(g.yytext),a.push(g.yylloc),e.push(m[1]),f=null,l=g.yyleng,o=g.yytext,r=g.yylineno,d=g.yylloc;break;case 2:if(S=this.productions_[m[1]][1],k.$=n[n.length-S],k._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},p&&(k._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),void 0!==(b=this.performAction.apply(k,[o,l,r,u.yy,m[1],n,a].concat(c))))return b;S&&(e=e.slice(0,-1*S*2),n=n.slice(0,-1*S),a=a.slice(0,-1*S)),e.push(this.productions_[m[1]][0]),n.push(k.$),a.push(k._$),w=h[e[e.length-2]][e[e.length-1]],e.push(w);break;case 3:return!0}}return!0}};function L(){this.yy={}}return D.lexer={EOF:1,parseError:function(t,i){if(this.yy.parser)this.yy.parser.parseError(t,i);else throw Error(t)},setInput:function(t,i){return this.yy=i||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var i=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===s.length?this.yylloc.first_column:0)+s[s.length-e.length].length-e[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),i=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+i+"^"},test_match:function(t,i){var e,s,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack)for(var a in n)this[a]=n[a];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,i,e,s,n=this._currentRules(),a=0;ai[0].length)){if(i=e,s=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(e,n[a])))return t;if(!this._backtrack)return!1;i=!1;continue}if(!this.options.flex)break}return i?!1!==(t=this.test_match(i,n[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,i,e,s){switch(e){case 0:case 1:case 5:case 43:break;case 2:case 3:return this.popState(),34;case 4:return 34;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:case 25:case 27:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 26:this.pushState("string");break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}},L.prototype=D,D.Parser=L,new L}();function r(t){return"bar"===t.type}function l(t){return"band"===t.type}function c(t){return"linear"===t.type}o.parser=o;class g{constructor(t){this.parentGroup=t}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((t,i)=>Math.max(i.length,t),0)*i,height:i};let e={width:0,height:0},s=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(let n of t){let t=(0,a.c)(s,1,n),h=t?t.width:n.length*i,o=t?t.height:i;e.width=Math.max(e.width,h),e.height=Math.max(e.height,o)}return s.remove(),e}}class u{constructor(t,i,e,s){this.axisConfig=t,this.title=i,this.textDimensionCalculator=e,this.axisThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(t){this.range=t,"left"===this.axisPosition||"right"===this.axisPosition?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){let t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>2*this.outerPadding&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let e=this.getLabelDimension(),s=.2*t.width;this.outerPadding=Math.min(e.width/2,s);let n=e.height+2*this.axisConfig.labelPadding;this.labelTextHeight=e.height,n<=i&&(i-=n,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),e=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,e<=i&&(i-=e,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let e=this.getLabelDimension(),s=.2*t.height;this.outerPadding=Math.min(e.height/2,s);let n=e.width+2*this.axisConfig.labelPadding;n<=i&&(i-=n,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),e=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,e<=i&&(i-=e,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return"left"===this.axisPosition||"right"===this.axisPosition?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(t=>({text:t.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(t),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${i},${this.getScaleValue(t)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(t)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${this.getScaleValue(t)},${i} L ${this.getScaleValue(t)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+2*this.axisConfig.titlePadding:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${this.getScaleValue(t)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(t)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if("left"===this.axisPosition)return this.getDrawableElementsForLeftAxis();if("right"===this.axisPosition)throw Error("Drawing of right axis is not implemented");return"bottom"===this.axisPosition?this.getDrawableElementsForBottomAxis():"top"===this.axisPosition?this.getDrawableElementsForTopAxis():[]}}class x extends u{constructor(t,i,e,s,n){super(t,s,n,i),this.categories=e,this.scale=(0,h.tiA)().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=(0,h.tiA)().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),n.l.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)||this.getRange()[0]}}class d extends u{constructor(t,i,e,s,n){super(t,s,n,i),this.domain=e,this.scale=(0,h.BYU)().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let t=[...this.domain];"left"===this.axisPosition&&t.reverse(),this.scale=(0,h.BYU)().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}}function p(t,i,e,s){let n=new g(s);return l(t)?new x(i,e,t.categories,t.title,n):new d(i,e,[t.min,t.max],t.title,n)}class f{constructor(t,i,e,s){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=e,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){let i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),e=Math.max(i.width,t.width),s=i.height+2*this.chartConfig.titlePadding;return i.width<=e&&i.height<=s&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=e,this.boundingRect.height=s,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}}class y{constructor(t,i,e,s,n){this.plotData=t,this.xAxis=i,this.yAxis=e,this.orientation=s,this.plotIndex=n}getDrawableElement(){let t;let i=this.plotData.data.map(t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]);return(t="horizontal"===this.orientation?(0,h.jvg)().y(t=>t[0]).x(t=>t[1])(i):(0,h.jvg)().x(t=>t[0]).y(t=>t[1])(i))?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:t,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class m{constructor(t,i,e,s,n,a){this.barData=t,this.boundingRect=i,this.xAxis=e,this.yAxis=s,this.orientation=n,this.plotIndex=a}getDrawableElement(){let t=this.barData.data.map(t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]),i=.95*Math.min(2*this.xAxis.getAxisOuterPadding(),this.xAxis.getTickDistance()),e=i/2;return"horizontal"===this.orientation?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(t=>({x:this.boundingRect.x,y:t[0]-e,height:i,width:t[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(t=>({x:t[0]-e,y:t[1],width:i,height:this.boundingRect.y+this.boundingRect.height-t[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class b{constructor(t,i,e){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=e,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let t=[];for(let[i,e]of this.chartData.plots.entries())switch(e.type){case"line":{let s=new y(e,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}break;case"bar":{let s=new m(e,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}}return t}}class A{constructor(t,i,e,s){this.chartConfig=t,this.chartData=i,this.componentStore={title:new f(new g(s),t,i,e),plot:new b(t,i,e),xAxis:p(i.xAxis,t.xAxis,{titleColor:e.xAxisTitleColor,labelColor:e.xAxisLabelColor,tickColor:e.xAxisTickColor,axisLineColor:e.xAxisLineColor},s),yAxis:p(i.yAxis,t.yAxis,{titleColor:e.yAxisTitleColor,labelColor:e.yAxisLabelColor,tickColor:e.yAxisTickColor,axisLineColor:e.yAxisLineColor},s)}}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,n=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),a=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),h=this.componentStore.plot.calculateSpace({width:n,height:a});t-=h.width,i-=h.height,s=(h=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i})).height,i-=h.height,this.componentStore.xAxis.setAxisPosition("bottom"),h=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=h.height,this.componentStore.yAxis.setAxisPosition("left"),e=(h=this.componentStore.yAxis.calculateSpace({width:t,height:i})).width,(t-=h.width)>0&&(n+=t,t=0),i>0&&(a+=i,i=0),this.componentStore.plot.calculateSpace({width:n,height:a}),this.componentStore.plot.setBoundingBoxXY({x:e,y:s}),this.componentStore.xAxis.setRange([e,e+n]),this.componentStore.xAxis.setBoundingBoxXY({x:e,y:s+a}),this.componentStore.yAxis.setRange([s,s+a]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:s}),this.chartData.plots.some(t=>r(t))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,n=0,a=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),h=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:h});t-=o.width,i-=o.height,e=(o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i})).height,i-=o.height,this.componentStore.xAxis.setAxisPosition("left"),o=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=o.width,s=o.width,this.componentStore.yAxis.setAxisPosition("top"),o=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=o.height,n=e+o.height,t>0&&(a+=t,t=0),i>0&&(h+=i,i=0),this.componentStore.plot.calculateSpace({width:a,height:h}),this.componentStore.plot.setBoundingBoxXY({x:s,y:n}),this.componentStore.yAxis.setRange([s,s+a]),this.componentStore.yAxis.setBoundingBoxXY({x:s,y:e}),this.componentStore.xAxis.setRange([n,n+h]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some(t=>r(t))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){"horizontal"===this.chartConfig.chartOrientation?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let t=[];for(let i of(this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis),Object.values(this.componentStore)))t.push(...i.getDrawableElements());return t}}class S{static build(t,i,e,s){return new A(t,i,e,s).getDrawableElement()}}let w=0,C=P(),k=L(),_=E(),T=k.plotColorPalette.split(",").map(t=>t.trim()),R=!1,D=!1;function L(){let t=(0,n.E)(),i=(0,n.F)();return(0,n.C)(t.xyChart,i.themeVariables.xyChart)}function P(){let t=(0,n.F)();return(0,n.C)(n.B.xyChart,t.xyChart)}function E(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function v(t){let i=(0,n.F)();return(0,n.d)(t.trim(),i)}function I(t,i){_.xAxis={type:"linear",title:_.xAxis.title,min:t,max:i},R=!0}function M(t){let i=[];if(0===t.length)return i;if(R||I(Math.min(c(_.xAxis)?_.xAxis.min:1/0,1),Math.max(c(_.xAxis)?_.xAxis.max:-1/0,t.length)),D||function(t){let i=c(_.yAxis)?_.yAxis.min:1/0,e=c(_.yAxis)?_.yAxis.max:-1/0;_.yAxis={type:"linear",title:_.yAxis.title,min:Math.min(i,Math.min(...t)),max:Math.max(e,Math.max(...t))}}(t),l(_.xAxis)&&(i=_.xAxis.categories.map((i,e)=>[i,t[e]])),c(_.xAxis)){let e=_.xAxis.min,s=_.xAxis.max,n=(s-e+1)/t.length,a=[];for(let t=e;t<=s;t+=n)a.push(`${t}`);i=a.map((i,e)=>[i,t[e]])}return i}function $(t){return T[0===t?0:t%T.length]}let B={parser:o,db:{getDrawableElem:function(){if(0===_.plots.length)throw Error("No Plot to render, please provide a plot with some data");return _.title=(0,n.t)(),S.build(C,_,k,s)},clear:function(){(0,n.v)(),w=0,C=P(),_=E(),T=(k=L()).plotColorPalette.split(",").map(t=>t.trim()),R=!1,D=!1},setAccTitle:n.s,getAccTitle:n.g,setDiagramTitle:n.q,getDiagramTitle:n.t,getAccDescription:n.a,setAccDescription:n.b,setOrientation:function(t){"horizontal"===t?C.chartOrientation="horizontal":C.chartOrientation="vertical"},setXAxisTitle:function(t){_.xAxis.title=v(t.text)},setXAxisRangeData:I,setXAxisBand:function(t){_.xAxis={type:"band",title:_.xAxis.title,categories:t.map(t=>v(t.text))},R=!0},setYAxisTitle:function(t){_.yAxis.title=v(t.text)},setYAxisRangeData:function(t,i){_.yAxis={type:"linear",title:_.yAxis.title,min:t,max:i},D=!0},setLineData:function(t,i){let e=M(i);_.plots.push({type:"line",strokeFill:$(w),strokeWidth:2,data:e}),w++},setBarData:function(t,i){let e=M(i);_.plots.push({type:"bar",fill:$(w),data:e}),w++},setTmpSVGG:function(t){s=t},getChartThemeConfig:function(){return k},getChartConfig:function(){return C}},renderer:{draw:(t,i,e,s)=>{let a=s.db,h=a.getChartThemeConfig(),o=a.getChartConfig();n.l.debug("Rendering xychart chart\n"+t);let r=(0,n.A)(i),l=r.append("g").attr("class","main"),c=l.append("rect").attr("width",o.width).attr("height",o.height).attr("class","background");(0,n.i)(r,o.height,o.width,!0),r.attr("viewBox",`0 0 ${o.width} ${o.height}`),c.attr("fill",h.backgroundColor),a.setTmpSVGG(r.append("g").attr("class","mermaid-tmp-group"));let g=a.getDrawableElem(),u={};for(let t of g){if(0===t.data.length)continue;let i=function(t){let i=l,e="";for(let[s]of t.entries()){let n=l;s>0&&u[e]&&(n=u[e]),e+=t[s],(i=u[e])||(i=u[e]=n.append("g").attr("class",t[s]))}return i}(t.groupTexts);switch(t.type){case"rect":i.selectAll("rect").data(t.data).enter().append("rect").attr("x",t=>t.x).attr("y",t=>t.y).attr("width",t=>t.width).attr("height",t=>t.height).attr("fill",t=>t.fill).attr("stroke",t=>t.strokeFill).attr("stroke-width",t=>t.strokeWidth);break;case"text":i.selectAll("text").data(t.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>"top"===t.verticalPos?"text-before-edge":"middle").attr("text-anchor",t=>{var i;return"left"===(i=t.horizontalPos)?"start":"right"===i?"end":"middle"}).attr("transform",t=>`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`).text(t=>t.text);break;case"path":i.selectAll("path").data(t.data).enter().append("path").attr("d",t=>t.path).attr("fill",t=>t.fill?t.fill:"none").attr("stroke",t=>t.strokeFill).attr("stroke-width",t=>t.strokeWidth)}}}}}}}]); \ No newline at end of file diff --git a/_next/static/chunks/5777.fcda43e9ad5e2298.js b/_next/static/chunks/5777.fcda43e9ad5e2298.js new file mode 100644 index 0000000..0151619 --- /dev/null +++ b/_next/static/chunks/5777.fcda43e9ad5e2298.js @@ -0,0 +1,113 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5777],{5777:function(e,t,o){o.d(t,{diagram:function(){return E}});var l=o(7474),r=o(4218),a=o(585),i=o(1835),n=o(7295);o(7484),o(6574),o(7856);let s=(e,t,o)=>{let{parentById:l}=o,r=new Set,a=e;for(;a;){if(r.add(a),a===t)return a;a=l[a]}for(a=t;a;){if(r.has(a))return a;a=l[a]}return"root"},d=new n,c={},h={},p={},u=async function(e,t,o,l,r,n,s){let d=o.select(`[id="${t}"]`).insert("g").attr("class","nodes"),c=Object.keys(e);return await Promise.all(c.map(async function(t){let o,s;let c=e[t],h="default";c.classes.length>0&&(h=c.classes.join(" ")),h+=" flowchart-label";let u=(0,i.k)(c.styles),b=void 0!==c.text?c.text:c.id,y={width:0,height:0},g=[{id:c.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:c.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:c.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:c.id+"-north",layoutOptions:{"port.side":"NORTH"}}],f=0,w="",k={};switch(c.type){case"round":f=5,w="rect";break;case"square":case"group":default:w="rect";break;case"diamond":w="question",k={portConstraints:"FIXED_SIDE"};break;case"hexagon":w="hexagon";break;case"odd":case"odd_right":w="rect_left_inv_arrow";break;case"lean_right":w="lean_right";break;case"lean_left":w="lean_left";break;case"trapezoid":w="trapezoid";break;case"inv_trapezoid":w="inv_trapezoid";break;case"circle":w="circle";break;case"ellipse":w="ellipse";break;case"stadium":w="stadium";break;case"subroutine":w="subroutine";break;case"cylinder":w="cylinder";break;case"doublecircle":w="doublecircle"}let x={labelStyle:u.labelStyle,shape:w,labelText:b,labelType:c.labelType,rx:f,ry:f,class:h,style:u.style,id:c.id,link:c.link,linkTarget:c.linkTarget,tooltip:r.db.getTooltip(c.id)||"",domId:r.db.lookUpDomId(c.id),haveCallback:c.haveCallback,width:"group"===c.type?500:void 0,dir:c.dir,type:c.type,props:c.props,padding:(0,i.F)().flowchart.padding};if("group"!==x.type)o=(s=await (0,a.e)(d,x,c.dir)).node().getBBox();else{l.createElementNS("http://www.w3.org/2000/svg","text");let{shapeSvg:e,bbox:t}=await (0,a.l)(d,x,void 0,!0);y.width=t.width,y.wrappingWidth=(0,i.F)().flowchart.wrappingWidth,y.height=t.height,y.labelNode=e.node(),x.labelData=y}let m={id:c.id,ports:"diamond"===c.type?g:[],layoutOptions:k,labelText:b,labelData:y,domId:r.db.lookUpDomId(c.id),width:null==o?void 0:o.width,height:null==o?void 0:o.height,type:c.type,el:s,parent:n.parentById[c.id]};p[x.id]=m})),s},b=(e,t,o)=>{let l={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return l.TD=l.TB,l[o][t][e]},y=(e,t,o)=>{if(i.l.info("getNextPort",{node:e,edgeDirection:t,graphDirection:o}),!c[e])switch(o){case"TB":case"TD":c[e]={inPosition:"north",outPosition:"south"};break;case"BT":c[e]={inPosition:"south",outPosition:"north"};break;case"RL":c[e]={inPosition:"east",outPosition:"west"};break;case"LR":c[e]={inPosition:"west",outPosition:"east"}}let l="in"===t?c[e].inPosition:c[e].outPosition;return"in"===t?c[e].inPosition=b(c[e].inPosition,t,o):c[e].outPosition=b(c[e].outPosition,t,o),l},g=(e,t)=>{let o=e.start,l=e.end,r=o,a=l,i=p[o],n=p[l];return i&&n?("diamond"===i.type&&(o=`${o}-${y(o,"out",t)}`),"diamond"===n.type&&(l=`${l}-${y(l,"in",t)}`),{source:o,target:l,sourceId:r,targetId:a}):{source:o,target:l}},f=function(e,t,o,l){let n,s;i.l.info("abc78 edges = ",e);let d=l.insert("g").attr("class","edgeLabels"),c={},p=t.db.getDirection();if(void 0!==e.defaultStyle){let t=(0,i.k)(e.defaultStyle);n=t.style,s=t.labelStyle}return e.forEach(function(t){let l="L-"+t.start+"-"+t.end;void 0===c[l]?c[l]=0:c[l]++,i.l.info("abc78 new entry",l,c[l]);let u=l+"-"+c[l];i.l.info("abc78 new link id to be used is",l,u,c[l]);let b="LS-"+t.start,y="LE-"+t.end,f={style:"",labelStyle:""};switch(f.minlen=t.length||1,"arrow_open"===t.type?f.arrowhead="none":f.arrowhead="normal",f.arrowTypeStart="arrow_open",f.arrowTypeEnd="arrow_open",t.type){case"double_arrow_cross":f.arrowTypeStart="arrow_cross";case"arrow_cross":f.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":f.arrowTypeStart="arrow_point";case"arrow_point":f.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":f.arrowTypeStart="arrow_circle";case"arrow_circle":f.arrowTypeEnd="arrow_circle"}let w="",k="";switch(t.stroke){case"normal":w="fill:none;",void 0!==n&&(w=n),void 0!==s&&(k=s),f.thickness="normal",f.pattern="solid";break;case"dotted":f.thickness="normal",f.pattern="dotted",f.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":f.thickness="thick",f.pattern="solid",f.style="stroke-width: 3.5px;fill:none;"}if(void 0!==t.style){let e=(0,i.k)(t.style);w=e.style,k=e.labelStyle}f.style=f.style+=w,f.labelStyle=f.labelStyle+=k,void 0!==t.interpolate?f.curve=(0,i.n)(t.interpolate,r.c_6):void 0!==e.defaultInterpolate?f.curve=(0,i.n)(e.defaultInterpolate,r.c_6):f.curve=(0,i.n)(h.curve,r.c_6),void 0===t.text?void 0!==t.style&&(f.arrowheadStyle="fill: #333"):(f.arrowheadStyle="fill: #333",f.labelpos="c"),f.labelType=t.labelType,f.label=t.text.replace(i.e.lineBreakRegex,"\n"),void 0===t.style&&(f.style=f.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),f.labelStyle=f.labelStyle.replace("color:","fill:"),f.id=u,f.classes="flowchart-link "+b+" "+y;let x=(0,a.f)(d,f),{source:m,target:v,sourceId:T,targetId:$}=g(t,p);i.l.debug("abc78 source and target",m,v),o.edges.push({id:"e"+t.start+t.end,sources:[m],targets:[v],sourceId:T,targetId:$,labelEl:x,labels:[{width:f.width,height:f.height,orgWidth:f.width,orgHeight:f.height,text:f.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:f})}),o},w=function(e,t,o,l,r){let i="";l&&(i=(i=(i=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),(0,a.m)(e,t,i,r,o)},k=function(e){let t={parentById:{},childrenById:{}},o=e.getSubGraphs();return i.l.info("Subgraphs - ",o),o.forEach(function(e){e.nodes.forEach(function(o){t.parentById[o]=e.id,void 0===t.childrenById[e.id]&&(t.childrenById[e.id]=[]),t.childrenById[e.id].push(o)})}),o.forEach(function(e){e.id,void 0!==t.parentById[e.id]&&t.parentById[e.id]}),t},x=function(e,t,o){let l=s(e,t,o);if(void 0===l||"root"===l)return{x:0,y:0};let r=p[l].offset;return{x:r.posX,y:r.posY}},m=function(e,t,o,l,i,n){let s=x(t.sourceId,t.targetId,i),d=t.sections[0].startPoint,c=t.sections[0].endPoint,h=(t.sections[0].bendPoints?t.sections[0].bendPoints:[]).map(e=>[e.x+s.x,e.y+s.y]),p=[[d.x+s.x,d.y+s.y],...h,[c.x+s.x,c.y+s.y]],{x:u,y:b}=(0,a.k)(t.edgeData),y=(0,r.jvg)().x(u).y(b).curve(r.c_6),g=e.insert("path").attr("d",y(p)).attr("class","path "+o.classes).attr("fill","none"),f=e.insert("g").attr("class","edgeLabel"),k=(0,r.Ys)(f.node().appendChild(t.labelEl)),m=k.node().firstChild.getBoundingClientRect();k.attr("width",m.width),k.attr("height",m.height),f.attr("transform",`translate(${t.labels[0].x+s.x}, ${t.labels[0].y+s.y})`),w(g,o,l.type,l.arrowMarkerAbsolute,n)},v=(e,t)=>{e.forEach(e=>{e.children||(e.children=[]);let o=t.childrenById[e.id];o&&o.forEach(t=>{e.children.push(p[t])}),v(e.children,t)})},T=async function(e,t,o,l){var n;let s,h;l.db.clear(),p={},c={},l.db.setGen("gen-2"),l.parser.parse(e);let b=(0,r.Ys)("body").append("div").attr("style","height:400px").attr("id","cy"),y={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(i.l.info("Drawing flowchart using v3 renderer",d),l.db.getDirection()){case"BT":y.layoutOptions["elk.direction"]="UP";break;case"TB":y.layoutOptions["elk.direction"]="DOWN";break;case"LR":y.layoutOptions["elk.direction"]="RIGHT";break;case"RL":y.layoutOptions["elk.direction"]="LEFT"}let{securityLevel:g,flowchart:w}=(0,i.F)();"sandbox"===g&&(s=(0,r.Ys)("#i"+t));let x="sandbox"===g?(0,r.Ys)(s.nodes()[0].contentDocument.body):(0,r.Ys)("body"),T="sandbox"===g?s.nodes()[0].contentDocument:document,_=x.select(`[id="${t}"]`);(0,a.a)(_,["point","circle","cross"],l.type,t);let E=l.db.getVertices(),C=l.db.getSubGraphs();i.l.info("Subgraphs - ",C);for(let e=C.length-1;e>=0;e--)h=C[e],l.db.addVertex(h.id,{text:h.title,type:h.labelType},"group",void 0,h.classes,h.dir);let B=_.insert("g").attr("class","subgraphs"),S=k(l.db);y=await u(E,t,x,T,l,S,y);let I=_.insert("g").attr("class","edges edgePath");y=f(l.db.getEdges(),l,y,_),Object.keys(p).forEach(e=>{let t=p[e];t.parent||y.children.push(t),void 0!==S.childrenById[e]&&(t.labels=[{text:t.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:t.labelData.width,height:t.labelData.height}],delete t.x,delete t.y,delete t.width,delete t.height)}),v(y.children,S),i.l.info("after layout",JSON.stringify(y,null,2));let P=await d.layout(y);$(0,0,P.children,_,B,l,0),i.l.info("after layout",P),null==(n=P.edges)||n.map(e=>{m(I,e,e.edgeData,l,S,t)}),(0,i.o)({},_,w.diagramPadding,w.useMaxWidth),b.remove()},$=(e,t,o,l,r,a,n)=>{o.forEach(function(o){if(o){if(p[o.id].offset={posX:o.x+e,posY:o.y+t,x:e,y:t,depth:n,width:o.width,height:o.height},"group"===o.type){let l=r.insert("g").attr("class","subgraph");l.insert("rect").attr("class","subgraph subgraph-lvl-"+n%5+" node").attr("x",o.x+e).attr("y",o.y+t).attr("width",o.width).attr("height",o.height);let a=l.insert("g").attr("class","label"),s=(0,i.F)().flowchart.htmlLabels?o.labelData.width/2:0;a.attr("transform",`translate(${o.labels[0].x+e+o.x+s}, ${o.labels[0].y+t+o.y+3})`),a.node().appendChild(o.labelData.labelNode),i.l.info("Id (UGH)= ",o.type,o.labels)}else i.l.info("Id (UGH)= ",o.id),o.el.attr("transform",`translate(${o.x+e+o.width/2}, ${o.y+t+o.height/2})`)}}),o.forEach(function(o){o&&"group"===o.type&&$(e+o.x,t+o.y,o.children,l,r,a,n+1)})},_=e=>{let t="";for(let o=0;o<5;o++)t+=` + .subgraph-lvl-${o} { + fill: ${e[`surface${o}`]}; + stroke: ${e[`surfacePeer${o}`]}; + } + `;return t},E={db:l.d,renderer:{getClasses:function(e,t){return i.l.info("Extracting classes"),t.db.getClasses()},draw:T},parser:l.p,styles:e=>`.label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span { + color: ${e.titleColor}; + } + + .label text,span { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${e.arrowheadColor}; + } + + .edgePath .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + rect { + opacity: 0.85; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + .cluster rect { + fill: ${e.clusterBkg}; + stroke: ${e.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } + .subgraph { + stroke-width:2; + rx:3; + } + // .subgraph-lvl-1 { + // fill:#ccc; + // // stroke:black; + // } + + .flowchart-label text { + text-anchor: middle; + } + + ${_(e)} +`}}}]); \ No newline at end of file diff --git a/_next/static/chunks/585.b0fbf4cdf42f4c71.js b/_next/static/chunks/585.b0fbf4cdf42f4c71.js new file mode 100644 index 0000000..160f66f --- /dev/null +++ b/_next/static/chunks/585.b0fbf4cdf42f4c71.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[585],{585:function(t,e,r){r.d(e,{a:function(){return s},b:function(){return T},c:function(){return d},d:function(){return j},e:function(){return M},f:function(){return N},g:function(){return _},h:function(){return Z},i:function(){return y},j:function(){return H},k:function(){return Y},l:function(){return h},m:function(){return P},p:function(){return B},s:function(){return S},u:function(){return o}});var a=r(1835),i=r(4218),n=r(5276);let l={extension:(t,e,r)=>{a.l.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:(t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:(t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},point:(t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},s=(t,e,r,a)=>{e.forEach(e=>{l[e](t,r,a)})},d=(t,e,r,n)=>{let l=t||"";if("object"==typeof l&&(l=l[0]),(0,a.m)((0,a.c)().flowchart.htmlLabels))return l=l.replace(/\\n|\n/g,"
"),a.l.debug("vertexText"+l),function(t){var e;let r=(0,i.Ys)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=r.append("xhtml:div"),n=t.label,l=t.isNode?"nodeLabel":"edgeLabel";return a.html('"+n+""),(e=t.labelStyle)&&a.attr("style",e),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),r.node()}({isNode:n,label:(0,a.M)(l).replace(/fa[blrs]?:fa-[\w-]+/g,t=>``),labelStyle:e.replace("fill:","color:")});{let t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));for(let e of"string"==typeof l?l.split(/\\n|\n|/gi):Array.isArray(l)?l:[]){let a=document.createElementNS("http://www.w3.org/2000/svg","tspan");a.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),a.setAttribute("dy","1em"),a.setAttribute("x","0"),r?a.setAttribute("class","title-row"):a.setAttribute("class","row"),a.textContent=e.trim(),t.appendChild(a)}return t}},h=async(t,e,r,l)=>{let s,h,o;let c=e.useHtmlLabels||(0,a.m)((0,a.c)().flowchart.htmlLabels);s=r||"node default";let y=t.insert("g").attr("class",s).attr("id",e.domId||e.id),p=y.insert("g").attr("class","label").attr("style",e.labelStyle);h=void 0===e.labelText?"":"string"==typeof e.labelText?e.labelText:e.labelText[0];let g=p.node(),x=(o="markdown"===e.labelType?(0,n.a)(p,(0,a.d)((0,a.M)(h),(0,a.c)()),{useHtmlLabels:c,width:e.width||(0,a.c)().flowchart.wrappingWidth,classes:"markdown-node-label"}):g.appendChild(d((0,a.d)((0,a.M)(h),(0,a.c)()),e.labelStyle,!1,l))).getBBox(),f=e.padding/2;if((0,a.m)((0,a.c)().flowchart.htmlLabels)){let t=o.children[0],e=(0,i.Ys)(o),r=t.getElementsByTagName("img");if(r){let t=""===h.replace(/]*>/g,"").trim();await Promise.all([...r].map(e=>new Promise(r=>{function i(){if(e.style.display="flex",e.style.flexDirection="column",t){let t=5*parseInt((0,a.c)().fontSize?(0,a.c)().fontSize:window.getComputedStyle(document.body).fontSize,10)+"px";e.style.minWidth=t,e.style.maxWidth=t}else e.style.width="100%";r(e)}setTimeout(()=>{e.complete&&i()}),e.addEventListener("error",i),e.addEventListener("load",i)})))}x=t.getBoundingClientRect(),e.attr("width",x.width),e.attr("height",x.height)}return c?p.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"):p.attr("transform","translate(0, "+-x.height/2+")"),e.centerLabel&&p.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"),p.insert("rect",":first-child"),{shapeSvg:y,bbox:x,halfPadding:f,label:p}},o=(t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height};function c(t,e,r,a){return t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}let y=(t,e)=>{var r,a,i=t.x,n=t.y,l=e.x-i,s=e.y-n,d=t.width/2,h=t.height/2;return Math.abs(s)*d>Math.abs(l)*h?(s<0&&(h=-h),r=0===s?0:h*l/s,a=h):(l<0&&(d=-d),r=d,a=0===l?0:d*s/l),{x:i+r,y:n+a}},p=function(t,e,r){var a,i,n,l,s,d,h;return a=t.x,i=t.y,n=a-r.x,s=Math.sqrt(e*e*(l=i-r.y)*l+e*e*n*n),d=Math.abs(e*e*n/s),r.x0))&&(n=a.y-r.y,s=r.x-a.x,h=a.x*r.y-r.x*a.y,o=n*t.x+s*t.y+h,c=n*e.x+s*e.y+h,!(0!==o&&0!==c&&o*c>0)&&0!=(g=i*s-n*l)))return x=Math.abs(g/2),{x:(f=l*h-s*d)<0?(f-x)/g:(f+x)/g,y:(f=n*d-i*h)<0?(f-x)/g:(f+x)/g}}(t,r,{x:d+c.x,y:h+c.y},{x:d+y.x,y:h+y.y});p&&n.push(p)}return n.length?(n.length>1&&n.sort(function(t,e){var a=t.x-r.x,i=t.y-r.y,n=Math.sqrt(a*a+i*i),l=e.x-r.x,s=e.y-r.y,d=Math.sqrt(l*l+s*s);return n{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r)}return e},f=(t,e,r)=>{let a=x(t),i=e.height+2*r.padding,n=i/2,l=e.width+2*n+r.padding,s=r.padding/2;return a.has("right")&&a.has("left")&&a.has("up")&&a.has("down")?[{x:0,y:0},{x:n,y:0},{x:l/2,y:2*s},{x:l-n,y:0},{x:l,y:0},{x:l,y:-i/3},{x:l+2*s,y:-i/2},{x:l,y:-2*i/3},{x:l,y:-i},{x:l-n,y:-i},{x:l/2,y:-i-2*s},{x:n,y:-i},{x:0,y:-i},{x:0,y:-2*i/3},{x:-2*s,y:-i/2},{x:0,y:-i/3}]:a.has("right")&&a.has("left")&&a.has("up")?[{x:n,y:0},{x:l-n,y:0},{x:l,y:-i/2},{x:l-n,y:-i},{x:n,y:-i},{x:0,y:-i/2}]:a.has("right")&&a.has("left")&&a.has("down")?[{x:0,y:0},{x:n,y:-i},{x:l-n,y:-i},{x:l,y:0}]:a.has("right")&&a.has("up")&&a.has("down")?[{x:0,y:0},{x:l,y:-n},{x:l,y:-i+n},{x:0,y:-i}]:a.has("left")&&a.has("up")&&a.has("down")?[{x:l,y:0},{x:0,y:-n},{x:0,y:-i+n},{x:l,y:-i}]:a.has("right")&&a.has("left")?[{x:n,y:0},{x:n,y:-s},{x:l-n,y:-s},{x:l-n,y:0},{x:l,y:-i/2},{x:l-n,y:-i},{x:l-n,y:-i+s},{x:n,y:-i+s},{x:n,y:-i},{x:0,y:-i/2}]:a.has("up")&&a.has("down")?[{x:l/2,y:0},{x:0,y:-s},{x:n,y:-s},{x:n,y:-i+s},{x:0,y:-i+s},{x:l/2,y:-i},{x:l,y:-i+s},{x:l-n,y:-i+s},{x:l-n,y:-s},{x:l,y:-s}]:a.has("right")&&a.has("up")?[{x:0,y:0},{x:l,y:-n},{x:0,y:-i}]:a.has("right")&&a.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-i}]:a.has("left")&&a.has("up")?[{x:l,y:0},{x:0,y:-n},{x:l,y:-i}]:a.has("left")&&a.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-i}]:a.has("right")?[{x:n,y:-s},{x:n,y:-s},{x:l-n,y:-s},{x:l-n,y:0},{x:l,y:-i/2},{x:l-n,y:-i},{x:l-n,y:-i+s},{x:n,y:-i+s},{x:n,y:-i+s}]:a.has("left")?[{x:n,y:0},{x:n,y:-s},{x:l-n,y:-s},{x:l-n,y:-i+s},{x:n,y:-i+s},{x:n,y:-i},{x:0,y:-i/2}]:a.has("up")?[{x:n,y:-s},{x:n,y:-i+s},{x:0,y:-i+s},{x:l/2,y:-i},{x:l,y:-i+s},{x:l-n,y:-i+s},{x:l-n,y:-s}]:a.has("down")?[{x:l/2,y:0},{x:0,y:-s},{x:n,y:-s},{x:n,y:-i+s},{x:l-n,y:-i+s},{x:l-n,y:-s},{x:l,y:-s}]:[{x:0,y:0}]},u=t=>t?" "+t:"",w=(t,e)=>`${e||"node default"}${u(t.classes)} ${u(t.class)}`,b=async(t,e)=>{let{shapeSvg:r,bbox:i}=await h(t,e,w(e,void 0),!0),n=i.width+e.padding+(i.height+e.padding),l=[{x:n/2,y:0},{x:n,y:-n/2},{x:n/2,y:-n},{x:0,y:-n/2}];a.l.info("Question main (Circle)");let s=c(r,n,n,l);return s.attr("style",e.style),o(e,s),e.intersect=function(t){return a.l.warn("Intersect called"),g(e,l,t)},r};function m(t,e,r,i){let n=[],l=t=>{n.push(t,0)},s=t=>{n.push(0,t)};e.includes("t")?(a.l.debug("add top border"),l(r)):s(r),e.includes("r")?(a.l.debug("add right border"),l(i)):s(i),e.includes("b")?(a.l.debug("add bottom border"),l(r)):s(r),e.includes("l")?(a.l.debug("add left border"),l(i)):s(i),t.attr("stroke-dasharray",n.join(" "))}let k=(t,e,r)=>{let a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,n=10;return"LR"===r&&(i=10,n=70),o(e,a.append("rect").attr("x",-1*i/2).attr("y",-1*n/2).attr("width",i).attr("height",n).attr("class","fork-join")),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return y(e,t)},a},L={rhombus:b,composite:async(t,e)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await h(t,e,"node "+e.classes,!0),l=r.insert("rect",":first-child"),s=e.positioned?e.width:i.width+e.padding,d=e.positioned?e.height:i.height+e.padding,c=e.positioned?-s/2:-i.width/2-n,p=e.positioned?-d/2:-i.height/2-n;if(l.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",c).attr("y",p).attr("width",s).attr("height",d),e.props){let t=new Set(Object.keys(e.props));e.props.borders&&(m(l,e.props.borders,s,d),t.delete("borders")),t.forEach(t=>{a.l.warn(`Unknown node property ${t}`)})}return o(e,l),e.intersect=function(t){return y(e,t)},r},question:b,rect:async(t,e)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await h(t,e,"node "+e.classes+" "+e.class,!0),l=r.insert("rect",":first-child"),s=e.positioned?e.width:i.width+e.padding,d=e.positioned?e.height:i.height+e.padding,c=e.positioned?-s/2:-i.width/2-n,p=e.positioned?-d/2:-i.height/2-n;if(l.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",c).attr("y",p).attr("width",s).attr("height",d),e.props){let t=new Set(Object.keys(e.props));e.props.borders&&(m(l,e.props.borders,s,d),t.delete("borders")),t.forEach(t=>{a.l.warn(`Unknown node property ${t}`)})}return o(e,l),e.intersect=function(t){return y(e,t)},r},labelRect:async(t,e)=>{let{shapeSvg:r}=await h(t,e,"label",!0);a.l.trace("Classes = ",e.class);let i=r.insert("rect",":first-child");if(i.attr("width",0).attr("height",0),r.attr("class","label edgeLabel"),e.props){let t=new Set(Object.keys(e.props));e.props.borders&&(m(i,e.props.borders,0,0),t.delete("borders")),t.forEach(t=>{a.l.warn(`Unknown node property ${t}`)})}return o(e,i),e.intersect=function(t){return y(e,t)},r},rectWithTitle:(t,e)=>{let r;r=e.classes?"node "+e.classes:"node default";let n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),l=n.insert("rect",":first-child"),s=n.insert("line"),h=n.insert("g").attr("class","label"),c=e.labelText.flat?e.labelText.flat():e.labelText,p="";p="object"==typeof c?c[0]:c,a.l.info("Label text abc79",p,c,"object"==typeof c);let g=h.node().appendChild(d(p,e.labelStyle,!0,!0)),x={width:0,height:0};if((0,a.m)((0,a.c)().flowchart.htmlLabels)){let t=g.children[0],e=(0,i.Ys)(g);x=t.getBoundingClientRect(),e.attr("width",x.width),e.attr("height",x.height)}a.l.info("Text 2",c);let f=c.slice(1,c.length),u=g.getBBox(),w=h.node().appendChild(d(f.join?f.join("
"):f,e.labelStyle,!0,!0));if((0,a.m)((0,a.c)().flowchart.htmlLabels)){let t=w.children[0],e=(0,i.Ys)(w);x=t.getBoundingClientRect(),e.attr("width",x.width),e.attr("height",x.height)}let b=e.padding/2;return(0,i.Ys)(w).attr("transform","translate( "+(x.width>u.width?0:(u.width-x.width)/2)+", "+(u.height+b+5)+")"),(0,i.Ys)(g).attr("transform","translate( "+(x.width{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);return r.insert("polygon",":first-child").attr("points",[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}].map(function(t){return t.x+","+t.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(t){return p(e,14,t)},r},circle:async(t,e)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await h(t,e,w(e,void 0),!0),l=r.insert("circle",":first-child");return l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+n).attr("width",i.width+e.padding).attr("height",i.height+e.padding),a.l.info("Circle main"),o(e,l),e.intersect=function(t){return a.l.info("Circle intersect",e,i.width/2+n,t),p(e,i.width/2+n,t)},r},doublecircle:async(t,e)=>{let{shapeSvg:r,bbox:i,halfPadding:n}=await h(t,e,w(e,void 0),!0),l=r.insert("g",":first-child"),s=l.insert("circle"),d=l.insert("circle");return l.attr("class",e.class),s.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+n+5).attr("width",i.width+e.padding+10).attr("height",i.height+e.padding+10),d.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+n).attr("width",i.width+e.padding).attr("height",i.height+e.padding),a.l.info("DoubleCircle main"),o(e,s),e.intersect=function(t){return a.l.info("DoubleCircle intersect",e,i.width/2+n+5,t),p(e,i.width/2+n+5,t)},r},stadium:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,w(e,void 0),!0),i=a.height+e.padding,n=a.width+i/4+e.padding,l=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-n/2).attr("y",-i/2).attr("width",n).attr("height",i);return o(e,l),e.intersect=function(t){return y(e,t)},r},hexagon:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,w(e,void 0),!0),i=a.height+e.padding,n=i/4,l=a.width+2*n+e.padding,s=[{x:n,y:0},{x:l-n,y:0},{x:l,y:-i/2},{x:l-n,y:-i},{x:n,y:-i},{x:0,y:-i/2}],d=c(r,l,i,s);return d.attr("style",e.style),o(e,d),e.intersect=function(t){return g(e,s,t)},r},block_arrow:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,void 0,!0),i=a.height+2*e.padding,n=i/2,l=a.width+2*n+e.padding,s=f(e.directions,a,e),d=c(r,l,i,s);return d.attr("style",e.style),o(e,d),e.intersect=function(t){return g(e,s,t)},r},rect_left_inv_arrow:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,w(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,l=[{x:-n/2,y:0},{x:i,y:0},{x:i,y:-n},{x:-n/2,y:-n},{x:0,y:-n/2}];return c(r,i,n,l).attr("style",e.style),e.width=i+n,e.height=n,e.intersect=function(t){return g(e,l,t)},r},lean_right:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,w(e),!0),i=a.width+e.padding,n=a.height+e.padding,l=[{x:-2*n/6,y:0},{x:i-n/6,y:0},{x:i+2*n/6,y:-n},{x:n/6,y:-n}],s=c(r,i,n,l);return s.attr("style",e.style),o(e,s),e.intersect=function(t){return g(e,l,t)},r},lean_left:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,w(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,l=[{x:2*n/6,y:0},{x:i+n/6,y:0},{x:i-2*n/6,y:-n},{x:-n/6,y:-n}],s=c(r,i,n,l);return s.attr("style",e.style),o(e,s),e.intersect=function(t){return g(e,l,t)},r},trapezoid:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,w(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,l=[{x:-2*n/6,y:0},{x:i+2*n/6,y:0},{x:i-n/6,y:-n},{x:n/6,y:-n}],s=c(r,i,n,l);return s.attr("style",e.style),o(e,s),e.intersect=function(t){return g(e,l,t)},r},inv_trapezoid:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,w(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,l=[{x:n/6,y:0},{x:i-n/6,y:0},{x:i+2*n/6,y:-n},{x:-2*n/6,y:-n}],s=c(r,i,n,l);return s.attr("style",e.style),o(e,s),e.intersect=function(t){return g(e,l,t)},r},rect_right_inv_arrow:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,w(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,l=[{x:0,y:0},{x:i+n/2,y:0},{x:i,y:-n/2},{x:i+n/2,y:-n},{x:0,y:-n}],s=c(r,i,n,l);return s.attr("style",e.style),o(e,s),e.intersect=function(t){return g(e,l,t)},r},cylinder:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,w(e,void 0),!0),i=a.width+e.padding,n=i/2,l=n/(2.5+i/50),s=a.height+l+e.padding,d=r.attr("label-offset-y",l).insert("path",":first-child").attr("style",e.style).attr("d","M 0,"+l+" a "+n+","+l+" 0,0,0 "+i+" 0 a "+n+","+l+" 0,0,0 "+-i+" 0 l 0,"+s+" a "+n+","+l+" 0,0,0 "+i+" 0 l 0,"+-s).attr("transform","translate("+-i/2+","+-(s/2+l)+")");return o(e,d),e.intersect=function(t){let r=y(e,t),a=r.x-e.x;if(0!=n&&(Math.abs(a)e.height/2-l)){let i=l*l*(1-a*a/(n*n));0!=i&&(i=Math.sqrt(i)),i=l-i,t.y-e.y>0&&(i=-i),r.y+=i}return r},r},start:(t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a=r.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),o(e,a),e.intersect=function(t){return p(e,7,t)},r},end:(t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),a.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),o(e,i),e.intersect=function(t){return p(e,7,t)},r},note:async(t,e)=>{e.useHtmlLabels||(0,a.c)().flowchart.htmlLabels||(e.centerLabel=!0);let{shapeSvg:r,bbox:i,halfPadding:n}=await h(t,e,"node "+e.classes,!0);a.l.info("Classes = ",e.classes);let l=r.insert("rect",":first-child");return l.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-n).attr("y",-i.height/2-n).attr("width",i.width+e.padding).attr("height",i.height+e.padding),o(e,l),e.intersect=function(t){return y(e,t)},r},subroutine:async(t,e)=>{let{shapeSvg:r,bbox:a}=await h(t,e,w(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,l=[{x:0,y:0},{x:i,y:0},{x:i,y:-n},{x:0,y:-n},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-n},{x:-8,y:-n},{x:-8,y:0}],s=c(r,i,n,l);return s.attr("style",e.style),o(e,s),e.intersect=function(t){return g(e,l,t)},r},fork:k,join:k,class_box:(t,e)=>{let r;let n=e.padding/2;r=e.classes?"node "+e.classes:"node default";let l=t.insert("g").attr("class",r).attr("id",e.domId||e.id),s=l.insert("rect",":first-child"),h=l.insert("line"),c=l.insert("line"),p=0,g=4,x=l.insert("g").attr("class","label"),f=0,u=e.classData.annotations&&e.classData.annotations[0],w=e.classData.annotations[0]?"\xab"+e.classData.annotations[0]+"\xbb":"",b=x.node().appendChild(d(w,e.labelStyle,!0,!0)),m=b.getBBox();if((0,a.m)((0,a.c)().flowchart.htmlLabels)){let t=b.children[0],e=(0,i.Ys)(b);m=t.getBoundingClientRect(),e.attr("width",m.width),e.attr("height",m.height)}e.classData.annotations[0]&&(g+=m.height+4,p+=m.width);let k=e.classData.label;void 0!==e.classData.type&&""!==e.classData.type&&((0,a.c)().flowchart.htmlLabels?k+="<"+e.classData.type+">":k+="<"+e.classData.type+">");let L=x.node().appendChild(d(k,e.labelStyle,!0,!0));(0,i.Ys)(L).attr("class","classTitle");let v=L.getBBox();if((0,a.m)((0,a.c)().flowchart.htmlLabels)){let t=L.children[0],e=(0,i.Ys)(L);v=t.getBoundingClientRect(),e.attr("width",v.width),e.attr("height",v.height)}g+=v.height+4,v.width>p&&(p=v.width);let M=[];e.classData.members.forEach(t=>{let r=t.getDisplayDetails(),n=r.displayText;(0,a.c)().flowchart.htmlLabels&&(n=n.replace(//g,">"));let l=x.node().appendChild(d(n,r.cssStyle?r.cssStyle:e.labelStyle,!0,!0)),s=l.getBBox();if((0,a.m)((0,a.c)().flowchart.htmlLabels)){let t=l.children[0],e=(0,i.Ys)(l);s=t.getBoundingClientRect(),e.attr("width",s.width),e.attr("height",s.height)}s.width>p&&(p=s.width),g+=s.height+4,M.push(l)}),g+=8;let S=[];if(e.classData.methods.forEach(t=>{let r=t.getDisplayDetails(),n=r.displayText;(0,a.c)().flowchart.htmlLabels&&(n=n.replace(//g,">"));let l=x.node().appendChild(d(n,r.cssStyle?r.cssStyle:e.labelStyle,!0,!0)),s=l.getBBox();if((0,a.m)((0,a.c)().flowchart.htmlLabels)){let t=l.children[0],e=(0,i.Ys)(l);s=t.getBoundingClientRect(),e.attr("width",s.width),e.attr("height",s.height)}s.width>p&&(p=s.width),g+=s.height+4,S.push(l)}),g+=8,u){let t=(p-m.width)/2;(0,i.Ys)(b).attr("transform","translate( "+(-1*p/2+t)+", "+-1*g/2+")"),f=m.height+4}let T=(p-v.width)/2;return(0,i.Ys)(L).attr("transform","translate( "+(-1*p/2+T)+", "+(-1*g/2+f)+")"),f+=v.height+4,h.attr("class","divider").attr("x1",-p/2-n).attr("x2",p/2+n).attr("y1",-g/2-n+8+f).attr("y2",-g/2-n+8+f),f+=8,M.forEach(t=>{(0,i.Ys)(t).attr("transform","translate( "+-p/2+", "+(-1*g/2+f+4)+")");let e=null==t?void 0:t.getBBox();f+=((null==e?void 0:e.height)??0)+4}),f+=8,c.attr("class","divider").attr("x1",-p/2-n).attr("x2",p/2+n).attr("y1",-g/2-n+8+f).attr("y2",-g/2-n+8+f),f+=8,S.forEach(t=>{(0,i.Ys)(t).attr("transform","translate( "+-p/2+", "+(-1*g/2+f)+")");let e=null==t?void 0:t.getBBox();f+=((null==e?void 0:e.height)??0)+4}),s.attr("style",e.style).attr("class","outer title-state").attr("x",-p/2-n).attr("y",-(g/2)-n).attr("width",p+e.padding).attr("height",g+e.padding),o(e,s),e.intersect=function(t){return y(e,t)},l}},v={},M=async(t,e,r)=>{let i,n;if(e.link){let l;"sandbox"===(0,a.c)().securityLevel?l="_top":e.linkTarget&&(l=e.linkTarget||"_blank"),i=t.insert("svg:a").attr("xlink:href",e.link).attr("target",l),n=await L[e.shape](i,e,r)}else i=n=await L[e.shape](t,e,r);return e.tooltip&&n.attr("title",e.tooltip),e.class&&n.attr("class","node default "+e.class),i.attr("data-node","true"),i.attr("data-id",e.id),v[e.id]=i,e.haveCallback&&v[e.id].attr("class",v[e.id].attr("class")+" clickable"),i},S=(t,e)=>{v[e.id]=t},T=()=>{v={}},B=t=>{let e=v[t.id];a.l.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+r-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),r},_=({flowchart:t})=>{var e,r;let a=(null==(e=null==t?void 0:t.subGraphTitleMargin)?void 0:e.top)??0,i=(null==(r=null==t?void 0:t.subGraphTitleMargin)?void 0:r.bottom)??0;return{subGraphTitleTopMargin:a,subGraphTitleBottomMargin:i,subGraphTitleTotalMargin:a+i}},C={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function E(t,e){if(void 0===t||void 0===e)return{angle:0,deltaX:0,deltaY:0};t=$(t),e=$(e);let[r,a]=[t.x,t.y],[i,n]=[e.x,e.y],l=i-r,s=n-a;return{angle:Math.atan(s/l),deltaX:l,deltaY:s}}let $=t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,Y=t=>({x:function(e,r,a){let i=0;if(0===r&&Object.hasOwn(C,t.arrowTypeStart)){let{angle:e,deltaX:r}=E(a[0],a[1]);i=C[t.arrowTypeStart]*Math.cos(e)*(r>=0?1:-1)}else if(r===a.length-1&&Object.hasOwn(C,t.arrowTypeEnd)){let{angle:e,deltaX:r}=E(a[a.length-1],a[a.length-2]);i=C[t.arrowTypeEnd]*Math.cos(e)*(r>=0?1:-1)}return $(e).x+i},y:function(e,r,a){let i=0;if(0===r&&Object.hasOwn(C,t.arrowTypeStart)){let{angle:e,deltaY:r}=E(a[0],a[1]);i=C[t.arrowTypeStart]*Math.abs(Math.sin(e))*(r>=0?1:-1)}else if(r===a.length-1&&Object.hasOwn(C,t.arrowTypeEnd)){let{angle:e,deltaY:r}=E(a[a.length-1],a[a.length-2]);i=C[t.arrowTypeEnd]*Math.abs(Math.sin(e))*(r>=0?1:-1)}return $(e).y+i}}),P=(t,e,r,a,i)=>{e.arrowTypeStart&&O(t,"start",e.arrowTypeStart,r,a,i),e.arrowTypeEnd&&O(t,"end",e.arrowTypeEnd,r,a,i)},R={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},O=(t,e,r,i,n,l)=>{let s=R[r];if(!s){a.l.warn(`Unknown arrow type: ${r}`);return}t.attr(`marker-${e}`,`url(${i}#${n}_${l}-${s}${"start"===e?"Start":"End"})`)},W={},I={},j=()=>{W={},I={}},N=(t,e)=>{let r;let l=(0,a.m)((0,a.c)().flowchart.htmlLabels),s="markdown"===e.labelType?(0,n.a)(t,e.label,{style:e.labelStyle,useHtmlLabels:l,addSvgBackground:!0}):d(e.label,e.labelStyle),h=t.insert("g").attr("class","edgeLabel"),o=h.insert("g").attr("class","label");o.node().appendChild(s);let c=s.getBBox();if(l){let t=s.children[0],e=(0,i.Ys)(s);c=t.getBoundingClientRect(),e.attr("width",c.width),e.attr("height",c.height)}if(o.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"),W[e.id]=h,e.width=c.width,e.height=c.height,e.startLabelLeft){let a=d(e.startLabelLeft,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),n=i.insert("g").attr("class","inner");r=n.node().appendChild(a);let l=a.getBBox();n.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),I[e.id]||(I[e.id]={}),I[e.id].startLeft=i,D(r,e.startLabelLeft)}if(e.startLabelRight){let a=d(e.startLabelRight,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),n=i.insert("g").attr("class","inner");r=i.node().appendChild(a),n.node().appendChild(a);let l=a.getBBox();n.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),I[e.id]||(I[e.id]={}),I[e.id].startRight=i,D(r,e.startLabelRight)}if(e.endLabelLeft){let a=d(e.endLabelLeft,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),n=i.insert("g").attr("class","inner");r=n.node().appendChild(a);let l=a.getBBox();n.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),i.node().appendChild(a),I[e.id]||(I[e.id]={}),I[e.id].endLeft=i,D(r,e.endLabelLeft)}if(e.endLabelRight){let a=d(e.endLabelRight,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),n=i.insert("g").attr("class","inner");r=n.node().appendChild(a);let l=a.getBBox();n.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),i.node().appendChild(a),I[e.id]||(I[e.id]={}),I[e.id].endRight=i,D(r,e.endLabelRight)}return s};function D(t,e){(0,a.c)().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}let H=(t,e)=>{a.l.debug("Moving label abc88 ",t.id,t.label,W[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath,{subGraphTitleTotalMargin:i}=_((0,a.c)());if(t.label){let n=W[t.id],l=t.x,s=t.y;if(r){let i=a.u.calcLabelPosition(r);a.l.debug("Moving label "+t.label+" from (",l,",",s,") to (",i.x,",",i.y,") abc88"),e.updatedPath&&(l=i.x,s=i.y)}n.attr("transform",`translate(${l}, ${s+i/2})`)}if(t.startLabelLeft){let e=I[t.id].startLeft,i=t.x,n=t.y;if(r){let e=a.u.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);i=e.x,n=e.y}e.attr("transform",`translate(${i}, ${n})`)}if(t.startLabelRight){let e=I[t.id].startRight,i=t.x,n=t.y;if(r){let e=a.u.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);i=e.x,n=e.y}e.attr("transform",`translate(${i}, ${n})`)}if(t.endLabelLeft){let e=I[t.id].endLeft,i=t.x,n=t.y;if(r){let e=a.u.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);i=e.x,n=e.y}e.attr("transform",`translate(${i}, ${n})`)}if(t.endLabelRight){let e=I[t.id].endRight,i=t.x,n=t.y;if(r){let e=a.u.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);i=e.x,n=e.y}e.attr("transform",`translate(${i}, ${n})`)}},X=(t,e)=>{let r=t.x,a=t.y,i=Math.abs(e.x-r),n=Math.abs(e.y-a),l=t.width/2,s=t.height/2;return i>=l||n>=s},U=(t,e,r)=>{a.l.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(e)} + insidePoint : ${JSON.stringify(r)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let i=t.x,n=t.y,l=Math.abs(i-r.x),s=t.width/2,d=r.xMath.abs(i-e.x)*h){let t=r.y{a.l.debug("abc88 cutPathAtIntersect",t,e);let r=[],i=t[0],n=!1;return t.forEach(t=>{if(X(e,t)||n)i=t,n||r.push(t);else{let a=U(e,i,t),l=!1;r.forEach(t=>{l=l||t.x===a.x&&t.y===a.y}),r.some(t=>t.x===a.x&&t.y===a.y)||r.push(a),n=!0}}),r},Z=function(t,e,r,n,l,s,d){let h,o=r.points;a.l.debug("abc88 InsertEdge: edge=",r,"e=",e);let c=!1,y=s.node(e.v);var p=s.node(e.w);(null==p?void 0:p.intersect)&&(null==y?void 0:y.intersect)&&((o=o.slice(1,r.points.length-1)).unshift(y.intersect(o[0])),o.push(p.intersect(o[o.length-1]))),r.toCluster&&(a.l.debug("to cluster abc88",n[r.toCluster]),o=A(r.points,n[r.toCluster].node),c=!0),r.fromCluster&&(a.l.debug("from cluster abc88",n[r.fromCluster]),o=A(o.reverse(),n[r.fromCluster].node).reverse(),c=!0);let g=o.filter(t=>!Number.isNaN(t.y)),x=i.$0Z;r.curve&&("graph"===l||"flowchart"===l)&&(x=r.curve);let{x:f,y:u}=Y(r),w=(0,i.jvg)().x(f).y(u).curve(x);switch(r.thickness){case"normal":h="edge-thickness-normal";break;case"thick":case"invisible":h="edge-thickness-thick";break;default:h=""}switch(r.pattern){case"solid":h+=" edge-pattern-solid";break;case"dotted":h+=" edge-pattern-dotted";break;case"dashed":h+=" edge-pattern-dashed"}let b=t.append("path").attr("d",w(g)).attr("id",r.id).attr("class"," "+h+(r.classes?" "+r.classes:"")).attr("style",r.style),m="";((0,a.c)().flowchart.arrowMarkerAbsolute||(0,a.c)().state.arrowMarkerAbsolute)&&(m=(m=(m=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),P(b,r,m,d,l);let k={};return c&&(k.updatedPath=o),k.originalPath=r.points,k}}}]); \ No newline at end of file diff --git a/_next/static/chunks/5914.3ad7331348fcf482.js b/_next/static/chunks/5914.3ad7331348fcf482.js new file mode 100644 index 0000000..cf0d8d9 --- /dev/null +++ b/_next/static/chunks/5914.3ad7331348fcf482.js @@ -0,0 +1,47 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5914],{5914:function(t,e,i){i.d(e,{diagram:function(){return A}});var r=i(1835),n=i(4218),s=i(1316),a=i(5625);i(7484),i(6574),i(7856);var l=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,3],i=[1,4],r=[1,5],n=[1,6],s=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],a=[1,18],l=[2,7],h=[1,22],c=[1,23],o=[1,24],u=[1,25],y=[1,26],d=[1,27],p=[1,20],_=[1,28],E=[1,29],g=[62,63],R=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],f=[1,47],m=[1,48],I=[1,49],b=[1,50],k=[1,51],S=[1,52],T=[1,53],N=[53,54],x=[1,64],A=[1,60],v=[1,61],q=[1,62],$=[1,63],O=[1,65],w=[1,69],C=[1,70],L=[1,67],F=[1,68],M=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],D={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(t,e,i,r,n,s,a){var l=s.length-1;switch(n){case 4:this.$=s[l].trim(),r.setAccTitle(this.$);break;case 5:case 6:this.$=s[l].trim(),r.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:r.addRequirement(s[l-3],s[l-4]);break;case 14:r.setNewReqId(s[l-2]);break;case 15:r.setNewReqText(s[l-2]);break;case 16:r.setNewReqRisk(s[l-2]);break;case 17:r.setNewReqVerifyMethod(s[l-2]);break;case 20:this.$=r.RequirementType.REQUIREMENT;break;case 21:this.$=r.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=r.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=r.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=r.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=r.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=r.RiskLevel.LOW_RISK;break;case 27:this.$=r.RiskLevel.MED_RISK;break;case 28:this.$=r.RiskLevel.HIGH_RISK;break;case 29:this.$=r.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=r.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=r.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=r.VerifyType.VERIFY_TEST;break;case 33:r.addElement(s[l-3]);break;case 34:r.setNewElementType(s[l-2]);break;case 35:r.setNewElementDocRef(s[l-2]);break;case 38:r.addRelationship(s[l-2],s[l],s[l-4]);break;case 39:r.addRelationship(s[l-2],s[l-4],s[l]);break;case 40:this.$=r.Relationships.CONTAINS;break;case 41:this.$=r.Relationships.COPIES;break;case 42:this.$=r.Relationships.DERIVES;break;case 43:this.$=r.Relationships.SATISFIES;break;case 44:this.$=r.Relationships.VERIFIES;break;case 45:this.$=r.Relationships.REFINES;break;case 46:this.$=r.Relationships.TRACES}},table:[{3:1,4:2,6:e,9:i,11:r,13:n},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:i,11:r,13:n},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(s,[2,6]),{3:12,4:2,6:e,9:i,11:r,13:n},{1:[2,2]},{4:17,5:a,7:13,8:l,9:i,11:r,13:n,14:14,15:15,16:16,17:19,23:21,31:h,32:c,33:o,34:u,35:y,36:d,44:p,62:_,63:E},t(s,[2,4]),t(s,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:a,7:31,8:l,9:i,11:r,13:n,14:14,15:15,16:16,17:19,23:21,31:h,32:c,33:o,34:u,35:y,36:d,44:p,62:_,63:E},{4:17,5:a,7:32,8:l,9:i,11:r,13:n,14:14,15:15,16:16,17:19,23:21,31:h,32:c,33:o,34:u,35:y,36:d,44:p,62:_,63:E},{4:17,5:a,7:33,8:l,9:i,11:r,13:n,14:14,15:15,16:16,17:19,23:21,31:h,32:c,33:o,34:u,35:y,36:d,44:p,62:_,63:E},{4:17,5:a,7:34,8:l,9:i,11:r,13:n,14:14,15:15,16:16,17:19,23:21,31:h,32:c,33:o,34:u,35:y,36:d,44:p,62:_,63:E},{4:17,5:a,7:35,8:l,9:i,11:r,13:n,14:14,15:15,16:16,17:19,23:21,31:h,32:c,33:o,34:u,35:y,36:d,44:p,62:_,63:E},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},t(g,[2,20]),t(g,[2,21]),t(g,[2,22]),t(g,[2,23]),t(g,[2,24]),t(g,[2,25]),t(R,[2,49]),t(R,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:f,56:m,57:I,58:b,59:k,60:S,61:T},{52:54,55:f,56:m,57:I,58:b,59:k,60:S,61:T},{5:[1,55]},{5:[1,56]},{53:[1,57]},t(N,[2,40]),t(N,[2,41]),t(N,[2,42]),t(N,[2,43]),t(N,[2,44]),t(N,[2,45]),t(N,[2,46]),{54:[1,58]},{5:x,20:59,21:A,24:v,26:q,28:$,30:O},{5:w,30:C,46:66,47:L,49:F},{23:71,62:_,63:E},{23:72,62:_,63:E},t(M,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:x,20:77,21:A,24:v,26:q,28:$,30:O},t(M,[2,19]),t(M,[2,33]),{22:[1,78]},{22:[1,79]},{5:w,30:C,46:80,47:L,49:F},t(M,[2,37]),t(M,[2,38]),t(M,[2,39]),{23:81,62:_,63:E},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},t(M,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},t(M,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:x,20:106,21:A,24:v,26:q,28:$,30:O},{5:x,20:107,21:A,24:v,26:q,28:$,30:O},{5:x,20:108,21:A,24:v,26:q,28:$,30:O},{5:x,20:109,21:A,24:v,26:q,28:$,30:O},{5:w,30:C,46:110,47:L,49:F},{5:w,30:C,46:111,47:L,49:F},t(M,[2,14]),t(M,[2,15]),t(M,[2,16]),t(M,[2,17]),t(M,[2,34]),t(M,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,l="",h=0,c=0,o=s.slice.call(arguments,1),u=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);u.setInput(t,y.yy),y.yy.lexer=u,y.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var p=u.yylloc;s.push(p);var _=u.options&&u.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var E,g,R,f,m,I,b,k,S={};;){if(g=i[i.length-1],this.defaultActions[g]?R=this.defaultActions[g]:(null==E&&(E=function(){var t;return"number"!=typeof(t=r.pop()||u.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),R=a[g]&&a[g][E]),void 0===R||!R.length||!R[0]){var T="";for(m in k=[],a[g])this.terminals_[m]&&m>2&&k.push("'"+this.terminals_[m]+"'");T=u.showPosition?"Parse error on line "+(h+1)+":\n"+u.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[E]||E)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==E?"end of input":"'"+(this.terminals_[E]||E)+"'"),this.parseError(T,{text:u.match,token:this.terminals_[E]||E,line:u.yylineno,loc:p,expected:k})}if(R[0]instanceof Array&&R.length>1)throw Error("Parse Error: multiple actions possible at state: "+g+", token: "+E);switch(R[0]){case 1:i.push(E),n.push(u.yytext),s.push(u.yylloc),i.push(R[1]),E=null,c=u.yyleng,l=u.yytext,h=u.yylineno,p=u.yylloc;break;case 2:if(I=this.productions_[R[1]][1],S.$=n[n.length-I],S._$={first_line:s[s.length-(I||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(I||1)].first_column,last_column:s[s.length-1].last_column},_&&(S._$.range=[s[s.length-(I||1)].range[0],s[s.length-1].range[1]]),void 0!==(f=this.performAction.apply(S,[l,c,h,y.yy,R[1],n,s].concat(o))))return f;I&&(i=i.slice(0,-1*I*2),n=n.slice(0,-1*I),s=s.slice(0,-1*I)),i.push(this.productions_[R[1]][0]),n.push(S.$),s.push(S._$),b=a[i[i.length-2]][i[i.length-1]],i.push(b);break;case 3:return!0}}return!0}};function P(){this.yy={}}return D.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in n)this[s]=n[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,n=this._currentRules(),s=0;se[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,i,r){switch(i){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 48:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:case 10:case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 49:return"qString";case 50:return e.yytext=e.yytext.trim(),62}},rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}},P.prototype=D,D.Parser=P,new P}();l.parser=l;let h=[],c={},o={},u={},y={},d={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},getConfig:()=>(0,r.c)().req,addRequirement:(t,e)=>(void 0===o[t]&&(o[t]={name:t,type:e,id:c.id,text:c.text,risk:c.risk,verifyMethod:c.verifyMethod}),c={},o[t]),getRequirements:()=>o,setNewReqId:t=>{void 0!==c&&(c.id=t)},setNewReqText:t=>{void 0!==c&&(c.text=t)},setNewReqRisk:t=>{void 0!==c&&(c.risk=t)},setNewReqVerifyMethod:t=>{void 0!==c&&(c.verifyMethod=t)},setAccTitle:r.s,getAccTitle:r.g,setAccDescription:r.b,getAccDescription:r.a,addElement:t=>(void 0===y[t]&&(y[t]={name:t,type:u.type,docRef:u.docRef},r.l.info("Added new requirement: ",t)),u={},y[t]),getElements:()=>y,setNewElementType:t=>{void 0!==u&&(u.type=t)},setNewElementDocRef:t=>{void 0!==u&&(u.docRef=t)},addRelationship:(t,e,i)=>{h.push({type:t,src:e,dst:i})},getRelationships:()=>h,clear:()=>{h=[],c={},o={},u={},y={},(0,r.v)()}},p={CONTAINS:"contains",ARROW:"arrow"},_={ReqMarkers:p,insertLineEndings:(t,e)=>{let i=t.append("defs").append("marker").attr("id",p.CONTAINS+"_line_ending").attr("refX",0).attr("refY",e.line_height/2).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("g");i.append("circle").attr("cx",e.line_height/2).attr("cy",e.line_height/2).attr("r",e.line_height/2).attr("fill","none"),i.append("line").attr("x1",0).attr("x2",e.line_height).attr("y1",e.line_height/2).attr("y2",e.line_height/2).attr("stroke-width",1),i.append("line").attr("y1",0).attr("y2",e.line_height).attr("x1",e.line_height/2).attr("x2",e.line_height/2).attr("stroke-width",1),t.append("defs").append("marker").attr("id",p.ARROW+"_line_ending").attr("refX",e.line_height).attr("refY",.5*e.line_height).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("path").attr("d",`M0,0 + L${e.line_height},${e.line_height/2} + M${e.line_height},${e.line_height/2} + L0,${e.line_height}`).attr("stroke-width",1)}},E={},g=0,R=(t,e)=>t.insert("rect","#"+e).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",E.rect_min_width+"px").attr("height",E.rect_min_height+"px"),f=(t,e,i)=>{let r=E.rect_min_width/2,n=t.append("text").attr("class","req reqLabel reqTitle").attr("id",e).attr("x",r).attr("y",E.rect_padding).attr("dominant-baseline","hanging"),s=0;i.forEach(t=>{0==s?n.append("tspan").attr("text-anchor","middle").attr("x",E.rect_min_width/2).attr("dy",0).text(t):n.append("tspan").attr("text-anchor","middle").attr("x",E.rect_min_width/2).attr("dy",.75*E.line_height).text(t),s++});let a=1.5*E.rect_padding+s*E.line_height*.75;return t.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",E.rect_min_width).attr("y1",a).attr("y2",a),{titleNode:n,y:a}},m=(t,e,i,r)=>{let n=t.append("text").attr("class","req reqLabel").attr("id",e).attr("x",E.rect_padding).attr("y",r).attr("dominant-baseline","hanging"),s=0,a=[];return i.forEach(t=>{let e=t.length;for(;e>30&&s<3;){let i=t.substring(0,30);e=(t=t.substring(30,t.length)).length,a[a.length]=i,s++}if(3==s){let t=a[a.length-1];a[a.length-1]=t.substring(0,t.length-4)+"..."}else a[a.length]=t;s=0}),a.forEach(t=>{n.append("tspan").attr("x",E.rect_padding).attr("dy",E.line_height).text(t)}),n},I=(t,e,i,r)=>{let n=e.node().getTotalLength(),s=e.node().getPointAtLength(.5*n),a="rel"+g;g++;let l=t.append("text").attr("class","req relationshipLabel").attr("id",a).attr("x",s.x).attr("y",s.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(r).node().getBBox();t.insert("rect","#"+a).attr("class","req reqLabelBox").attr("x",s.x-l.width/2).attr("y",s.y-l.height/2).attr("width",l.width).attr("height",l.height).attr("fill","white").attr("fill-opacity","85%")},b=function(t,e,i,s,a){let l=i.edge(x(e.src),x(e.dst)),h=(0,n.jvg)().x(function(t){return t.x}).y(function(t){return t.y}),c=t.insert("path","#"+s).attr("class","er relationshipLine").attr("d",h(l.points)).attr("fill","none");e.type==a.db.Relationships.CONTAINS?c.attr("marker-start","url("+r.e.getUrl(E.arrowMarkerAbsolute)+"#"+e.type+"_line_ending)"):(c.attr("stroke-dasharray","10,7"),c.attr("marker-end","url("+r.e.getUrl(E.arrowMarkerAbsolute)+"#"+_.ReqMarkers.ARROW+"_line_ending)")),I(t,c,E,`<<${e.type}>>`)},k=(t,e,i)=>{Object.keys(t).forEach(n=>{let s=t[n];n=x(n),r.l.info("Added new requirement: ",n);let a=i.append("g").attr("id",n),l=R(a,"req-"+n),h=f(a,n+"_title",[`<<${s.type}>>`,`${s.name}`]);m(a,n+"_body",[`Id: ${s.id}`,`Text: ${s.text}`,`Risk: ${s.risk}`,`Verification: ${s.verifyMethod}`],h.y);let c=l.node().getBBox();e.setNode(n,{width:c.width,height:c.height,shape:"rect",id:n})})},S=(t,e,i)=>{Object.keys(t).forEach(r=>{let n=t[r],s=x(r),a=i.append("g").attr("id",s),l="element-"+s,h=R(a,l),c=f(a,l+"_title",["<>",`${r}`]);m(a,l+"_body",[`Type: ${n.type||"Not Specified"}`,`Doc Ref: ${n.docRef||"None"}`],c.y);let o=h.node().getBBox();e.setNode(s,{width:o.width,height:o.height,shape:"rect",id:s})})},T=(t,e)=>(t.forEach(function(t){let i=x(t.src),r=x(t.dst);e.setEdge(i,r,{relationship:t})}),t),N=function(t,e){e.nodes().forEach(function(i){void 0!==i&&void 0!==e.node(i)&&(t.select("#"+i),t.select("#"+i).attr("transform","translate("+(e.node(i).x-e.node(i).width/2)+","+(e.node(i).y-e.node(i).height/2)+" )"))})},x=t=>t.replace(/\s/g,"").replace(/\./g,"_"),A={parser:l,db:d,renderer:{draw:(t,e,i,l)=>{let h;let c=(E=(0,r.c)().requirement).securityLevel;"sandbox"===c&&(h=(0,n.Ys)("#i"+e));let o=("sandbox"===c?(0,n.Ys)(h.nodes()[0].contentDocument.body):(0,n.Ys)("body")).select(`[id='${e}']`);_.insertLineEndings(o,E);let u=new a.k({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:E.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}}),y=l.db.getRequirements(),d=l.db.getElements(),p=l.db.getRelationships();k(y,u,o),S(d,u,o),T(p,u),(0,s.bK)(u),N(o,u),p.forEach(function(t){b(o,t,u,e,l)});let g=E.rect_padding,R=o.node().getBBox(),f=R.width+2*g,m=R.height+2*g;(0,r.i)(o,m,f,E.useMaxWidth),o.attr("viewBox",`${R.x-g} ${R.y-g} ${f} ${m}`)}},styles:t=>` + + marker { + fill: ${t.relationColor}; + stroke: ${t.relationColor}; + } + + marker.cross { + stroke: ${t.lineColor}; + } + + svg { + font-family: ${t.fontFamily}; + font-size: ${t.fontSize}; + } + + .reqBox { + fill: ${t.requirementBackground}; + fill-opacity: 1.0; + stroke: ${t.requirementBorderColor}; + stroke-width: ${t.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${t.requirementTextColor}; + } + .reqLabelBox { + fill: ${t.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${t.requirementBorderColor}; + stroke-width: ${t.requirementBorderSize}; + } + .relationshipLine { + stroke: ${t.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${t.relationLabelColor}; + } + +`}}}]); \ No newline at end of file diff --git a/_next/static/chunks/5998.4af461248232dbd3.js b/_next/static/chunks/5998.4af461248232dbd3.js new file mode 100644 index 0000000..de2edaa --- /dev/null +++ b/_next/static/chunks/5998.4af461248232dbd3.js @@ -0,0 +1,56 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5998],{5998:function(t,e,i){i.d(e,{diagram:function(){return H}});var n=i(1835),s=i(4218),r=i(1619),a=i(2281),l=i(4528);i(7484),i(6574),i(7856);var o=function(){var t=function(t,e,i,n){for(i=i||{},n=t.length;n--;i[t[n]]=e);return i},e=[6,8,10,11,12,14,16,17,20,21],i=[1,9],n=[1,10],s=[1,11],r=[1,12],a=[1,13],l=[1,16],o=[1,17],c={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(t,e,i,n,s,r,a){var l=r.length-1;switch(s){case 1:return r[l-1];case 2:case 6:case 7:this.$=[];break;case 3:r[l-1].push(r[l]),this.$=r[l-1];break;case 4:case 5:this.$=r[l];break;case 8:n.getCommonDb().setDiagramTitle(r[l].substr(6)),this.$=r[l].substr(6);break;case 9:this.$=r[l].trim(),n.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=r[l].trim(),n.getCommonDb().setAccDescription(this.$);break;case 12:n.addSection(r[l].substr(8)),this.$=r[l].substr(8);break;case 15:n.addTask(r[l],0,""),this.$=r[l];break;case 16:n.addEvent(r[l].substr(2)),this.$=r[l]}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:i,12:n,14:s,16:r,17:a,18:14,19:15,20:l,21:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:i,12:n,14:s,16:r,17:a,18:14,19:15,20:l,21:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],n=[],s=[null],r=[],a=this.table,l="",o=0,c=0,h=r.slice.call(arguments,1),u=Object.create(this.lexer),d={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(d.yy[p]=this.yy[p]);u.setInput(t,d.yy),d.yy.lexer=u,d.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var g=u.yylloc;r.push(g);var y=u.options&&u.options.ranges;"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,_,b,k,x,v,w,$={};;){if(m=i[i.length-1],this.defaultActions[m]?_=this.defaultActions[m]:(null==f&&(f=function(){var t;return"number"!=typeof(t=n.pop()||u.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}()),_=a[m]&&a[m][f]),void 0===_||!_.length||!_[0]){var S="";for(k in w=[],a[m])this.terminals_[k]&&k>2&&w.push("'"+this.terminals_[k]+"'");S=u.showPosition?"Parse error on line "+(o+1)+":\n"+u.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(S,{text:u.match,token:this.terminals_[f]||f,line:u.yylineno,loc:g,expected:w})}if(_[0]instanceof Array&&_.length>1)throw Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(_[0]){case 1:i.push(f),s.push(u.yytext),r.push(u.yylloc),i.push(_[1]),f=null,c=u.yyleng,l=u.yytext,o=u.yylineno,g=u.yylloc;break;case 2:if(x=this.productions_[_[1]][1],$.$=s[s.length-x],$._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},y&&($._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),void 0!==(b=this.performAction.apply($,[l,c,o,d.yy,_[1],s,r].concat(h))))return b;x&&(i=i.slice(0,-1*x*2),s=s.slice(0,-1*x),r=r.slice(0,-1*x)),i.push(this.productions_[_[1]][0]),s.push($.$),r.push($._$),v=a[i[i.length-2]][i[i.length-1]],i.push(v);break;case 3:return!0}}return!0}};function h(){this.yy={}}return c.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,n,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in s)this[r]=s[r];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,n,s=this._currentRules(),r=0;re[0].length)){if(e=i,n=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,s[r])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,i,n){switch(i){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?::\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}},h.prototype=c,c.Parser=h,new h}();o.parser=o;let c="",h=0,u=[],d=[],p=[],g=()=>n.L,y=function(){u.length=0,d.length=0,c="",p.length=0,(0,n.v)()},f=function(t){c=t,u.push(t)},m=function(){return u},_=function(){let t=v(),e=0;for(;!t&&e<100;)t=v(),e++;return d.push(...p),d},b=function(t,e,i){let n={id:h++,section:c,type:c,task:t,score:e||0,events:i?[i]:[]};p.push(n)},k=function(t){p.find(t=>t.id===h-1).events.push(t)},x=function(t){let e={section:c,type:c,description:t,task:t,classes:[]};d.push(e)},v=function(){let t=!0;for(let[e,i]of p.entries())p[e].processed,t=t&&i.processed;return t},w=Object.freeze(Object.defineProperty({__proto__:null,addEvent:k,addSection:f,addTask:b,addTaskOrg:x,clear:y,default:{clear:y,getCommonDb:g,addSection:f,getSections:m,getTasks:_,addTask:b,addTaskOrg:x,addEvent:k},getCommonDb:g,getSections:m,getTasks:_},Symbol.toStringTag,{value:"Module"}));function $(t,e){t.each(function(){var t,i=(0,s.Ys)(this),n=i.text().split(/(\s+|
)/).reverse(),r=[],a=i.attr("y"),l=parseFloat(i.attr("dy")),o=i.text(null).append("tspan").attr("x",0).attr("y",a).attr("dy",l+"em");for(let s=0;se||"
"===t)&&(r.pop(),o.text(r.join(" ").trim()),r="
"===t?[""]:[t],o=i.append("tspan").attr("x",0).attr("y",a).attr("dy","1.1em").text(t))})}!function(){function t(t,e){for(let i in e)i in e&&t.attr(i,e[i])}}();let S=function(t,e,i){t.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+e.type).attr("d",`M0 ${e.height-5} v${-e.height+10} q0,-5 5,-5 h${e.width-10} q5,0 5,5 v${e.height-5} H0 Z`),t.append("line").attr("class","node-line-"+i).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},E={initGraphics:function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},drawNode:function(t,e,i,n){let s=i%12-1,r=t.append("g");e.section=s,r.attr("class",(e.class?e.class+" ":"")+"timeline-node section-"+s);let a=r.append("g"),l=r.append("g"),o=l.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call($,e.width).node().getBBox(),c=n.fontSize&&n.fontSize.replace?n.fontSize.replace("px",""):n.fontSize;return e.height=o.height+.55*c+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,l.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),S(a,e,s),e},getVirtualNodeHeight:function(t,e,i){let n=t.append("g"),s=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call($,e.width).node().getBBox(),r=i.fontSize&&i.fontSize.replace?i.fontSize.replace("px",""):i.fontSize;return n.remove(),s.height+.55*r+e.padding}},I=function(t,e,i,s,r,a,l,o,c,h,u){var d;for(let o of e){let e={descr:o.task,section:i,number:i,width:150,padding:20,maxHeight:a};n.l.debug("taskNode",e);let p=t.append("g").attr("class","taskWrapper"),g=E.drawNode(p,e,i,l).height;if(n.l.debug("taskHeight after draw",g),p.attr("transform",`translate(${s}, ${r})`),a=Math.max(a,g),o.events){let e=t.append("g").attr("class","lineWrapper");r+=100,N(t,o.events,i,s,r,l),r-=100,e.append("line").attr("x1",s+95).attr("y1",r+a).attr("x2",s+95).attr("y2",r+a+(u?a:h)+c+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}s+=200,u&&!(null==(d=l.timeline)?void 0:d.disableMulticolor)&&i++}},N=function(t,e,i,s,r,a){let l=0,o=r;for(let o of(r+=100,e)){let e={descr:o,section:i,number:i,width:150,padding:20,maxHeight:50};n.l.debug("eventNode",e);let c=t.append("g").attr("class","eventWrapper"),h=E.drawNode(c,e,i,a).height;l+=h,c.attr("transform",`translate(${s}, ${r})`),r=r+10+h}return r=o,l},L=t=>{let e="";for(let e=0;e{},draw:function(t,e,i,r){var a,l;let o;let c=(0,n.c)(),h=c.leftMargin??50;n.l.debug("timeline",r.db);let u=c.securityLevel;"sandbox"===u&&(o=(0,s.Ys)("#i"+e));let d=("sandbox"===u?(0,s.Ys)(o.nodes()[0].contentDocument.body):(0,s.Ys)("body")).select("#"+e);d.append("g");let p=r.db.getTasks(),g=r.db.getCommonDb().getDiagramTitle();n.l.debug("task",p),E.initGraphics(d);let y=r.db.getSections();n.l.debug("sections",y);let f=0,m=0,_=0,b=0,k=50+h,x=50;b=50;let v=0,w=!0;y.forEach(function(t){let e={number:v,descr:t,section:v,width:150,padding:20,maxHeight:f},i=E.getVirtualNodeHeight(d,e,c);n.l.debug("sectionHeight before draw",i),f=Math.max(f,i+20)});let $=0,S=0;for(let[t,e]of(n.l.debug("tasks.length",p.length),p.entries())){let i={number:t,descr:e,section:e.section,width:150,padding:20,maxHeight:m},s=E.getVirtualNodeHeight(d,i,c);n.l.debug("taskHeight before draw",s),m=Math.max(m,s+20),$=Math.max($,e.events.length);let r=0;for(let t=0;t0?y.forEach(t=>{let e=p.filter(e=>e.section===t),i={number:v,descr:t,section:v,width:200*Math.max(e.length,1)-50,padding:20,maxHeight:f};n.l.debug("sectionNode",i);let s=d.append("g"),r=E.drawNode(s,i,v,c);n.l.debug("sectionNode output",r),s.attr("transform",`translate(${k}, ${b})`),x+=f+50,e.length>0&&I(d,e,v,k,x,m,c,$,S,f,!1),k+=200*Math.max(e.length,1),x=b,v++}):(w=!1,I(d,p,v,k,x,m,c,$,S,f,!0));let N=d.node().getBBox();n.l.debug("bounds",N),g&&d.append("text").text(g).attr("x",N.width/2-h).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),_=w?f+m+150:m+100,d.append("g").attr("class","lineWrapper").append("line").attr("x1",h).attr("y1",_).attr("x2",N.width+3*h).attr("y2",_).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),(0,n.o)(void 0,d,(null==(a=c.timeline)?void 0:a.padding)??50,(null==(l=c.timeline)?void 0:l.useMaxWidth)??!1)}},parser:o,styles:t=>` + .edge { + stroke-width: 3; + } + ${L(t)} + .section-root rect, .section-root path, .section-root circle { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`}}}]); \ No newline at end of file diff --git a/_next/static/chunks/6097.8c7e93bdc5ce32bf.js b/_next/static/chunks/6097.8c7e93bdc5ce32bf.js new file mode 100644 index 0000000..0ad6c86 --- /dev/null +++ b/_next/static/chunks/6097.8c7e93bdc5ce32bf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6097],{6097:function(t,e,a){let i;a.d(e,{diagram:function(){return S}});var r=a(7518),d=a(4218),n=a(1316),s=a(5625),o=a(1835);a(7484),a(6574),a(7856);let c={},l=(t,e)=>{c[t]=e},g=t=>t.append("circle").attr("class","start-state").attr("r",(0,o.c)().state.sizeUnit).attr("cx",(0,o.c)().state.padding+(0,o.c)().state.sizeUnit).attr("cy",(0,o.c)().state.padding+(0,o.c)().state.sizeUnit),p=t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",(0,o.c)().state.textHeight).attr("class","divider").attr("x2",2*(0,o.c)().state.textHeight).attr("y1",0).attr("y2",0),h=(t,e)=>{let a=t.append("text").attr("x",2*(0,o.c)().state.padding).attr("y",(0,o.c)().state.textHeight+2*(0,o.c)().state.padding).attr("font-size",(0,o.c)().state.fontSize).attr("class","state-title").text(e.id),i=a.node().getBBox();return t.insert("rect",":first-child").attr("x",(0,o.c)().state.padding).attr("y",(0,o.c)().state.padding).attr("width",i.width+2*(0,o.c)().state.padding).attr("height",i.height+2*(0,o.c)().state.padding).attr("rx",(0,o.c)().state.radius),a},x=(t,e)=>{let a=function(t,e,a){let i=t.append("tspan").attr("x",2*(0,o.c)().state.padding).text(e);a||i.attr("dy",(0,o.c)().state.textHeight)},i=t.append("text").attr("x",2*(0,o.c)().state.padding).attr("y",(0,o.c)().state.textHeight+1.3*(0,o.c)().state.padding).attr("font-size",(0,o.c)().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),r=i.height,d=t.append("text").attr("x",(0,o.c)().state.padding).attr("y",r+.4*(0,o.c)().state.padding+(0,o.c)().state.dividerMargin+(0,o.c)().state.textHeight).attr("class","state-description"),n=!0,s=!0;e.descriptions.forEach(function(t){n||(a(d,t,s),s=!1),n=!1});let c=t.append("line").attr("x1",(0,o.c)().state.padding).attr("y1",(0,o.c)().state.padding+r+(0,o.c)().state.dividerMargin/2).attr("y2",(0,o.c)().state.padding+r+(0,o.c)().state.dividerMargin/2).attr("class","descr-divider"),l=d.node().getBBox(),g=Math.max(l.width,i.width);return c.attr("x2",g+3*(0,o.c)().state.padding),t.insert("rect",":first-child").attr("x",(0,o.c)().state.padding).attr("y",(0,o.c)().state.padding).attr("width",g+2*(0,o.c)().state.padding).attr("height",l.height+r+2*(0,o.c)().state.padding).attr("rx",(0,o.c)().state.radius),t},u=(t,e,a)=>{let i;let r=(0,o.c)().state.padding,d=2*(0,o.c)().state.padding,n=t.node().getBBox(),s=n.width,c=n.x,l=t.append("text").attr("x",0).attr("y",(0,o.c)().state.titleShift).attr("font-size",(0,o.c)().state.fontSize).attr("class","state-title").text(e.id),g=l.node().getBBox().width+d,p=Math.max(g,s);p===s&&(p+=d);let h=t.node().getBBox();e.doc,i=c-r,g>s&&(i=(s-p)/2+r),Math.abs(c-h.x)s&&(i=c-(g-s)/2);let x=1-(0,o.c)().state.textHeight;return t.insert("rect",":first-child").attr("x",i).attr("y",x).attr("class",a?"alt-composit":"composit").attr("width",p).attr("height",h.height+(0,o.c)().state.textHeight+(0,o.c)().state.titleShift+1).attr("rx","0"),l.attr("x",i+r),g<=s&&l.attr("x",c+(p-d)/2-g/2+r),t.insert("rect",":first-child").attr("x",i).attr("y",(0,o.c)().state.titleShift-(0,o.c)().state.textHeight-(0,o.c)().state.padding).attr("width",p).attr("height",3*(0,o.c)().state.textHeight).attr("rx",(0,o.c)().state.radius),t.insert("rect",":first-child").attr("x",i).attr("y",(0,o.c)().state.titleShift-(0,o.c)().state.textHeight-(0,o.c)().state.padding).attr("width",p).attr("height",h.height+3+2*(0,o.c)().state.textHeight).attr("rx",(0,o.c)().state.radius),t},f=t=>(t.append("circle").attr("class","end-state-outer").attr("r",(0,o.c)().state.sizeUnit+(0,o.c)().state.miniPadding).attr("cx",(0,o.c)().state.padding+(0,o.c)().state.sizeUnit+(0,o.c)().state.miniPadding).attr("cy",(0,o.c)().state.padding+(0,o.c)().state.sizeUnit+(0,o.c)().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",(0,o.c)().state.sizeUnit).attr("cx",(0,o.c)().state.padding+(0,o.c)().state.sizeUnit+2).attr("cy",(0,o.c)().state.padding+(0,o.c)().state.sizeUnit+2)),y=(t,e)=>{let a=(0,o.c)().state.forkWidth,i=(0,o.c)().state.forkHeight;if(e.parentId){let t=a;a=i,i=t}return t.append("rect").style("stroke","black").style("fill","black").attr("width",a).attr("height",i).attr("x",(0,o.c)().state.padding).attr("y",(0,o.c)().state.padding)},w=(t,e,a,i)=>{let r=0,d=i.append("text");d.style("text-anchor","start"),d.attr("class","noteText");let n=t.replace(/\r\n/g,"
"),s=(n=n.replace(/\n/g,"
")).split(o.e.lineBreakRegex),c=1.25*(0,o.c)().state.noteMargin;for(let t of s){let i=t.trim();if(i.length>0){let t=d.append("tspan");t.text(i),0===c&&(c+=t.node().getBBox().height),r+=c,t.attr("x",e+(0,o.c)().state.noteMargin),t.attr("y",a+r+1.25*(0,o.c)().state.noteMargin)}}return{textWidth:d.node().getBBox().width,textHeight:r}},b=(t,e)=>{e.attr("class","state-note");let a=e.append("rect").attr("x",0).attr("y",(0,o.c)().state.padding),{textWidth:i,textHeight:r}=w(t,0,0,e.append("g"));return a.attr("height",r+2*(0,o.c)().state.noteMargin),a.attr("width",i+2*(0,o.c)().state.noteMargin),a},B=function(t,e){let a=e.id,i={id:a,label:e.id,width:0,height:0},r=t.append("g").attr("id",a).attr("class","stateGroup");"start"===e.type&&g(r),"end"===e.type&&f(r),("fork"===e.type||"join"===e.type)&&y(r,e),"note"===e.type&&b(e.note.text,r),"divider"===e.type&&p(r),"default"===e.type&&0===e.descriptions.length&&h(r,e),"default"===e.type&&e.descriptions.length>0&&x(r,e);let d=r.node().getBBox();return i.width=d.width+2*(0,o.c)().state.padding,i.height=d.height+2*(0,o.c)().state.padding,l(a,i),i},m=0,k=function(t,e,a){e.points=e.points.filter(t=>!Number.isNaN(t.y));let i=e.points,n=(0,d.jvg)().x(function(t){return t.x}).y(function(t){return t.y}).curve(d.$0Z),s=t.append("path").attr("d",n(i)).attr("id","edge"+m).attr("class","transition"),c="";if((0,o.c)().state.arrowMarkerAbsolute&&(c=(c=(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),s.attr("marker-end","url("+c+"#"+function(t){switch(t){case r.d.relationType.AGGREGATION:return"aggregation";case r.d.relationType.EXTENSION:return"extension";case r.d.relationType.COMPOSITION:return"composition";case r.d.relationType.DEPENDENCY:return"dependency"}}(r.d.relationType.DEPENDENCY)+"End)"),void 0!==a.title){let i=t.append("g").attr("class","stateLabel"),{x:r,y:d}=o.u.calcLabelPosition(e.points),n=o.e.getRows(a.title),s=0,c=[],l=0,g=0;for(let t=0;t<=n.length;t++){let e=i.append("text").attr("text-anchor","middle").text(n[t]).attr("x",r).attr("y",d+s),a=e.node().getBBox();l=Math.max(l,a.width),g=Math.min(g,a.x),o.l.info(a.x,r,d+s),0===s&&(s=e.node().getBBox().height,o.l.info("Title height",s,d)),c.push(e)}let p=s*n.length;if(n.length>1){let t=(n.length-1)*s*.5;c.forEach((e,a)=>e.attr("y",d+a*s-t)),p=s*n.length}let h=i.node().getBBox();i.insert("rect",":first-child").attr("class","box").attr("x",r-l/2-(0,o.c)().state.padding/2).attr("y",d-p/2-(0,o.c)().state.padding/2-3.5).attr("width",l+(0,o.c)().state.padding).attr("height",p+(0,o.c)().state.padding),o.l.info(h)}m++},N={},E=function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},M=t=>t?t.length*i.fontSizeFactor:1,v=(t,e,a,r,d,c,l)=>{let g;let p=new s.k({compound:!0,multigraph:!0}),h=!0;for(g=0;g{let e=t.parentElement,a=0,i=0;e&&(e.parentElement&&(a=e.parentElement.getBBox().width),Number.isNaN(i=parseInt(e.getAttribute("data-x-shift"),10))&&(i=0)),t.setAttribute("x1",0-i+8),t.setAttribute("x2",a-i-8)})):o.l.debug("No Node "+t+": "+JSON.stringify(p.node(t)))});let b=w.getBBox();p.edges().forEach(function(t){void 0!==t&&void 0!==p.edge(t)&&(o.l.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(p.edge(t))),k(e,p.edge(t),p.edge(t).relation))}),b=w.getBBox();let m={id:a||"root",label:a||"root",width:0,height:0};return m.width=b.width+2*i.padding,m.height=b.height+2*i.padding,o.l.debug("Doc rendered",m,p),m},S={parser:r.p,db:r.d,renderer:{setConf:function(){},draw:function(t,e,a,r){let n;i=(0,o.c)().state;let s=(0,o.c)().securityLevel;"sandbox"===s&&(n=(0,d.Ys)("#i"+e));let c="sandbox"===s?(0,d.Ys)(n.nodes()[0].contentDocument.body):(0,d.Ys)("body"),l="sandbox"===s?n.nodes()[0].contentDocument:document;o.l.debug("Rendering diagram "+t);let g=c.select(`[id='${e}']`);E(g),v(r.db.getRootDoc(),g,void 0,!1,c,l,r);let p=i.padding,h=g.node().getBBox(),x=h.width+2*p,u=h.height+2*p;(0,o.i)(g,u,1.75*x,i.useMaxWidth),g.attr("viewBox",`${h.x-i.padding} ${h.y-i.padding} `+x+" "+u)}},styles:r.s,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,r.d.clear()}}}}]); \ No newline at end of file diff --git a/_next/static/chunks/6235-da2d0ec03c4908f5.js b/_next/static/chunks/6235-da2d0ec03c4908f5.js new file mode 100644 index 0000000..b3eac48 --- /dev/null +++ b/_next/static/chunks/6235-da2d0ec03c4908f5.js @@ -0,0 +1,20 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6235],{5202:function(){!function(){"use strict";function e(e){var t=!0,n=!1,r=null,i={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function a(e){return!!e&&e!==document&&"HTML"!==e.nodeName&&"BODY"!==e.nodeName&&"classList"in e&&"contains"in e.classList}function o(e){e.classList.contains("focus-visible")||(e.classList.add("focus-visible"),e.setAttribute("data-focus-visible-added",""))}function s(e){t=!1}function l(){document.addEventListener("mousemove",u),document.addEventListener("mousedown",u),document.addEventListener("mouseup",u),document.addEventListener("pointermove",u),document.addEventListener("pointerdown",u),document.addEventListener("pointerup",u),document.addEventListener("touchmove",u),document.addEventListener("touchstart",u),document.addEventListener("touchend",u)}function u(e){e.target.nodeName&&"html"===e.target.nodeName.toLowerCase()||(t=!1,document.removeEventListener("mousemove",u),document.removeEventListener("mousedown",u),document.removeEventListener("mouseup",u),document.removeEventListener("pointermove",u),document.removeEventListener("pointerdown",u),document.removeEventListener("pointerup",u),document.removeEventListener("touchmove",u),document.removeEventListener("touchstart",u),document.removeEventListener("touchend",u))}document.addEventListener("keydown",function(n){n.metaKey||n.altKey||n.ctrlKey||(a(e.activeElement)&&o(e.activeElement),t=!0)},!0),document.addEventListener("mousedown",s,!0),document.addEventListener("pointerdown",s,!0),document.addEventListener("touchstart",s,!0),document.addEventListener("visibilitychange",function(e){"hidden"===document.visibilityState&&(n&&(t=!0),l())},!0),l(),e.addEventListener("focus",function(e){var n,r,s;a(e.target)&&(t||(r=(n=e.target).type,"INPUT"===(s=n.tagName)&&i[r]&&!n.readOnly||"TEXTAREA"===s&&!n.readOnly||n.isContentEditable))&&o(e.target)},!0),e.addEventListener("blur",function(e){if(a(e.target)){var t;(e.target.classList.contains("focus-visible")||e.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(r),r=window.setTimeout(function(){n=!1},100),(t=e.target).hasAttribute("data-focus-visible-added")&&(t.classList.remove("focus-visible"),t.removeAttribute("data-focus-visible-added")))}},!0),e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host?e.host.setAttribute("data-js-focus-visible",""):e.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if("undefined"!=typeof window&&"undefined"!=typeof document){var t;window.applyFocusVisiblePolyfill=e;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(e){(t=document.createEvent("CustomEvent")).initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}"undefined"!=typeof document&&e(document)}()},9266:function(e,t,n){"use strict";var r=n(3905),i=n(9073);e.exports=function(e){var t=r(e);return t.token="","x-oauth-basic"===t.password?t.token=t.user:"x-token-auth"===t.user&&(t.token=t.password),i(t.protocols)||0===t.protocols.length&&i(e)?t.protocol="ssh":t.protocols.length?t.protocol=t.protocols[0]:(t.protocol="file",t.protocols=["file"]),t.href=t.href.replace(/\/$/,""),t}},3458:function(e,t,n){"use strict";var r=n(9266);function i(e){if("string"!=typeof e)throw Error("The url must be a string.");/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i.test(e)&&(e="https://github.com/"+e);var t=r(e),n=t.resource.split("."),a=null;switch(t.toString=function(e){return i.stringify(this,e)},t.source=n.length>2?n.slice(1-n.length).join("."):t.source=t.resource,t.git_suffix=/\.git$/.test(t.pathname),t.name=decodeURIComponent((t.pathname||t.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),t.owner=decodeURIComponent(t.user),t.source){case"git.cloudforge.com":t.owner=t.user,t.organization=n[0],t.source="cloudforge.com";break;case"visualstudio.com":if("vs-ssh.visualstudio.com"===t.resource){4===(a=t.name.split("/")).length&&(t.organization=a[1],t.owner=a[2],t.name=a[3],t.full_name=a[2]+"/"+a[3]);break}2===(a=t.name.split("/")).length?(t.owner=a[1],t.name=a[1],t.full_name="_git/"+t.name):3===a.length?(t.name=a[2],"DefaultCollection"===a[0]?(t.owner=a[2],t.organization=a[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=a[0],t.full_name=t.owner+"/_git/"+t.name)):4===a.length&&(t.organization=a[0],t.owner=a[1],t.name=a[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name);break;case"dev.azure.com":case"azure.com":if("ssh.dev.azure.com"===t.resource){4===(a=t.name.split("/")).length&&(t.organization=a[1],t.owner=a[2],t.name=a[3]);break}5===(a=t.name.split("/")).length?(t.organization=a[0],t.owner=a[1],t.name=a[4],t.full_name="_git/"+t.name):3===a.length?(t.name=a[2],"DefaultCollection"===a[0]?(t.owner=a[2],t.organization=a[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=a[0],t.full_name=t.owner+"/_git/"+t.name)):4===a.length&&(t.organization=a[0],t.owner=a[1],t.name=a[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name),t.query&&t.query.path&&(t.filepath=t.query.path.replace(/^\/+/g,"")),t.query&&t.query.version&&(t.ref=t.query.version.replace(/^GB/,""));break;default:var o=(a=t.name.split("/")).length-1;if(a.length>=2){var s=a.indexOf("-",2),l=a.indexOf("blob",2),u=a.indexOf("tree",2),c=a.indexOf("commit",2),d=a.indexOf("src",2),f=a.indexOf("raw",2),h=a.indexOf("edit",2);o=s>0?s-1:l>0?l-1:u>0?u-1:c>0?c-1:d>0?d-1:f>0?f-1:h>0?h-1:o,t.owner=a.slice(0,o).join("/"),t.name=a[o],c&&(t.commit=a[o+2])}t.ref="",t.filepathtype="",t.filepath="";var p=a.length>o&&"-"===a[o+1]?o+1:o;a.length>p+2&&["raw","src","blob","tree","edit"].indexOf(a[p+1])>=0&&(t.filepathtype=a[p+1],t.ref=a[p+2],a.length>p+3&&(t.filepath=a.slice(p+3).join("/"))),t.organization=t.owner}!t.full_name&&(t.full_name=t.owner,t.name&&(t.full_name&&(t.full_name+="/"),t.full_name+=t.name)),t.owner.startsWith("scm/")&&(t.source="bitbucket-server",t.owner=t.owner.replace("scm/",""),t.organization=t.owner,t.full_name=t.owner+"/"+t.name);var m=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/.exec(t.pathname);return null!=m&&(t.source="bitbucket-server","users"===m[1]?t.owner="~"+m[2]:t.owner=m[2],t.organization=t.owner,t.name=m[3],(a=m[4].split("/")).length>1&&(["raw","browse"].indexOf(a[1])>=0?(t.filepathtype=a[1],a.length>2&&(t.filepath=a.slice(2).join("/"))):"commits"===a[1]&&a.length>2&&(t.commit=a[2])),t.full_name=t.owner+"/"+t.name,t.query.at?t.ref=t.query.at:t.ref=""),t}i.stringify=function(e,t){t=t||(e.protocols&&e.protocols.length?e.protocols.join("+"):e.protocol);var n=e.port?":"+e.port:"",r=e.user||"git",i=e.git_suffix?".git":"";switch(t){case"ssh":if(n)return"ssh://"+r+"@"+e.resource+n+"/"+e.full_name+i;return r+"@"+e.resource+":"+e.full_name+i;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return t+"://"+r+"@"+e.resource+n+"/"+e.full_name+i;case"http":case"https":return t+"://"+(e.token?"bitbucket.org"===e.source?"x-token-auth:"+e.token+"@":e.token+"@":e.user&&(e.protocols.includes("http")||e.protocols.includes("https"))?e.user+"@":"")+e.resource+n+"/"+("bitbucket-server"===e.source?"scm/"+e.full_name:""+e.full_name)+i;default:return e.href}},e.exports=i},6337:function(){!function(){"use strict";if("object"==typeof window){if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype){"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});return}var e=function(e){for(var t=e,n=i(t);n;)n=i(t=n.ownerDocument);return t}(window.document),t=[],n=null,r=null;o.prototype.THROTTLE_TIMEOUT=100,o.prototype.POLL_INTERVAL=null,o.prototype.USE_MUTATION_OBSERVER=!0,o._setupCrossOriginUpdater=function(){return n||(n=function(e,n){r=e&&n?f(e,n):c(),t.forEach(function(e){e._checkForIntersections()})}),n},o._resetCrossOriginUpdater=function(){n=null,r=null},o.prototype.observe=function(e){if(!this._observationTargets.some(function(t){return t.element==e})){if(!(e&&1==e.nodeType))throw Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:e,entry:null}),this._monitorIntersections(e.ownerDocument),this._checkForIntersections()}},o.prototype.unobserve=function(e){this._observationTargets=this._observationTargets.filter(function(t){return t.element!=e}),this._unmonitorIntersections(e.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},o.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},o.prototype.takeRecords=function(){var e=this._queuedEntries.slice();return this._queuedEntries=[],e},o.prototype._initThresholds=function(e){var t=e||[0];return Array.isArray(t)||(t=[t]),t.sort().filter(function(e,t,n){if("number"!=typeof e||isNaN(e)||e<0||e>1)throw Error("threshold must be a number between 0 and 1 inclusively");return e!==n[t-1]})},o.prototype._parseRootMargin=function(e){var t=(e||"0px").split(/\s+/).map(function(e){var t=/^(-?\d*\.?\d+)(px|%)$/.exec(e);if(!t)throw Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(t[1]),unit:t[2]}});return t[1]=t[1]||t[0],t[2]=t[2]||t[0],t[3]=t[3]||t[1],t},o.prototype._monitorIntersections=function(t){var n=t.defaultView;if(n&&-1==this._monitoringDocuments.indexOf(t)){var r=this._checkForIntersections,a=null,o=null;if(this.POLL_INTERVAL?a=n.setInterval(r,this.POLL_INTERVAL):(s(n,"resize",r,!0),s(t,"scroll",r,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in n&&(o=new n.MutationObserver(r)).observe(t,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this._monitoringDocuments.push(t),this._monitoringUnsubscribes.push(function(){var e=t.defaultView;e&&(a&&e.clearInterval(a),l(e,"resize",r,!0)),l(t,"scroll",r,!0),o&&o.disconnect()}),t!=(this.root&&(this.root.ownerDocument||this.root)||e)){var u=i(t);u&&this._monitorIntersections(u.ownerDocument)}}},o.prototype._unmonitorIntersections=function(t){var n=this._monitoringDocuments.indexOf(t);if(-1!=n){var r=this.root&&(this.root.ownerDocument||this.root)||e;if(!this._observationTargets.some(function(e){var n=e.element.ownerDocument;if(n==t)return!0;for(;n&&n!=r;){var a=i(n);if((n=a&&a.ownerDocument)==t)return!0}return!1})){var a=this._monitoringUnsubscribes[n];if(this._monitoringDocuments.splice(n,1),this._monitoringUnsubscribes.splice(n,1),a(),t!=r){var o=i(t);o&&this._unmonitorIntersections(o.ownerDocument)}}}},o.prototype._unmonitorAllIntersections=function(){var e=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var t=0;t=0&&s>=0&&{top:n,bottom:r,left:i,right:a,width:o,height:s}||null}(c,o)),!o)break;s=s&&p(s)}return o}},o.prototype._getRootRect=function(){var t;if(this.root&&!m(this.root))t=u(this.root);else{var n=m(this.root)?this.root:e,r=n.documentElement,i=n.body;t={top:0,left:0,right:r.clientWidth||i.clientWidth,width:r.clientWidth||i.clientWidth,bottom:r.clientHeight||i.clientHeight,height:r.clientHeight||i.clientHeight}}return this._expandRectByRootMargin(t)},o.prototype._expandRectByRootMargin=function(e){var t=this._rootMarginValues.map(function(t,n){return"px"==t.unit?t.value:t.value*(n%2?e.width:e.height)/100}),n={top:e.top-t[0],right:e.right+t[1],bottom:e.bottom+t[2],left:e.left-t[3]};return n.width=n.right-n.left,n.height=n.bottom-n.top,n},o.prototype._hasCrossedThreshold=function(e,t){var n=e&&e.isIntersecting?e.intersectionRatio||0:-1,r=t.isIntersecting?t.intersectionRatio||0:-1;if(n!==r)for(var i=0;it.indexOf(this)&&t.push(this)},o.prototype._unregisterInstance=function(){var e=t.indexOf(this);-1!=e&&t.splice(e,1)},window.IntersectionObserver=o,window.IntersectionObserverEntry=a}function i(e){try{return e.defaultView&&e.defaultView.frameElement||null}catch(e){return null}}function a(e){this.time=e.time,this.target=e.target,this.rootBounds=d(e.rootBounds),this.boundingClientRect=d(e.boundingClientRect),this.intersectionRect=d(e.intersectionRect||c()),this.isIntersecting=!!e.intersectionRect;var t=this.boundingClientRect,n=t.width*t.height,r=this.intersectionRect,i=r.width*r.height;n?this.intersectionRatio=Number((i/n).toFixed(4)):this.intersectionRatio=this.isIntersecting?1:0}function o(e,t){var n,r,i,a=t||{};if("function"!=typeof e)throw Error("callback must be a function");if(a.root&&1!=a.root.nodeType&&9!=a.root.nodeType)throw Error("root must be a Document or Element");this._checkForIntersections=(n=this._checkForIntersections.bind(this),r=this.THROTTLE_TIMEOUT,i=null,function(){i||(i=setTimeout(function(){n(),i=null},r))}),this._callback=e,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(a.rootMargin),this.thresholds=this._initThresholds(a.threshold),this.root=a.root||null,this.rootMargin=this._rootMarginValues.map(function(e){return e.value+e.unit}).join(" "),this._monitoringDocuments=[],this._monitoringUnsubscribes=[]}function s(e,t,n,r){"function"==typeof e.addEventListener?e.addEventListener(t,n,r||!1):"function"==typeof e.attachEvent&&e.attachEvent("on"+t,n)}function l(e,t,n,r){"function"==typeof e.removeEventListener?e.removeEventListener(t,n,r||!1):"function"==typeof e.detachEvent&&e.detachEvent("on"+t,n)}function u(e){var t;try{t=e.getBoundingClientRect()}catch(e){}return t?(t.width&&t.height||(t={top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:t.right-t.left,height:t.bottom-t.top}),t):c()}function c(){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}function d(e){return!e||"x"in e?e:{top:e.top,y:e.top,bottom:e.bottom,left:e.left,x:e.left,right:e.right,width:e.width,height:e.height}}function f(e,t){var n=t.top-e.top,r=t.left-e.left;return{top:n,left:r,height:t.height,width:t.width,bottom:n+t.height,right:r+t.width}}function h(e,t){for(var n=t;n;){if(n==e)return!0;n=p(n)}return!1}function p(t){var n=t.parentNode;return 9==t.nodeType&&t!=e?i(t):(n&&n.assignedSlot&&(n=n.assignedSlot.parentNode),n&&11==n.nodeType&&n.host)?n.host:n}function m(e){return e&&9===e.nodeType}}()},9073:function(e,t,n){"use strict";var r=n(2337);e.exports=function e(t){if(Array.isArray(t))return -1!==t.indexOf("ssh")||-1!==t.indexOf("rsync");if("string"!=typeof t)return!1;var n=r(t);if(t=t.substring(t.indexOf("://")+3),e(n))return!0;var i=RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!t.match(i)&&t.indexOf("@")-1},R.prototype.set=function(e,t){var n=this.__data__,r=A(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},I.prototype.clear=function(){this.__data__={hash:new N,map:new(O||R),string:new N}},I.prototype.delete=function(e){return L(this,e).delete(e)},I.prototype.get=function(e){return L(this,e).get(e)},I.prototype.has=function(e){return L(this,e).has(e)},I.prototype.set=function(e,t){return L(this,e).set(e,t),this};var M=Z(function(e){e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(z(e))return S?S.call(e):"";var t=e+"";return"0"==t&&1/e==-a?"-0":t}(t);var t,n=[];return l.test(e)&&n.push(""),e.replace(u,function(e,t,r,i){n.push(r?i.replace(c,"$1"):t||e)}),n});function Z(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o),o};return n.cache=new(Z.Cache||I),n}Z.Cache=I;var D=Array.isArray;function F(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function z(e){return"symbol"==typeof e||!!e&&"object"==typeof e&&"[object Symbol]"==k.call(e)}e.exports=function(e,t,n){var r=null==e?void 0:function(e,t){var n;t=!function(e,t){if(D(e))return!1;var n=typeof e;return!!("number"==n||"symbol"==n||"boolean"==n||null==e||z(e))||s.test(e)||!o.test(e)||null!=t&&e in Object(t)}(t,e)?D(n=t)?n:M(n):[t];for(var r=0,i=t.length;null!=e&&r{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),null==n?void 0:n.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let r=!1,i=!1;n.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>r,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{r=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}(null==r?void 0:r.current)&&r.current(e)}}))}function x(e){return o.use?{fetchPriority:e}:{fetchpriority:e}}let g=(0,o.forwardRef)((e,t)=>{let{src:n,srcSet:r,sizes:i,height:s,width:l,decoding:u,className:c,style:d,fetchPriority:f,placeholder:h,loading:p,unoptimized:g,fill:v,onLoadRef:y,onLoadingCompleteRef:b,setBlurComplete:w,setShowAltText:k,sizesInput:_,onLoad:j,onError:E,...O}=e;return(0,a.jsx)("img",{...O,...x(f),loading:p,width:l,height:s,decoding:u,"data-nimg":v?"fill":"1",className:c,style:d,sizes:i,srcSet:r,src:n,ref:(0,o.useCallback)(e=>{t&&("function"==typeof t?t(e):"object"==typeof t&&(t.current=e)),e&&(E&&(e.src=e.src),e.complete&&m(e,h,y,b,w,g,_))},[n,h,y,b,w,E,g,_,t]),onLoad:e=>{m(e.currentTarget,h,y,b,w,g,_)},onError:e=>{k(!0),"empty"!==h&&w(!0),E&&E(e)}})});function v(e){let{isAppRouter:t,imgAttributes:n}=e,r={as:"image",imageSrcSet:n.srcSet,imageSizes:n.sizes,crossOrigin:n.crossOrigin,referrerPolicy:n.referrerPolicy,...x(n.fetchPriority)};return t&&s.default.preload?(s.default.preload(n.src,r),null):(0,a.jsx)(l.default,{children:(0,a.jsx)("link",{rel:"preload",href:n.srcSet?void 0:n.src,...r},"__nimg-"+n.src+n.srcSet+n.sizes)})}let y=(0,o.forwardRef)((e,t)=>{let n=(0,o.useContext)(f.RouterContext),r=(0,o.useContext)(d.ImageConfigContext),i=(0,o.useMemo)(()=>{let e=p||r||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),n=e.deviceSizes.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:n}},[r]),{onLoad:s,onLoadingComplete:l}=e,m=(0,o.useRef)(s);(0,o.useEffect)(()=>{m.current=s},[s]);let x=(0,o.useRef)(l);(0,o.useEffect)(()=>{x.current=l},[l]);let[y,b]=(0,o.useState)(!1),[w,k]=(0,o.useState)(!1),{props:_,meta:j}=(0,u.getImgProps)(e,{defaultLoader:h.default,imgConf:i,blurComplete:y,showAltText:w});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g,{..._,unoptimized:j.unoptimized,placeholder:j.placeholder,fill:j.fill,onLoadRef:m,onLoadingCompleteRef:x,setBlurComplete:b,setShowAltText:k,sizesInput:e.sizes,ref:t}),j.priority?(0,a.jsx)(v,{isAppRouter:!n,imgAttributes:_}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9577:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return b}});let r=n(8754),i=n(5893),a=r._(n(7294)),o=n(1401),s=n(2045),l=n(7420),u=n(7201),c=n(1443),d=n(9953),f=n(5320),h=n(2905),p=n(4318),m=n(953),x=n(6691),g=new Set;function v(e,t,n,r,i,a){if(a||(0,s.isLocalURL)(t)){if(!r.bypassPrefetchedCheck){let i=t+"%"+n+"%"+(void 0!==r.locale?r.locale:"locale"in e?e.locale:void 0);if(g.has(i))return;g.add(i)}(async()=>a?e.prefetch(t,i):e.prefetch(t,n,r))().catch(e=>{})}}function y(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}let b=a.default.forwardRef(function(e,t){let n,r;let{href:l,as:g,children:b,prefetch:w=null,passHref:k,replace:_,shallow:j,scroll:E,locale:O,onClick:T,onMouseEnter:C,onTouchStart:S,legacyBehavior:N=!1,...R}=e;n=b,N&&("string"==typeof n||"number"==typeof n)&&(n=(0,i.jsx)("a",{children:n}));let I=a.default.useContext(d.RouterContext),A=a.default.useContext(f.AppRouterContext),L=null!=I?I:A,P=!I,M=!1!==w,Z=null===w?x.PrefetchKind.AUTO:x.PrefetchKind.FULL,{href:D,as:F}=a.default.useMemo(()=>{if(!I){let e=y(l);return{href:e,as:g?y(g):e}}let[e,t]=(0,o.resolveHref)(I,l,!0);return{href:e,as:g?(0,o.resolveHref)(I,g):t||e}},[I,l,g]),z=a.default.useRef(D),$=a.default.useRef(F);N&&(r=a.default.Children.only(n));let U=N?r&&"object"==typeof r&&r.ref:t,[W,H,G]=(0,h.useIntersection)({rootMargin:"200px"}),V=a.default.useCallback(e=>{($.current!==F||z.current!==D)&&(G(),$.current=F,z.current=D),W(e),U&&("function"==typeof U?U(e):"object"==typeof U&&(U.current=e))},[F,U,D,G,W]);a.default.useEffect(()=>{L&&H&&M&&v(L,D,F,{locale:O},{kind:Z},P)},[F,D,H,O,M,null==I?void 0:I.locale,L,P,Z]);let B={ref:V,onClick(e){N||"function"!=typeof T||T(e),N&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),L&&!e.defaultPrevented&&function(e,t,n,r,i,o,l,u,c){let{nodeName:d}=e.currentTarget;if("A"===d.toUpperCase()&&(function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||!c&&!(0,s.isLocalURL)(n)))return;e.preventDefault();let f=()=>{let e=null==l||l;"beforePopState"in t?t[i?"replace":"push"](n,r,{shallow:o,locale:u,scroll:e}):t[i?"replace":"push"](r||n,{scroll:e})};c?a.default.startTransition(f):f()}(e,L,D,F,_,j,E,O,P)},onMouseEnter(e){N||"function"!=typeof C||C(e),N&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),L&&(M||!P)&&v(L,D,F,{locale:O,priority:!0,bypassPrefetchedCheck:!0},{kind:Z},P)},onTouchStart:function(e){N||"function"!=typeof S||S(e),N&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),L&&(M||!P)&&v(L,D,F,{locale:O,priority:!0,bypassPrefetchedCheck:!0},{kind:Z},P)}};if((0,u.isAbsoluteUrl)(F))B.href=F;else if(!N||k||"a"===r.type&&!("href"in r.props)){let e=void 0!==O?O:null==I?void 0:I.locale,t=(null==I?void 0:I.isLocaleDomain)&&(0,p.getDomainLocale)(F,e,null==I?void 0:I.locales,null==I?void 0:I.domainLocales);B.href=t||(0,m.addBasePath)((0,c.addLocale)(F,e,null==I?void 0:I.defaultLocale))}return N?a.default.cloneElement(r,B):(0,i.jsx)("a",{...R,...B,children:n})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2905:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return l}});let r=n(7294),i=n(3815),a="function"==typeof IntersectionObserver,o=new Map,s=[];function l(e){let{rootRef:t,rootMargin:n,disabled:l}=e,u=l||!a,[c,d]=(0,r.useState)(!1),f=(0,r.useRef)(null),h=(0,r.useCallback)(e=>{f.current=e},[]);return(0,r.useEffect)(()=>{if(a){if(u||c)return;let e=f.current;if(e&&e.tagName)return function(e,t,n){let{id:r,observer:i,elements:a}=function(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=s.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=o.get(r)))return t;let i=new Map;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=i.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),elements:i},s.push(n),o.set(n,t),t}(n);return a.set(e,t),i.observe(e),function(){if(a.delete(e),i.unobserve(e),0===a.size){i.disconnect(),o.delete(r);let e=s.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&s.splice(e,1)}}}(e,e=>e&&d(e),{root:null==t?void 0:t.current,rootMargin:n})}else if(!c){let e=(0,i.requestIdleCallback)(()=>d(!0));return()=>(0,i.cancelIdleCallback)(e)}},[u,n,t,c,f.current]),[h,c,(0,r.useCallback)(()=>{d(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7367:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return s}}),n(1997);let r=n(9919),i=n(7903);function a(e){return void 0!==e.default}function o(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function s(e,t){var n;let s,l,u,{src:c,sizes:d,unoptimized:f=!1,priority:h=!1,loading:p,className:m,quality:x,width:g,height:v,fill:y=!1,style:b,overrideSrc:w,onLoad:k,onLoadingComplete:_,placeholder:j="empty",blurDataURL:E,fetchPriority:O,layout:T,objectFit:C,objectPosition:S,lazyBoundary:N,lazyRoot:R,...I}=e,{imgConf:A,showAltText:L,blurComplete:P,defaultLoader:M}=t,Z=A||i.imageConfigDefault;if("allSizes"in Z)s=Z;else{let e=[...Z.deviceSizes,...Z.imageSizes].sort((e,t)=>e-t),t=Z.deviceSizes.sort((e,t)=>e-t);s={...Z,allSizes:e,deviceSizes:t}}if(void 0===M)throw Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config");let D=I.loader||M;delete I.loader,delete I.srcSet;let F="__next_img_default"in D;if(F){if("custom"===s.loader)throw Error('Image with src "'+c+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader')}else{let e=D;D=t=>{let{config:n,...r}=t;return e(r)}}if(T){"fill"===T&&(y=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[T];e&&(b={...b,...e});let t={responsive:"100vw",fill:"100vw"}[T];t&&!d&&(d=t)}let z="",$=o(g),U=o(v);if("object"==typeof(n=c)&&(a(n)||void 0!==n.src)){let e=a(c)?c.default:c;if(!e.src)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e));if(!e.height||!e.width)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e));if(l=e.blurWidth,u=e.blurHeight,E=E||e.blurDataURL,z=e.src,!y){if($||U){if($&&!U){let t=$/e.width;U=Math.round(e.height*t)}else if(!$&&U){let t=U/e.height;$=Math.round(e.width*t)}}else $=e.width,U=e.height}}let W=!h&&("lazy"===p||void 0===p);(!(c="string"==typeof c?c:z)||c.startsWith("data:")||c.startsWith("blob:"))&&(f=!0,W=!1),s.unoptimized&&(f=!0),F&&c.endsWith(".svg")&&!s.dangerouslyAllowSVG&&(f=!0),h&&(O="high");let H=o(x),G=Object.assign(y?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:C,objectPosition:S}:{},L?{}:{color:"transparent"},b),V=P||"empty"===j?null:"blur"===j?'url("data:image/svg+xml;charset=utf-8,'+(0,r.getImageBlurSvg)({widthInt:$,heightInt:U,blurWidth:l,blurHeight:u,blurDataURL:E||"",objectFit:G.objectFit})+'")':'url("'+j+'")',B=V?{backgroundSize:G.objectFit||"cover",backgroundPosition:G.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:V}:{},q=function(e){let{config:t,src:n,unoptimized:r,width:i,quality:a,sizes:o,loader:s}=e;if(r)return{src:n,srcSet:void 0,sizes:void 0};let{widths:l,kind:u}=function(e,t,n){let{deviceSizes:r,allSizes:i}=e;if(n){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let r;r=e.exec(n);r)t.push(parseInt(r[2]));if(t.length){let e=.01*Math.min(...t);return{widths:i.filter(t=>t>=r[0]*e),kind:"w"}}return{widths:i,kind:"w"}}return"number"!=typeof t?{widths:r,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>i.find(t=>t>=e)||i[i.length-1]))],kind:"x"}}(t,i,o),c=l.length-1;return{sizes:o||"w"!==u?o:"100vw",srcSet:l.map((e,r)=>s({config:t,src:n,quality:a,width:e})+" "+("w"===u?e:r+1)+u).join(", "),src:s({config:t,src:n,quality:a,width:l[c]})}}({config:s,src:c,unoptimized:f,width:$,quality:H,sizes:d,loader:D});return{props:{...I,loading:W?"lazy":p,fetchPriority:O,width:$,height:U,decoding:"async",className:m,style:{...G,...B},sizes:q.sizes,srcSet:q.srcSet,src:w||q.src},meta:{unoptimized:f,priority:h,placeholder:j,fill:y}}}},9919:function(e,t){"use strict";function n(e){let{widthInt:t,heightInt:n,blurWidth:r,blurHeight:i,blurDataURL:a,objectFit:o}=e,s=r?40*r:t,l=i?40*i:n,u=s&&l?"viewBox='0 0 "+s+" "+l+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+u+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(u?"none":"contain"===o?"xMidYMid":"cover"===o?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+a+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},5666:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return l},getImageProps:function(){return s}});let r=n(8754),i=n(7367),a=n(6541),o=r._(n(6663));function s(e){let{props:t}=(0,i.getImgProps)(e,{defaultLoader:o.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,n]of Object.entries(t))void 0===n&&delete t[e];return{props:t}}let l=a.Image},6663:function(e,t){"use strict";function n(e){let{config:t,src:n,width:r,quality:i}=e;return t.path+"?url="+encodeURIComponent(n)+"&w="+r+"&q="+(i||75)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}}),n.__next_img_default=!0;let r=n},9488:function(){},1864:function(e){!function(){"use strict";var t={114:function(e){function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",i=0,a=-1,o=0,s=0;s<=e.length;++s){if(s2){var l=r.lastIndexOf("/");if(l!==r.length-1){-1===l?(r="",i=0):i=(r=r.slice(0,l)).length-1-r.lastIndexOf("/"),a=s,o=0;continue}}else if(2===r.length||1===r.length){r="",i=0,a=s,o=0;continue}}t&&(r.length>0?r+="/..":r="..",i=2)}else r.length>0?r+="/"+e.slice(a+1,s):r=e.slice(a+1,s),i=s-a-1;a=s,o=0}else 46===n&&-1!==o?++o:o=-1}return r}var r={resolve:function(){for(var e,r,i="",a=!1,o=arguments.length-1;o>=-1&&!a;o--)o>=0?r=arguments[o]:(void 0===e&&(e=""),r=e),t(r),0!==r.length&&(i=r+"/"+i,a=47===r.charCodeAt(0));return(i=n(i,!a),a)?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return(0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&i&&(e+="/"),r)?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n||(e=r.resolve(e))===(n=r.resolve(n)))return"";for(var i=1;iu){if(47===n.charCodeAt(s+d))return n.slice(s+d+1);if(0===d)return n.slice(s+d)}else o>u&&(47===e.charCodeAt(i+d)?c=d:0===d&&(c=0));break}var f=e.charCodeAt(i+d);if(f!==n.charCodeAt(s+d))break;47===f&&(c=d)}var h="";for(d=i+c+1;d<=a;++d)(d===a||47===e.charCodeAt(d))&&(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(s+c):(s+=c,47===n.charCodeAt(s)&&++s,n.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,i=-1,a=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!a){i=o;break}}else a=!1;return -1===i?r?"/":".":r&&1===i?"//":e.slice(0,i)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw TypeError('"ext" argument must be a string');t(e);var r,i=0,a=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var s=n.length-1,l=-1;for(r=e.length-1;r>=0;--r){var u=e.charCodeAt(r);if(47===u){if(!o){i=r+1;break}}else -1===l&&(o=!1,l=r+1),s>=0&&(u===n.charCodeAt(s)?-1==--s&&(a=r):(s=-1,a=l))}return i===a?a=l:-1===a&&(a=e.length),e.slice(i,a)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!o){i=r+1;break}}else -1===a&&(o=!1,a=r+1);return -1===a?"":e.slice(i,a)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,a=!0,o=0,s=e.length-1;s>=0;--s){var l=e.charCodeAt(s);if(47===l){if(!a){r=s+1;break}continue}-1===i&&(a=!1,i=s+1),46===l?-1===n?n=s:1!==o&&(o=1):-1!==n&&(o=-1)}return -1===n||-1===i||0===o||1===o&&n===i-1&&n===r+1?"":e.slice(n,i)},format:function(e){var t,n;if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,n=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+n:t+"/"+n:n},parse:function(e){t(e);var n,r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var i=e.charCodeAt(0),a=47===i;a?(r.root="/",n=1):n=0;for(var o=-1,s=0,l=-1,u=!0,c=e.length-1,d=0;c>=n;--c){if(47===(i=e.charCodeAt(c))){if(!u){s=c+1;break}continue}-1===l&&(u=!1,l=c+1),46===i?-1===o?o=c:1!==d&&(d=1):-1!==o&&(d=-1)}return -1===o||-1===l||0===d||1===d&&o===l-1&&o===s+1?-1!==l&&(0===s&&a?r.base=r.name=e.slice(1,l):r.base=r.name=e.slice(s,l)):(0===s&&a?(r.name=e.slice(1,o),r.base=e.slice(1,l)):(r.name=e.slice(s,o),r.base=e.slice(s,l)),r.ext=e.slice(o,l)),s>0?r.dir=e.slice(0,s-1):a&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r}},n={};function r(e){var i=n[e];if(void 0!==i)return i.exports;var a=n[e]={exports:{}},o=!0;try{t[e](a,a.exports,r),o=!1}finally{o&&delete n[e]}return a.exports}r.ab="//";var i=r(114);e.exports=i}()},9008:function(e,t,n){e.exports=n(7828)},5675:function(e,t,n){e.exports=n(5666)},1664:function(e,t,n){e.exports=n(9577)},1163:function(e,t,n){e.exports=n(9090)},1334:function(e,t,n){"use strict";let r,i,a,o,s,l,u,c,d,f,h;n.d(t,{ZP:function(){return oH}});var p,m,x,g,v,y,b,w,k,_,j,E,O,T,C,S,N=n(1163),R=n(7294);n(5202);var I=n(512);function A(){let[e,t]=(0,R.useState)(!1);return(0,R.useEffect)(()=>{t(!0)},[]),e}var L=n(7222),P=()=>{let{locale:e=L.ZW,asPath:t,route:n}=(0,N.useRouter)();return(0,R.useMemo)(()=>{let{pathname:r}=new URL(L.hV.has(n)?n:t,"https://nextra.vercel.app");return(e?r.replace(RegExp(`\\.${e}(\\/|$)`),"$1"):r).replace(/\.html$/,"").replace(/\/index(\/|$)/,"$1").replace(/\/$/,"")||"/"},[t,e,n])},M=n(2643),Z=n(4861);(p=k||(k={})).assertEqual=e=>e,p.assertIs=function(e){},p.assertNever=function(e){throw Error()},p.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},p.getValidEnumValues=e=>{let t=p.objectKeys(e).filter(t=>"number"!=typeof e[e[t]]),n={};for(let r of t)n[r]=e[r];return p.objectValues(n)},p.objectValues=e=>p.objectKeys(e).map(function(t){return e[t]}),p.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},p.find=(e,t)=>{for(let n of e)if(t(n))return n},p.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,p.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},p.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t,(_||(_={})).mergeShapes=(e,t)=>({...e,...t});let D=k.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),F=e=>{switch(typeof e){case"undefined":return D.undefined;case"string":return D.string;case"number":return isNaN(e)?D.nan:D.number;case"boolean":return D.boolean;case"function":return D.function;case"bigint":return D.bigint;case"symbol":return D.symbol;case"object":if(Array.isArray(e))return D.array;if(null===e)return D.null;if(e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch)return D.promise;if("undefined"!=typeof Map&&e instanceof Map)return D.map;if("undefined"!=typeof Set&&e instanceof Set)return D.set;if("undefined"!=typeof Date&&e instanceof Date)return D.date;return D.object;default:return D.unknown}},z=k.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class $ extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(r);else if("invalid_return_type"===i.code)r(i.returnTypeError);else if("invalid_arguments"===i.code)r(i.argumentsError);else if(0===i.path.length)n._errors.push(t(i));else{let e=n,r=0;for(;re.message){let t={},n=[];for(let r of this.issues)r.path.length>0?(t[r.path[0]]=t[r.path[0]]||[],t[r.path[0]].push(e(r))):n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}$.create=e=>new $(e);let U=(e,t)=>{let n;switch(e.code){case z.invalid_type:n=e.received===D.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case z.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,k.jsonStringifyReplacer)}`;break;case z.unrecognized_keys:n=`Unrecognized key(s) in object: ${k.joinValues(e.keys,", ")}`;break;case z.invalid_union:n="Invalid input";break;case z.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${k.joinValues(e.options)}`;break;case z.invalid_enum_value:n=`Invalid enum value. Expected ${k.joinValues(e.options)}, received '${e.received}'`;break;case z.invalid_arguments:n="Invalid function arguments";break;case z.invalid_return_type:n="Invalid function return type";break;case z.invalid_date:n="Invalid date";break;case z.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:k.assertNever(e.validation):n="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case z.too_small:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case z.too_big:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case z.custom:n="Invalid input";break;case z.invalid_intersection_types:n="Intersection results could not be merged";break;case z.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case z.not_finite:n="Number must be finite";break;default:n=t.defaultError,k.assertNever(e)}return{message:n}},W=U;function H(){return W}let G=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(void 0!==i.message)return{...i,path:a,message:i.message};let s="";for(let e of r.filter(e=>!!e).slice().reverse())s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function V(e,t){let n=H(),r=G({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===U?void 0:U].filter(e=>!!e)});e.common.issues.push(r)}class B{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){let n=[];for(let r of t){if("aborted"===r.status)return q;"dirty"===r.status&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){let n=[];for(let e of t){let t=await e.key,r=await e.value;n.push({key:t,value:r})}return B.mergeObjectSync(e,n)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if("aborted"===t.status||"aborted"===i.status)return q;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"!==t.value&&(void 0!==i.value||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}}let q=Object.freeze({status:"aborted"}),K=e=>({status:"dirty",value:e}),Y=e=>({status:"valid",value:e}),Q=e=>"aborted"===e.status,J=e=>"dirty"===e.status,X=e=>"valid"===e.status,ee=e=>"undefined"!=typeof Promise&&e instanceof Promise;function et(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function en(e,t,n,r,i){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n}"function"==typeof SuppressedError&&SuppressedError,(m=j||(j={})).errToObj=e=>"string"==typeof e?{message:e}:e||{},m.toString=e=>"string"==typeof e?e:null==e?void 0:e.message;class er{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}let ei=(e,t)=>{if(X(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let t=new $(e.common.issues);return this._error=t,this._error}}};function ea(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{var a,o;let{message:s}=e;return"invalid_enum_value"===t.code?{message:null!=s?s:i.defaultError}:void 0===i.data?{message:null!==(a=null!=s?s:r)&&void 0!==a?a:i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:null!==(o=null!=s?s:n)&&void 0!==o?o:i.defaultError}},description:i}}class eo{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return F(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:F(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new B,ctx:{common:e.parent.common,data:e.data,parsedType:F(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(ee(t))throw Error("Synchronous parse encountered promise.");return t}_parseAsync(e){return Promise.resolve(this._parse(e))}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;let r={common:{issues:[],async:null!==(n=null==t?void 0:t.async)&&void 0!==n&&n,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:F(e)},i=this._parseSync({data:e,path:r.path,parent:r});return ei(r,i)}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:F(e)},r=this._parse({data:e,path:n.path,parent:n});return ei(n,await (ee(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:z.custom,...n(t)});return"undefined"!=typeof Promise&&i instanceof Promise?i.then(e=>!!e||(a(),!1)):!!i||(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>!!e(n)||(r.addIssue("function"==typeof t?t(n,r):t),!1))}_refinement(e){return new eY({schema:this,typeName:T.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return eQ.create(this,this._def)}nullable(){return eJ.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return eA.create(this,this._def)}promise(){return eK.create(this,this._def)}or(e){return eP.create([this,e],this._def)}and(e){return eD.create(this,e,this._def)}transform(e){return new eY({...ea(this._def),schema:this,typeName:T.ZodEffects,effect:{type:"transform",transform:e}})}default(e){return new eX({...ea(this._def),innerType:this,defaultValue:"function"==typeof e?e:()=>e,typeName:T.ZodDefault})}brand(){return new e4({typeName:T.ZodBranded,type:this,...ea(this._def)})}catch(e){return new e0({...ea(this._def),innerType:this,catchValue:"function"==typeof e?e:()=>e,typeName:T.ZodCatch})}describe(e){return new this.constructor({...this._def,description:e})}pipe(e){return e5.create(this,e)}readonly(){return e3.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}let es=/^c[^\s-]{8,}$/i,el=/^[0-9a-z]+$/,eu=/^[0-9A-HJKMNP-TV-Z]{26}$/,ec=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,ed=/^[a-z0-9_-]{21}$/i,ef=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,eh=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ep=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,em=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ex=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,eg="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",ev=RegExp(`^${eg}$`);function ey(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`),t}function eb(e){let t=`${eg}T${ey(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,RegExp(`^${t}$`)}class ew extends eo{_parse(e){var t,n;let i;if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==D.string){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.string,received:t.parsedType}),q}let a=new B;for(let o of this._def.checks)if("min"===o.kind)e.data.lengtho.value&&(V(i=this._getOrReturnCtx(e,i),{code:z.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),a.dirty());else if("length"===o.kind){let t=e.data.length>o.value,n=e.data.lengthe.test(t),{validation:t,code:z.invalid_string,...j.errToObj(n)})}_addCheck(e){return new ew({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...j.errToObj(e)})}url(e){return this._addCheck({kind:"url",...j.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...j.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...j.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...j.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...j.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...j.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...j.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...j.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...j.errToObj(e)})}datetime(e){var t,n;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,local:null!==(n=null==e?void 0:e.local)&&void 0!==n&&n,...j.errToObj(null==e?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,...j.errToObj(null==e?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...j.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...j.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...j.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...j.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...j.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...j.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...j.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...j.errToObj(t)})}nonempty(e){return this.min(1,j.errToObj(e))}trim(){return new ew({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ew({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ew({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>"datetime"===e.kind)}get isDate(){return!!this._def.checks.find(e=>"date"===e.kind)}get isTime(){return!!this._def.checks.find(e=>"time"===e.kind)}get isDuration(){return!!this._def.checks.find(e=>"duration"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>"email"===e.kind)}get isURL(){return!!this._def.checks.find(e=>"url"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>"emoji"===e.kind)}get isUUID(){return!!this._def.checks.find(e=>"uuid"===e.kind)}get isNANOID(){return!!this._def.checks.find(e=>"nanoid"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>"cuid"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>"cuid2"===e.kind)}get isULID(){return!!this._def.checks.find(e=>"ulid"===e.kind)}get isIP(){return!!this._def.checks.find(e=>"ip"===e.kind)}get isBase64(){return!!this._def.checks.find(e=>"base64"===e.kind)}get minLength(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new ew({checks:[],typeName:T.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...ea(e)})};class ek extends eo{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){let t;if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==D.number){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.number,received:t.parsedType}),q}let n=new B;for(let r of this._def.checks)"int"===r.kind?k.isInteger(e.data)||(V(t=this._getOrReturnCtx(e,t),{code:z.invalid_type,expected:"integer",received:"float",message:r.message}),n.dirty()):"min"===r.kind?(r.inclusive?e.datar.value:e.data>=r.value)&&(V(t=this._getOrReturnCtx(e,t),{code:z.too_big,maximum:r.value,type:"number",inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):"multipleOf"===r.kind?0!==function(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r;return parseInt(e.toFixed(i).replace(".",""))%parseInt(t.toFixed(i).replace(".",""))/Math.pow(10,i)}(e.data,r.value)&&(V(t=this._getOrReturnCtx(e,t),{code:z.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):"finite"===r.kind?Number.isFinite(e.data)||(V(t=this._getOrReturnCtx(e,t),{code:z.not_finite,message:r.message}),n.dirty()):k.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,j.toString(t))}gt(e,t){return this.setLimit("min",e,!1,j.toString(t))}lte(e,t){return this.setLimit("max",e,!0,j.toString(t))}lt(e,t){return this.setLimit("max",e,!1,j.toString(t))}setLimit(e,t,n,r){return new ek({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:j.toString(r)}]})}_addCheck(e){return new ek({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:j.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:j.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:j.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:j.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:j.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:j.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:j.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:j.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:j.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&k.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.valuenew ek({checks:[],typeName:T.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...ea(e)});class e_ extends eo{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){let t;if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==D.bigint){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.bigint,received:t.parsedType}),q}let n=new B;for(let r of this._def.checks)"min"===r.kind?(r.inclusive?e.datar.value:e.data>=r.value)&&(V(t=this._getOrReturnCtx(e,t),{code:z.too_big,type:"bigint",maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):"multipleOf"===r.kind?e.data%r.value!==BigInt(0)&&(V(t=this._getOrReturnCtx(e,t),{code:z.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):k.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,j.toString(t))}gt(e,t){return this.setLimit("min",e,!1,j.toString(t))}lte(e,t){return this.setLimit("max",e,!0,j.toString(t))}lt(e,t){return this.setLimit("max",e,!1,j.toString(t))}setLimit(e,t,n,r){return new e_({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:j.toString(r)}]})}_addCheck(e){return new e_({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:j.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:j.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:j.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:j.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:j.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new e_({checks:[],typeName:T.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...ea(e)})};class ej extends eo{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==D.boolean){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.boolean,received:t.parsedType}),q}return Y(e.data)}}ej.create=e=>new ej({typeName:T.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...ea(e)});class eE extends eo{_parse(e){let t;if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==D.date){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.date,received:t.parsedType}),q}if(isNaN(e.data.getTime()))return V(this._getOrReturnCtx(e),{code:z.invalid_date}),q;let n=new B;for(let r of this._def.checks)"min"===r.kind?e.data.getTime()r.value&&(V(t=this._getOrReturnCtx(e,t),{code:z.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:"date"}),n.dirty()):k.assertNever(r);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new eE({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:j.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:j.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew eE({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:T.ZodDate,...ea(e)});class eO extends eo{_parse(e){if(this._getType(e)!==D.symbol){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.symbol,received:t.parsedType}),q}return Y(e.data)}}eO.create=e=>new eO({typeName:T.ZodSymbol,...ea(e)});class eT extends eo{_parse(e){if(this._getType(e)!==D.undefined){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.undefined,received:t.parsedType}),q}return Y(e.data)}}eT.create=e=>new eT({typeName:T.ZodUndefined,...ea(e)});class eC extends eo{_parse(e){if(this._getType(e)!==D.null){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.null,received:t.parsedType}),q}return Y(e.data)}}eC.create=e=>new eC({typeName:T.ZodNull,...ea(e)});class eS extends eo{constructor(){super(...arguments),this._any=!0}_parse(e){return Y(e.data)}}eS.create=e=>new eS({typeName:T.ZodAny,...ea(e)});class eN extends eo{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Y(e.data)}}eN.create=e=>new eN({typeName:T.ZodUnknown,...ea(e)});class eR extends eo{_parse(e){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.never,received:t.parsedType}),q}}eR.create=e=>new eR({typeName:T.ZodNever,...ea(e)});class eI extends eo{_parse(e){if(this._getType(e)!==D.undefined){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.void,received:t.parsedType}),q}return Y(e.data)}}eI.create=e=>new eI({typeName:T.ZodVoid,...ea(e)});class eA extends eo{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==D.array)return V(t,{code:z.invalid_type,expected:D.array,received:t.parsedType}),q;if(null!==r.exactLength){let e=t.data.length>r.exactLength.value,i=t.data.lengthr.maxLength.value&&(V(t,{code:z.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new er(t,e,t.path,n)))).then(e=>B.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new er(t,e,t.path,n)));return B.mergeArray(n,i)}get element(){return this._def.type}min(e,t){return new eA({...this._def,minLength:{value:e,message:j.toString(t)}})}max(e,t){return new eA({...this._def,maxLength:{value:e,message:j.toString(t)}})}length(e,t){return new eA({...this._def,exactLength:{value:e,message:j.toString(t)}})}nonempty(e){return this.min(1,e)}}eA.create=(e,t)=>new eA({type:e,minLength:null,maxLength:null,exactLength:null,typeName:T.ZodArray,...ea(t)});class eL extends eo{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;let e=this._def.shape(),t=k.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==D.object){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.object,received:t.parsedType}),q}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof eR&&"strip"===this._def.unknownKeys))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:"valid",value:e},value:t._parse(new er(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof eR){let e=this._def.unknownKeys;if("passthrough"===e)for(let e of a)o.push({key:{status:"valid",value:e},value:{status:"valid",value:n.data[e]}});else if("strict"===e)a.length>0&&(V(n,{code:z.unrecognized_keys,keys:a}),t.dirty());else if("strip"===e);else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new er(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>B.mergeObjectSync(t,e)):B.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return j.errToObj,new eL({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{var r,i,a,o;let s=null!==(a=null===(i=(r=this._def).errorMap)||void 0===i?void 0:i.call(r,t,n).message)&&void 0!==a?a:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(o=j.errToObj(e).message)&&void 0!==o?o:s}:{message:s}}}:{}})}strip(){return new eL({...this._def,unknownKeys:"strip"})}passthrough(){return new eL({...this._def,unknownKeys:"passthrough"})}extend(e){return new eL({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new eL({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:T.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new eL({...this._def,catchall:e})}pick(e){let t={};return k.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])}),new eL({...this._def,shape:()=>t})}omit(e){let t={};return k.objectKeys(this.shape).forEach(n=>{e[n]||(t[n]=this.shape[n])}),new eL({...this._def,shape:()=>t})}deepPartial(){return function e(t){if(t instanceof eL){let n={};for(let r in t.shape){let i=t.shape[r];n[r]=eQ.create(e(i))}return new eL({...t._def,shape:()=>n})}return t instanceof eA?new eA({...t._def,type:e(t.element)}):t instanceof eQ?eQ.create(e(t.unwrap())):t instanceof eJ?eJ.create(e(t.unwrap())):t instanceof eF?eF.create(t.items.map(t=>e(t))):t}(this)}partial(e){let t={};return k.objectKeys(this.shape).forEach(n=>{let r=this.shape[n];e&&!e[n]?t[n]=r:t[n]=r.optional()}),new eL({...this._def,shape:()=>t})}required(e){let t={};return k.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof eQ;)e=e._def.innerType;t[n]=e}}),new eL({...this._def,shape:()=>t})}keyof(){return eV(k.objectKeys(this.shape))}}eL.create=(e,t)=>new eL({shape:()=>e,unknownKeys:"strip",catchall:eR.create(),typeName:T.ZodObject,...ea(t)}),eL.strictCreate=(e,t)=>new eL({shape:()=>e,unknownKeys:"strict",catchall:eR.create(),typeName:T.ZodObject,...ea(t)}),eL.lazycreate=(e,t)=>new eL({shape:e,unknownKeys:"strip",catchall:eR.create(),typeName:T.ZodObject,...ea(t)});class eP extends eo{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(function(e){for(let t of e)if("valid"===t.result.status)return t.result;for(let n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new $(e.ctx.common.issues));return V(t,{code:z.invalid_union,unionErrors:n}),q});{let e;let r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if("valid"===a.status)return a;"dirty"!==a.status||e||(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new $(e));return V(t,{code:z.invalid_union,unionErrors:i}),q}}get options(){return this._def.options}}eP.create=(e,t)=>new eP({options:e,typeName:T.ZodUnion,...ea(t)});let eM=e=>{if(e instanceof eH)return eM(e.schema);if(e instanceof eY)return eM(e.innerType());if(e instanceof eG)return[e.value];if(e instanceof eB)return e.options;if(e instanceof eq)return k.objectValues(e.enum);if(e instanceof eX)return eM(e._def.innerType);if(e instanceof eT)return[void 0];else if(e instanceof eC)return[null];else if(e instanceof eQ)return[void 0,...eM(e.unwrap())];else if(e instanceof eJ)return[null,...eM(e.unwrap())];else if(e instanceof e4)return eM(e.unwrap());else if(e instanceof e3)return eM(e.unwrap());else if(e instanceof e0)return eM(e._def.innerType);else return[]};class eZ extends eo{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==D.object)return V(t,{code:z.invalid_type,expected:D.object,received:t.parsedType}),q;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(V(t,{code:z.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),q)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){let r=new Map;for(let n of t){let t=eM(n.shape[e]);if(!t.length)throw Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let i of t){if(r.has(i))throw Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);r.set(i,n)}}return new eZ({typeName:T.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:r,...ea(n)})}}class eD extends eo{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(Q(e)||Q(r))return q;let i=function e(t,n){let r=F(t),i=F(n);if(t===n)return{valid:!0,data:t};if(r===D.object&&i===D.object){let r=k.objectKeys(n),i=k.objectKeys(t).filter(e=>-1!==r.indexOf(e)),a={...t,...n};for(let r of i){let i=e(t[r],n[r]);if(!i.valid)return{valid:!1};a[r]=i.data}return{valid:!0,data:a}}if(r===D.array&&i===D.array){if(t.length!==n.length)return{valid:!1};let r=[];for(let i=0;ir(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}eD.create=(e,t,n)=>new eD({left:e,right:t,typeName:T.ZodIntersection,...ea(n)});class eF extends eo{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==D.array)return V(n,{code:z.invalid_type,expected:D.array,received:n.parsedType}),q;if(n.data.lengththis._def.items.length&&(V(n,{code:z.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new er(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>B.mergeArray(t,e)):B.mergeArray(t,r)}get items(){return this._def.items}rest(e){return new eF({...this._def,rest:e})}}eF.create=(e,t)=>{if(!Array.isArray(e))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new eF({items:e,typeName:T.ZodTuple,rest:null,...ea(t)})};class ez extends eo{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==D.object)return V(n,{code:z.invalid_type,expected:D.object,received:n.parsedType}),q;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new er(n,e,n.path,e)),value:a._parse(new er(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?B.mergeObjectAsync(t,r):B.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(e,t,n){return new ez(t instanceof eo?{keyType:e,valueType:t,typeName:T.ZodRecord,...ea(n)}:{keyType:ew.create(),valueType:e,typeName:T.ZodRecord,...ea(t)})}}class e$ extends eo{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==D.map)return V(n,{code:z.invalid_type,expected:D.map,received:n.parsedType}),q;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new er(n,e,n.path,[a,"key"])),value:i._parse(new er(n,t,n.path,[a,"value"]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if("aborted"===r.status||"aborted"===i.status)return q;("dirty"===r.status||"dirty"===i.status)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}{let e=new Map;for(let n of a){let r=n.key,i=n.value;if("aborted"===r.status||"aborted"===i.status)return q;("dirty"===r.status||"dirty"===i.status)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}}e$.create=(e,t,n)=>new e$({valueType:t,keyType:e,typeName:T.ZodMap,...ea(n)});class eU extends eo{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==D.set)return V(n,{code:z.invalid_type,expected:D.set,received:n.parsedType}),q;let r=this._def;null!==r.minSize&&n.data.sizer.maxSize.value&&(V(n,{code:z.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if("aborted"===r.status)return q;"dirty"===r.status&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new er(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(e,t){return new eU({...this._def,minSize:{value:e,message:j.toString(t)}})}max(e,t){return new eU({...this._def,maxSize:{value:e,message:j.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}eU.create=(e,t)=>new eU({valueType:e,minSize:null,maxSize:null,typeName:T.ZodSet,...ea(t)});class eW extends eo{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==D.function)return V(t,{code:z.invalid_type,expected:D.function,received:t.parsedType}),q;function n(e,n){return G({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,H(),U].filter(e=>!!e),issueData:{code:z.invalid_arguments,argumentsError:n}})}function r(e,n){return G({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,H(),U].filter(e=>!!e),issueData:{code:z.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof eK){let e=this;return Y(async function(...t){let o=new $([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),l=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(l,i).catch(e=>{throw o.addIssue(r(l,e)),o})})}{let e=this;return Y(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new $([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),l=e._def.returns.safeParse(s,i);if(!l.success)throw new $([r(s,l.error)]);return l.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new eW({...this._def,args:eF.create(e).rest(eN.create())})}returns(e){return new eW({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new eW({args:e||eF.create([]).rest(eN.create()),returns:t||eN.create(),typeName:T.ZodFunction,...ea(n)})}}class eH extends eo{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}eH.create=(e,t)=>new eH({getter:e,typeName:T.ZodLazy,...ea(t)});class eG extends eo{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return V(t,{received:t.data,code:z.invalid_literal,expected:this._def.value}),q}return{status:"valid",value:e.data}}get value(){return this._def.value}}function eV(e,t){return new eB({values:e,typeName:T.ZodEnum,...ea(t)})}eG.create=(e,t)=>new eG({value:e,typeName:T.ZodLiteral,...ea(t)});class eB extends eo{constructor(){super(...arguments),E.set(this,void 0)}_parse(e){if("string"!=typeof e.data){let t=this._getOrReturnCtx(e),n=this._def.values;return V(t,{expected:k.joinValues(n),received:t.parsedType,code:z.invalid_type}),q}if(et(this,E,"f")||en(this,E,new Set(this._def.values),"f"),!et(this,E,"f").has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return V(t,{received:t.data,code:z.invalid_enum_value,options:n}),q}return Y(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return eB.create(e,{...this._def,...t})}exclude(e,t=this._def){return eB.create(this.options.filter(t=>!e.includes(t)),{...this._def,...t})}}E=new WeakMap,eB.create=eV;class eq extends eo{constructor(){super(...arguments),O.set(this,void 0)}_parse(e){let t=k.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==D.string&&n.parsedType!==D.number){let e=k.objectValues(t);return V(n,{expected:k.joinValues(e),received:n.parsedType,code:z.invalid_type}),q}if(et(this,O,"f")||en(this,O,new Set(k.getValidEnumValues(this._def.values)),"f"),!et(this,O,"f").has(e.data)){let e=k.objectValues(t);return V(n,{received:n.data,code:z.invalid_enum_value,options:e}),q}return Y(e.data)}get enum(){return this._def.values}}O=new WeakMap,eq.create=(e,t)=>new eq({values:e,typeName:T.ZodNativeEnum,...ea(t)});class eK extends eo{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==D.promise&&!1===t.common.async?(V(t,{code:z.invalid_type,expected:D.promise,received:t.parsedType}),q):Y((t.parsedType===D.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}eK.create=(e,t)=>new eK({type:e,typeName:T.ZodPromise,...ea(t)});class eY extends eo{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===T.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{V(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===r.type){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if("aborted"===t.value)return q;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return"aborted"===r.status?q:"dirty"===r.status||"dirty"===t.value?K(r.value):r});{if("aborted"===t.value)return q;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return"aborted"===r.status?q:"dirty"===r.status||"dirty"===t.value?K(r.value):r}}if("refinement"===r.type){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1!==n.common.async)return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>"aborted"===n.status?q:("dirty"===n.status&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))));{let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===r.status?q:("dirty"===r.status&&t.dirty(),e(r.value),{status:t.value,value:r.value})}}if("transform"===r.type){if(!1!==n.common.async)return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>X(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):e);{let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!X(e))return e;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:a}}}k.assertNever(r)}}eY.create=(e,t,n)=>new eY({schema:e,typeName:T.ZodEffects,effect:t,...ea(n)}),eY.createWithPreprocess=(e,t,n)=>new eY({schema:t,effect:{type:"preprocess",transform:e},typeName:T.ZodEffects,...ea(n)});class eQ extends eo{_parse(e){return this._getType(e)===D.undefined?Y(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}eQ.create=(e,t)=>new eQ({innerType:e,typeName:T.ZodOptional,...ea(t)});class eJ extends eo{_parse(e){return this._getType(e)===D.null?Y(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}eJ.create=(e,t)=>new eJ({innerType:e,typeName:T.ZodNullable,...ea(t)});class eX extends eo{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===D.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}eX.create=(e,t)=>new eX({innerType:e,typeName:T.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...ea(t)});class e0 extends eo{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ee(r)?r.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new $(n.common.issues)},input:n.data})})):{status:"valid",value:"valid"===r.status?r.value:this._def.catchValue({get error(){return new $(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}e0.create=(e,t)=>new e0({innerType:e,typeName:T.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...ea(t)});class e1 extends eo{_parse(e){if(this._getType(e)!==D.nan){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:D.nan,received:t.parsedType}),q}return{status:"valid",value:e.data}}}e1.create=e=>new e1({typeName:T.ZodNaN,...ea(e)});let e2=Symbol("zod_brand");class e4 extends eo{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class e5 extends eo{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?q:"dirty"===e.status?(t.dirty(),K(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?q:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(e,t){return new e5({in:e,out:t,typeName:T.ZodPipeline})}}class e3 extends eo{_parse(e){let t=this._def.innerType._parse(e),n=e=>(X(e)&&(e.value=Object.freeze(e.value)),e);return ee(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}}function e6(e,t={},n){return e?eS.create().superRefine((r,i)=>{var a,o;if(!e(r)){let e="function"==typeof t?t(r):"string"==typeof t?{message:t}:t,s=null===(o=null!==(a=e.fatal)&&void 0!==a?a:n)||void 0===o||o;i.addIssue({code:"custom",..."string"==typeof e?{message:e}:e,fatal:s})}}):eS.create()}e3.create=(e,t)=>new e3({innerType:e,typeName:T.ZodReadonly,...ea(t)});let e7={object:eL.lazycreate};(x=T||(T={})).ZodString="ZodString",x.ZodNumber="ZodNumber",x.ZodNaN="ZodNaN",x.ZodBigInt="ZodBigInt",x.ZodBoolean="ZodBoolean",x.ZodDate="ZodDate",x.ZodSymbol="ZodSymbol",x.ZodUndefined="ZodUndefined",x.ZodNull="ZodNull",x.ZodAny="ZodAny",x.ZodUnknown="ZodUnknown",x.ZodNever="ZodNever",x.ZodVoid="ZodVoid",x.ZodArray="ZodArray",x.ZodObject="ZodObject",x.ZodUnion="ZodUnion",x.ZodDiscriminatedUnion="ZodDiscriminatedUnion",x.ZodIntersection="ZodIntersection",x.ZodTuple="ZodTuple",x.ZodRecord="ZodRecord",x.ZodMap="ZodMap",x.ZodSet="ZodSet",x.ZodFunction="ZodFunction",x.ZodLazy="ZodLazy",x.ZodLiteral="ZodLiteral",x.ZodEnum="ZodEnum",x.ZodEffects="ZodEffects",x.ZodNativeEnum="ZodNativeEnum",x.ZodOptional="ZodOptional",x.ZodNullable="ZodNullable",x.ZodDefault="ZodDefault",x.ZodCatch="ZodCatch",x.ZodPromise="ZodPromise",x.ZodBranded="ZodBranded",x.ZodPipeline="ZodPipeline",x.ZodReadonly="ZodReadonly";let e9=ew.create,e8=ek.create,te=e1.create,tt=e_.create,tn=ej.create,tr=eE.create,ti=eO.create,ta=eT.create,to=eC.create,ts=eS.create,tl=eN.create,tu=eR.create,tc=eI.create,td=eA.create,tf=eL.create,th=eL.strictCreate,tp=eP.create,tm=eZ.create,tx=eD.create,tg=eF.create,tv=ez.create,ty=e$.create,tb=eU.create,tw=eW.create,tk=eH.create,t_=eG.create,tj=eB.create,tE=eq.create,tO=eK.create,tT=eY.create,tC=eQ.create,tS=eJ.create,tN=eY.createWithPreprocess,tR=e5.create;var tI=Object.freeze({__proto__:null,defaultErrorMap:U,setErrorMap:function(e){W=e},getErrorMap:H,makeIssue:G,EMPTY_PATH:[],addIssueToContext:V,ParseStatus:B,INVALID:q,DIRTY:K,OK:Y,isAborted:Q,isDirty:J,isValid:X,isAsync:ee,get util(){return k},get objectUtil(){return _},ZodParsedType:D,getParsedType:F,ZodType:eo,datetimeRegex:eb,ZodString:ew,ZodNumber:ek,ZodBigInt:e_,ZodBoolean:ej,ZodDate:eE,ZodSymbol:eO,ZodUndefined:eT,ZodNull:eC,ZodAny:eS,ZodUnknown:eN,ZodNever:eR,ZodVoid:eI,ZodArray:eA,ZodObject:eL,ZodUnion:eP,ZodDiscriminatedUnion:eZ,ZodIntersection:eD,ZodTuple:eF,ZodRecord:ez,ZodMap:e$,ZodSet:eU,ZodFunction:eW,ZodLazy:eH,ZodLiteral:eG,ZodEnum:eB,ZodNativeEnum:eq,ZodPromise:eK,ZodEffects:eY,ZodTransformer:eY,ZodOptional:eQ,ZodNullable:eJ,ZodDefault:eX,ZodCatch:e0,ZodNaN:e1,BRAND:e2,ZodBranded:e4,ZodPipeline:e5,ZodReadonly:e3,custom:e6,Schema:eo,ZodSchema:eo,late:e7,get ZodFirstPartyTypeKind(){return T},coerce:{string:e=>ew.create({...e,coerce:!0}),number:e=>ek.create({...e,coerce:!0}),boolean:e=>ej.create({...e,coerce:!0}),bigint:e=>e_.create({...e,coerce:!0}),date:e=>eE.create({...e,coerce:!0})},any:ts,array:td,bigint:tt,boolean:tn,date:tr,discriminatedUnion:tm,effect:tT,enum:tj,function:tw,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>e6(t=>t instanceof e,t),intersection:tx,lazy:tk,literal:t_,map:ty,nan:te,nativeEnum:tE,never:tu,null:to,nullable:tS,number:e8,object:tf,oboolean:()=>tn().optional(),onumber:()=>e8().optional(),optional:tC,ostring:()=>e9().optional(),pipeline:tR,preprocess:tN,promise:tO,record:tv,set:tb,strictObject:th,string:e9,symbol:ti,transformer:tT,tuple:tg,undefined:ta,union:tp,unknown:tl,void:tc,NEVER:q,ZodIssueCode:z,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:$}),tA=n(1664),tL=n.n(tA);n(6337);var tP=n(5893);let tM=["light","dark"],tZ="(prefers-color-scheme: dark)",tD="undefined"==typeof window,tF=(0,R.createContext)(void 0),tz={setTheme:e=>{},themes:[]},t$=()=>{var e;return null!==(e=(0,R.useContext)(tF))&&void 0!==e?e:tz},tU=e=>(0,R.useContext)(tF)?R.createElement(R.Fragment,null,e.children):R.createElement(tH,e),tW=["light","dark"],tH=({forcedTheme:e,disableTransitionOnChange:t=!1,enableSystem:n=!0,enableColorScheme:r=!0,storageKey:i="theme",themes:a=tW,defaultTheme:o=n?"system":"light",attribute:s="data-theme",value:l,children:u,nonce:c})=>{let[d,f]=(0,R.useState)(()=>tV(i,o)),[h,p]=(0,R.useState)(()=>tV(i)),m=l?Object.values(l):a,x=(0,R.useCallback)(e=>{let i=e;if(!i)return;"system"===e&&n&&(i=tq());let a=l?l[i]:i,u=t?tB():null,c=document.documentElement;if("class"===s?(c.classList.remove(...m),a&&c.classList.add(a)):a?c.setAttribute(s,a):c.removeAttribute(s),r){let e=tM.includes(o)?o:null,t=tM.includes(i)?i:e;c.style.colorScheme=t}null==u||u()},[]),g=(0,R.useCallback)(e=>{f(e);try{localStorage.setItem(i,e)}catch(e){}},[e]),v=(0,R.useCallback)(t=>{p(tq(t)),"system"===d&&n&&!e&&x("system")},[d,e]);(0,R.useEffect)(()=>{let e=window.matchMedia(tZ);return e.addListener(v),v(e),()=>e.removeListener(v)},[v]),(0,R.useEffect)(()=>{let e=e=>{e.key===i&&g(e.newValue||o)};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[g]),(0,R.useEffect)(()=>{x(null!=e?e:d)},[e,d]);let y=(0,R.useMemo)(()=>({theme:d,setTheme:g,forcedTheme:e,resolvedTheme:"system"===d?h:d,themes:n?[...a,"system"]:a,systemTheme:n?h:void 0}),[d,g,e,h,n,a]);return R.createElement(tF.Provider,{value:y},R.createElement(tG,{forcedTheme:e,disableTransitionOnChange:t,enableSystem:n,enableColorScheme:r,storageKey:i,themes:a,defaultTheme:o,attribute:s,value:l,children:u,attrs:m,nonce:c}),u)},tG=(0,R.memo)(({forcedTheme:e,storageKey:t,attribute:n,enableSystem:r,enableColorScheme:i,defaultTheme:a,value:o,attrs:s,nonce:l})=>{let u="system"===a,c="class"===n?`var d=document.documentElement,c=d.classList;c.remove(${s.map(e=>`'${e}'`).join(",")});`:`var d=document.documentElement,n='${n}',s='setAttribute';`,d=i?tM.includes(a)&&a?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${a}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",f=(e,t=!1,r=!0)=>{let a=o?o[e]:e,s=t?e+"|| ''":`'${a}'`,l="";return i&&r&&!t&&tM.includes(e)&&(l+=`d.style.colorScheme = '${e}';`),"class"===n?l+=t||a?`c.add(${s})`:"null":a&&(l+=`d[s](n,${s})`),l},h=e?`!function(){${c}${f(e)}}()`:r?`!function(){try{${c}var e=localStorage.getItem('${t}');if('system'===e||(!e&&${u})){var t='${tZ}',m=window.matchMedia(t);if(m.media!==t||m.matches){${f("dark")}}else{${f("light")}}}else if(e){${o?`var x=${JSON.stringify(o)};`:""}${f(o?"x[e]":"e",!0)}}${u?"":"else{"+f(a,!1,!1)+"}"}${d}}catch(e){}}()`:`!function(){try{${c}var e=localStorage.getItem('${t}');if(e){${o?`var x=${JSON.stringify(o)};`:""}${f(o?"x[e]":"e",!0)}}else{${f(a,!1,!1)};}${d}}catch(t){}}();`;return R.createElement("script",{nonce:l,dangerouslySetInnerHTML:{__html:h}})},()=>!0),tV=(e,t)=>{let n;if(!tD){try{n=localStorage.getItem(e)||void 0}catch(e){}return n||t}},tB=()=>{let e=document.createElement("style");return e.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(e),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(e)},1)}},tq=e=>(e||(e=window.matchMedia(tZ)),e.matches?"dark":"light");var tK={breadcrumb:!0,collapsed:!1,footer:!0,layout:"default",navbar:!0,pagination:!0,sidebar:!0,timestamp:!0,toc:!0,typesetting:"default"},tY=tI.strictObject({breadcrumb:tI.boolean(),collapsed:tI.boolean(),footer:tI.boolean(),layout:tI.enum(["default","full","raw"]),navbar:tI.boolean(),pagination:tI.boolean(),sidebar:tI.boolean(),timestamp:tI.boolean(),toc:tI.boolean(),typesetting:tI.enum(["default","article"])}),tQ=tI.enum(["normal","hidden","children"]),tJ=tI.string(),tX=tI.strictObject({href:tI.string(),newWindow:tI.boolean(),title:tJ}),t0=tI.strictObject({display:tQ.optional(),items:tI.record(tX.partial({href:!0,newWindow:!0})),title:tJ,type:tI.literal("menu")}),t1=tI.strictObject({title:tJ.optional(),type:tI.literal("separator")}),t2=tX.extend({display:tQ,theme:tY,title:tJ,type:tI.enum(["page","doc"])}).deepPartial();tI.string().or(t0).or(t1).or(t2);var t4=n(3458),t5=n.n(t4);function t3(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function t6(e){var t=t3(e).Element;return e instanceof t||e instanceof Element}function t7(e){var t=t3(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function t9(e){if("undefined"==typeof ShadowRoot)return!1;var t=t3(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}var t8=Math.max,ne=Math.min,nt=Math.round;function nn(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function nr(){return!/^((?!chrome|android).)*safari/i.test(nn())}function ni(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var r=e.getBoundingClientRect(),i=1,a=1;t&&t7(e)&&(i=e.offsetWidth>0&&nt(r.width)/e.offsetWidth||1,a=e.offsetHeight>0&&nt(r.height)/e.offsetHeight||1);var o=(t6(e)?t3(e):window).visualViewport,s=!nr()&&n,l=(r.left+(s&&o?o.offsetLeft:0))/i,u=(r.top+(s&&o?o.offsetTop:0))/a,c=r.width/i,d=r.height/a;return{width:c,height:d,top:u,right:l+c,bottom:u+d,left:l,x:l,y:u}}function na(e){var t=t3(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function no(e){return e?(e.nodeName||"").toLowerCase():null}function ns(e){return((t6(e)?e.ownerDocument:e.document)||window.document).documentElement}function nl(e){return ni(ns(e)).left+na(e).scrollLeft}function nu(e){return t3(e).getComputedStyle(e)}function nc(e){var t=nu(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function nd(e){var t=ni(e),n=e.offsetWidth,r=e.offsetHeight;return 1>=Math.abs(t.width-n)&&(n=t.width),1>=Math.abs(t.height-r)&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function nf(e){return"html"===no(e)?e:e.assignedSlot||e.parentNode||(t9(e)?e.host:null)||ns(e)}function nh(e,t){void 0===t&&(t=[]);var n,r=function e(t){return["html","body","#document"].indexOf(no(t))>=0?t.ownerDocument.body:t7(t)&&nc(t)?t:e(nf(t))}(e),i=r===(null==(n=e.ownerDocument)?void 0:n.body),a=t3(r),o=i?[a].concat(a.visualViewport||[],nc(r)?r:[]):r,s=t.concat(o);return i?s:s.concat(nh(nf(o)))}function np(e){return t7(e)&&"fixed"!==nu(e).position?e.offsetParent:null}function nm(e){for(var t=t3(e),n=np(e);n&&["table","td","th"].indexOf(no(n))>=0&&"static"===nu(n).position;)n=np(n);return n&&("html"===no(n)||"body"===no(n)&&"static"===nu(n).position)?t:n||function(e){var t=/firefox/i.test(nn());if(/Trident/i.test(nn())&&t7(e)&&"fixed"===nu(e).position)return null;var n=nf(e);for(t9(n)&&(n=n.host);t7(n)&&0>["html","body"].indexOf(no(n));){var r=nu(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}var nx="bottom",ng="right",nv="left",ny="auto",nb=["top",nx,ng,nv],nw="start",nk="viewport",n_="popper",nj=nb.reduce(function(e,t){return e.concat([t+"-"+nw,t+"-end"])},[]),nE=[].concat(nb,[ny]).reduce(function(e,t){return e.concat([t,t+"-"+nw,t+"-end"])},[]),nO=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"],nT={placement:"bottom",modifiers:[],strategy:"absolute"};function nC(){for(var e=arguments.length,t=Array(e),n=0;n=0?"x":"y"}function nA(e){var t,n=e.reference,r=e.element,i=e.placement,a=i?nN(i):null,o=i?nR(i):null,s=n.x+n.width/2-r.width/2,l=n.y+n.height/2-r.height/2;switch(a){case"top":t={x:s,y:n.y-r.height};break;case nx:t={x:s,y:n.y+n.height};break;case ng:t={x:n.x+n.width,y:l};break;case nv:t={x:n.x-r.width,y:l};break;default:t={x:n.x,y:n.y}}var u=a?nI(a):null;if(null!=u){var c="y"===u?"height":"width";switch(o){case nw:t[u]=t[u]-(n[c]/2-r[c]/2);break;case"end":t[u]=t[u]+(n[c]/2-r[c]/2)}}return t}var nL={top:"auto",right:"auto",bottom:"auto",left:"auto"};function nP(e){var t,n,r,i,a,o,s,l=e.popper,u=e.popperRect,c=e.placement,d=e.variation,f=e.offsets,h=e.position,p=e.gpuAcceleration,m=e.adaptive,x=e.roundOffsets,g=e.isFixed,v=f.x,y=void 0===v?0:v,b=f.y,w=void 0===b?0:b,k="function"==typeof x?x({x:y,y:w}):{x:y,y:w};y=k.x,w=k.y;var _=f.hasOwnProperty("x"),j=f.hasOwnProperty("y"),E=nv,O="top",T=window;if(m){var C=nm(l),S="clientHeight",N="clientWidth";C===t3(l)&&"static"!==nu(C=ns(l)).position&&"absolute"===h&&(S="scrollHeight",N="scrollWidth"),("top"===c||(c===nv||c===ng)&&"end"===d)&&(O=nx,w-=(g&&C===T&&T.visualViewport?T.visualViewport.height:C[S])-u.height,w*=p?1:-1),(c===nv||("top"===c||c===nx)&&"end"===d)&&(E=ng,y-=(g&&C===T&&T.visualViewport?T.visualViewport.width:C[N])-u.width,y*=p?1:-1)}var R=Object.assign({position:h},m&&nL),I=!0===x?(t={x:y,y:w},n=t3(l),r=t.x,i=t.y,{x:nt(r*(a=n.devicePixelRatio||1))/a||0,y:nt(i*a)/a||0}):{x:y,y:w};return(y=I.x,w=I.y,p)?Object.assign({},R,((s={})[O]=j?"0":"",s[E]=_?"0":"",s.transform=1>=(T.devicePixelRatio||1)?"translate("+y+"px, "+w+"px)":"translate3d("+y+"px, "+w+"px, 0)",s)):Object.assign({},R,((o={})[O]=j?w+"px":"",o[E]=_?y+"px":"",o.transform="",o))}var nM={left:"right",right:"left",bottom:"top",top:"bottom"};function nZ(e){return e.replace(/left|right|bottom|top/g,function(e){return nM[e]})}var nD={start:"end",end:"start"};function nF(e){return e.replace(/start|end/g,function(e){return nD[e]})}function nz(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&t9(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function n$(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function nU(e,t,n){var r,i,a,o,s,l,u,c,d,f;return t===nk?n$(function(e,t){var n=t3(e),r=ns(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,l=0;if(i){a=i.width,o=i.height;var u=nr();(u||!u&&"fixed"===t)&&(s=i.offsetLeft,l=i.offsetTop)}return{width:a,height:o,x:s+nl(e),y:l}}(e,n)):t6(t)?((r=ni(t,!1,"fixed"===n)).top=r.top+t.clientTop,r.left=r.left+t.clientLeft,r.bottom=r.top+t.clientHeight,r.right=r.left+t.clientWidth,r.width=t.clientWidth,r.height=t.clientHeight,r.x=r.left,r.y=r.top,r):n$((i=ns(e),o=ns(i),s=na(i),l=null==(a=i.ownerDocument)?void 0:a.body,u=t8(o.scrollWidth,o.clientWidth,l?l.scrollWidth:0,l?l.clientWidth:0),c=t8(o.scrollHeight,o.clientHeight,l?l.scrollHeight:0,l?l.clientHeight:0),d=-s.scrollLeft+nl(i),f=-s.scrollTop,"rtl"===nu(l||o).direction&&(d+=t8(o.clientWidth,l?l.clientWidth:0)-u),{width:u,height:c,x:d,y:f}))}function nW(){return{top:0,right:0,bottom:0,left:0}}function nH(e){return Object.assign({},nW(),e)}function nG(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}function nV(e,t){void 0===t&&(t={});var n,r,i,a,o,s,l,u,c=t,d=c.placement,f=void 0===d?e.placement:d,h=c.strategy,p=void 0===h?e.strategy:h,m=c.boundary,x=c.rootBoundary,g=c.elementContext,v=void 0===g?n_:g,y=c.altBoundary,b=c.padding,w=void 0===b?0:b,k=nH("number"!=typeof w?w:nG(w,nb)),_=e.rects.popper,j=e.elements[void 0!==y&&y?v===n_?"reference":n_:v],E=(n=t6(j)?j:j.contextElement||ns(e.elements.popper),r=void 0===m?"clippingParents":m,i=void 0===x?nk:x,l=(s=[].concat("clippingParents"===r?(a=nh(nf(n)),t6(o=["absolute","fixed"].indexOf(nu(n).position)>=0&&t7(n)?nm(n):n)?a.filter(function(e){return t6(e)&&nz(e,o)&&"body"!==no(e)}):[]):[].concat(r),[i]))[0],(u=s.reduce(function(e,t){var r=nU(n,t,p);return e.top=t8(r.top,e.top),e.right=ne(r.right,e.right),e.bottom=ne(r.bottom,e.bottom),e.left=t8(r.left,e.left),e},nU(n,l,p))).width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u),O=ni(e.elements.reference),T=nA({reference:O,element:_,strategy:"absolute",placement:f}),C=n$(Object.assign({},_,T)),S=v===n_?C:O,N={top:E.top-S.top+k.top,bottom:S.bottom-E.bottom+k.bottom,left:E.left-S.left+k.left,right:S.right-E.right+k.right},R=e.modifiersData.offset;if(v===n_&&R){var I=R[f];Object.keys(N).forEach(function(e){var t=[ng,nx].indexOf(e)>=0?1:-1,n=["top",nx].indexOf(e)>=0?"y":"x";N[e]+=I[n]*t})}return N}function nB(e,t,n){return t8(e,ne(t,n))}function nq(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function nK(e){return["top",ng,nx,nv].some(function(t){return e[t]>=0})}var nY=(y=void 0===(v=(g={defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,a=void 0===i||i,o=r.resize,s=void 0===o||o,l=t3(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&u.forEach(function(e){e.addEventListener("scroll",n.update,nS)}),s&&l.addEventListener("resize",n.update,nS),function(){a&&u.forEach(function(e){e.removeEventListener("scroll",n.update,nS)}),s&&l.removeEventListener("resize",n.update,nS)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=nA({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=n.adaptive,a=n.roundOffsets,o=void 0===a||a,s={placement:nN(t.placement),variation:nR(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:void 0===r||r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,nP(Object.assign({},s,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:void 0===i||i,roundOffsets:o})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,nP(Object.assign({},s,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:o})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},i=t.elements[e];t7(i)&&no(i)&&(Object.assign(i.style,n),Object.keys(r).forEach(function(e){var t=r[e];!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?"":t)}))})},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(e){var r=t.elements[e],i=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce(function(e,t){return e[t]="",e},{});t7(r)&&no(r)&&(Object.assign(r.style,a),Object.keys(i).forEach(function(e){r.removeAttribute(e)}))})}},requires:["computeStyles"]},{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,i=n.offset,a=void 0===i?[0,0]:i,o=nE.reduce(function(e,n){var r,i,o,s,l,u;return e[n]=(r=t.rects,o=[nv,"top"].indexOf(i=nN(n))>=0?-1:1,l=(s="function"==typeof a?a(Object.assign({},r,{placement:n})):a)[0],u=s[1],l=l||0,u=(u||0)*o,[nv,ng].indexOf(i)>=0?{x:u,y:l}:{x:l,y:u}),e},{}),s=o[t.placement],l=s.x,u=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=o}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,a=void 0===i||i,o=n.altAxis,s=void 0===o||o,l=n.fallbackPlacements,u=n.padding,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.flipVariations,p=void 0===h||h,m=n.allowedAutoPlacements,x=t.options.placement,g=nN(x)===x,v=l||(g||!p?[nZ(x)]:function(e){if(nN(e)===ny)return[];var t=nZ(e);return[nF(e),t,nF(t)]}(x)),y=[x].concat(v).reduce(function(e,n){var r,i,a,o,s,l,f,h,x,g,v,y;return e.concat(nN(n)===ny?(i=(r={placement:n,boundary:c,rootBoundary:d,padding:u,flipVariations:p,allowedAutoPlacements:m}).placement,a=r.boundary,o=r.rootBoundary,s=r.padding,l=r.flipVariations,h=void 0===(f=r.allowedAutoPlacements)?nE:f,0===(v=(g=(x=nR(i))?l?nj:nj.filter(function(e){return nR(e)===x}):nb).filter(function(e){return h.indexOf(e)>=0})).length&&(v=g),Object.keys(y=v.reduce(function(e,n){return e[n]=nV(t,{placement:n,boundary:a,rootBoundary:o,padding:s})[nN(n)],e},{})).sort(function(e,t){return y[e]-y[t]})):n)},[]),b=t.rects.reference,w=t.rects.popper,k=new Map,_=!0,j=y[0],E=0;E=0,N=S?"width":"height",R=nV(t,{placement:O,boundary:c,rootBoundary:d,altBoundary:f,padding:u}),I=S?C?ng:nv:C?nx:"top";b[N]>w[N]&&(I=nZ(I));var A=nZ(I),L=[];if(a&&L.push(R[T]<=0),s&&L.push(R[I]<=0,R[A]<=0),L.every(function(e){return e})){j=O,_=!1;break}k.set(O,L)}if(_)for(var P=p?3:1,M=function(e){var t=y.find(function(t){var n=k.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return j=t,"break"},Z=P;Z>0&&"break"!==M(Z);Z--);t.placement!==j&&(t.modifiersData[r]._skip=!0,t.placement=j,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,a=n.altAxis,o=n.boundary,s=n.rootBoundary,l=n.altBoundary,u=n.padding,c=n.tether,d=void 0===c||c,f=n.tetherOffset,h=void 0===f?0:f,p=nV(t,{boundary:o,rootBoundary:s,padding:u,altBoundary:l}),m=nN(t.placement),x=nR(t.placement),g=!x,v=nI(m),y="x"===v?"y":"x",b=t.modifiersData.popperOffsets,w=t.rects.reference,k=t.rects.popper,_="function"==typeof h?h(Object.assign({},t.rects,{placement:t.placement})):h,j="number"==typeof _?{mainAxis:_,altAxis:_}:Object.assign({mainAxis:0,altAxis:0},_),E=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(b){if(void 0===i||i){var T,C="y"===v?"top":nv,S="y"===v?nx:ng,N="y"===v?"height":"width",R=b[v],I=R+p[C],A=R-p[S],L=d?-k[N]/2:0,P=x===nw?w[N]:k[N],M=x===nw?-k[N]:-w[N],Z=t.elements.arrow,D=d&&Z?nd(Z):{width:0,height:0},F=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:nW(),z=F[C],$=F[S],U=nB(0,w[N],D[N]),W=g?w[N]/2-L-U-z-j.mainAxis:P-U-z-j.mainAxis,H=g?-w[N]/2+L+U+$+j.mainAxis:M+U+$+j.mainAxis,G=t.elements.arrow&&nm(t.elements.arrow),V=G?"y"===v?G.clientTop||0:G.clientLeft||0:0,B=null!=(T=null==E?void 0:E[v])?T:0,q=nB(d?ne(I,R+W-B-V):I,R,d?t8(A,R+H-B):A);b[v]=q,O[v]=q-R}if(void 0!==a&&a){var K,Y,Q="x"===v?"top":nv,J="x"===v?nx:ng,X=b[y],ee="y"===y?"height":"width",et=X+p[Q],en=X-p[J],er=-1!==["top",nv].indexOf(m),ei=null!=(Y=null==E?void 0:E[y])?Y:0,ea=er?et:X-w[ee]-k[ee]-ei+j.altAxis,eo=er?X+w[ee]+k[ee]-ei-j.altAxis:en,es=d&&er?(K=nB(ea,X,eo))>eo?eo:K:nB(d?ea:et,X,d?eo:en);b[y]=es,O[y]=es-X}t.modifiersData[r]=O}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n,r=e.state,i=e.name,a=e.options,o=r.elements.arrow,s=r.modifiersData.popperOffsets,l=nN(r.placement),u=nI(l),c=[nv,ng].indexOf(l)>=0?"height":"width";if(o&&s){var d=nH("number"!=typeof(t="function"==typeof(t=a.padding)?t(Object.assign({},r.rects,{placement:r.placement})):t)?t:nG(t,nb)),f=nd(o),h="y"===u?"top":nv,p="y"===u?nx:ng,m=r.rects.reference[c]+r.rects.reference[u]-s[u]-r.rects.popper[c],x=s[u]-r.rects.reference[u],g=nm(o),v=g?"y"===u?g.clientHeight||0:g.clientWidth||0:0,y=d[h],b=v-f[c]-d[p],w=v/2-f[c]/2+(m/2-x/2),k=nB(y,w,b);r.modifiersData[i]=((n={})[u]=k,n.centerOffset=k-w,n)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&nz(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,a=t.modifiersData.preventOverflow,o=nV(t,{elementContext:"reference"}),s=nV(t,{altBoundary:!0}),l=nq(o,r),u=nq(s,i,a),c=nK(l),d=nK(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}}]}).defaultModifiers)?[]:v,w=void 0===(b=g.defaultOptions)?nT:b,function(e,t,n){void 0===n&&(n=w);var r,i,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},nT,w),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},o=[],s=!1,l={state:a,setOptions:function(n){var r,i,s,c,d,f="function"==typeof n?n(a.options):n;u(),a.options=Object.assign({},w,a.options,f),a.scrollParents={reference:t6(e)?nh(e):e.contextElement?nh(e.contextElement):[],popper:nh(t)};var h=(i=Object.keys(r=[].concat(y,a.options.modifiers).reduce(function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e},{})).map(function(e){return r[e]}),s=new Map,c=new Set,d=[],i.forEach(function(e){s.set(e.name,e)}),i.forEach(function(e){c.has(e.name)||function e(t){c.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach(function(t){if(!c.has(t)){var n=s.get(t);n&&e(n)}}),d.push(t)}(e)}),nO.reduce(function(e,t){return e.concat(d.filter(function(e){return e.phase===t}))},[]));return a.orderedModifiers=h.filter(function(e){return e.enabled}),a.orderedModifiers.forEach(function(e){var t=e.name,n=e.options,r=e.effect;if("function"==typeof r){var i=r({state:a,name:t,instance:l,options:void 0===n?{}:n});o.push(i||function(){})}}),l.update()},forceUpdate:function(){if(!s){var e,t,n,r,i,o,u,c,d,f,h,p,m=a.elements,x=m.reference,g=m.popper;if(nC(x,g)){a.rects={reference:(t=nm(g),n="fixed"===a.options.strategy,r=t7(t),c=t7(t)&&(o=nt((i=t.getBoundingClientRect()).width)/t.offsetWidth||1,u=nt(i.height)/t.offsetHeight||1,1!==o||1!==u),d=ns(t),f=ni(x,c,n),h={scrollLeft:0,scrollTop:0},p={x:0,y:0},(r||!r&&!n)&&(("body"!==no(t)||nc(d))&&(h=(e=t)!==t3(e)&&t7(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:na(e)),t7(t)?(p=ni(t,!0),p.x+=t.clientLeft,p.y+=t.clientTop):d&&(p.x=nl(d))),{x:f.left+h.scrollLeft-p.x,y:f.top+h.scrollTop-p.y,width:f.width,height:f.height}),popper:nd(g)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach(function(e){return a.modifiersData[e.name]=Object.assign({},e.data)});for(var v=0;v=r))));t++);if(n)return a?rm(l,r,0):void(t[t.length]=l)}return!n&&l}function rm(e,t,n){return e=1===e.length?e[0]:[].concat.apply([],e),n||e.length>t?e.slice(n,n+t):e}function rx(e,t,n,r){return e=n?(e=e[(r=r&&t>n)?t:n])&&e[r?n:t]:e[t]}function rg(e,t,n,r,i){let a=0;if(e.constructor===Array){if(i)-1!==(t=e.indexOf(t))?1=this.B&&(d||!c[p])){var a=rf(f,r,h),o="";switch(this.G){case"full":if(2a;s--)if(s-a>=this.B){var l=rf(f,r,h,i,a);rh(this,c,o=p.substring(a,s),l,e,n)}break}case"reverse":if(1=this.B&&rh(this,c,o,rf(f,r,h,i,s),e,n);o=""}case"forward":if(1=this.B&&rh(this,c,o,a,e,n);break}default:if(this.C&&(a=Math.min(a/this.C(t,p,h)|0,f-1)),rh(this,c,p,a,e,n),d&&1=this.B&&!i[p]){i[p]=1;let t=this.l&&p>a;rh(this,u,t?a:p,rf(o+(r/2>o?0:1),r,h,s-1,l-1),e,n,t?p:a)}}}}}this.m||(this.register[e]=1)}}return this},C.search=function(e,t,n){let r,i,a;n||(!t&&n2(e)?e=(n=e).query:n2(t)&&(n=t));let o=[],s,l,u=0;if(n){e=n.query||e,t=n.limit,u=n.offset||0;var c=n.context;l=n.suggest}if(e&&1<(s=(e=this.encode(""+e)).length)){n=nX();var d=[];for(let t=0,r=0,i;t=this.B&&!n[i]){if(!this.s&&!l&&!this.map[i])return o;d[r++]=i,n[i]=1}s=(e=d).length}if(!s)return o;for(t||(t=100),c=this.depth&&1{a=e})),i||(i=0)){case 0:if(o="reg",this.m)for(let e in s=nX(),this.register)s[e]=1;else s=this.register;break;case 1:o="cfg",s={doc:0,opt:this.s?1:0};break;case 2:o="map",s=this.map;break;case 3:o="ctx",s=this.h;break;default:void 0===n&&a&&a();return}return rc(e,t||this,n,o,r,i,s,a),l},C.import=function(e,t){if(t)switch(n1(t)&&(t=JSON.parse(t)),e){case"cfg":this.s=!!t.opt;break;case"reg":this.m=!1,this.register=t;break;case"map":this.map=t;break;case"ctx":this.h=t}},ri(rd.prototype);let ry=0;function rb(e){var t;if(!(this instanceof rb))return new rb(e);e?n4(t=e.encode)&&(e.encode=t.toString()):e={},(t=(self||window)._factory)&&(t=t.toString());let r="undefined"==typeof window&&self.exports,i=this;this.o=function(e,t,r){let i;try{i=t?new(n(5789)).Worker("//node/node.js"):e?new Worker(URL.createObjectURL(new Blob(["onmessage="+rv.toString()],{type:"text/javascript"}))):new Worker(n1(r)?r:"worker/worker.js",{type:"module"})}catch(e){}return i}(t,r,e.worker),this.h=nX(),this.o&&(r?this.o.on("message",function(e){i.h[e.id](e.msg),delete i.h[e.id]}):this.o.onmessage=function(e){e=e.data,i.h[e.id](e.msg),delete i.h[e.id]},this.o.postMessage({task:"init",factory:t,options:e}))}function rw(e){rb.prototype[e]=rb.prototype[e+"Async"]=function(){let t;let n=this,r=[].slice.call(arguments);var i=r[r.length-1];return n4(i)&&(t=i,r.splice(r.length-1,1)),i=new Promise(function(t){setTimeout(function(){n.h[++ry]=t,n.o.postMessage({task:e,id:ry,args:r})})}),t?(i.then(t),this):i}}function rk(e){if(!(this instanceof rk))return new rk(e);var t,n=e.document||e.doc||e;this.K=[],this.h=[],this.A=[],this.register=nX(),this.key=(t=n.key||n.id)&&r_(t,this.A)||"id",this.m=nQ(e.fastupdate),this.C=(t=n.store)&&!0!==t&&[],this.store=t&&nX(),this.I=(t=n.tag)&&r_(t,this.A),this.l=t&&nX(),this.cache=(t=e.cache)&&new rs(t),e.cache=!1,this.o=e.worker,this.async=!1,t=nX();let r=n.index||n.field||n;n1(r)&&(r=[r]);for(let n=0,i,a;nt||n)&&(i=i.slice(n,n+t)),r&&(i=rO.call(this,i)),{tag:e,result:i}}function rO(e){let t=Array(e.length);for(let n=0,r;n{a=e})),i||(i=0),r||(r=0),r()=>e.dispose(),[e]),e}var rZ=n(3),rD=n(2308),rF=n(1378),rz=n(5508),r$=n(2047),rU=n(1813),rW=n(8844);function rH(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r0&&e.classList.add(...n)}function rG(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r0&&e.classList.remove(...n)}let rV=(0,R.createContext)(null);rV.displayName="OpenClosedContext";var rB=((i=rB||{})[i.Open=1]="Open",i[i.Closed=2]="Closed",i[i.Closing=4]="Closing",i[i.Opening=8]="Opening",i);function rq(){return(0,R.useContext)(rV)}function rK(e){let{value:t,children:n}=e;return R.createElement(rV.Provider,{value:t},n)}var rY=n(5602),rQ=n(8287);function rJ(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.split(/\s+/).filter(e=>e.length>1)}let rX=(0,R.createContext)(null);rX.displayName="TransitionContext";var r0=((a=r0||{}).Visible="visible",a.Hidden="hidden",a);let r1=(0,R.createContext)(null);function r2(e){return"children"in e?r2(e.children):e.current.filter(e=>{let{el:t}=e;return null!==t.current}).filter(e=>{let{state:t}=e;return"visible"===t}).length>0}function r4(e,t){let n=(0,rz.E)(e),r=(0,R.useRef)([]),i=(0,rD.t)(),a=rM(),o=(0,rZ.z)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:rQ.l4.Hidden,o=r.current.findIndex(t=>{let{el:n}=t;return n===e});-1!==o&&((0,rW.E)(t,{[rQ.l4.Unmount](){r.current.splice(o,1)},[rQ.l4.Hidden](){r.current[o].state="hidden"}}),a.microTask(()=>{var e;!r2(r)&&i.current&&(null==(e=n.current)||e.call(n))}))}),s=(0,rZ.z)(e=>{let t=r.current.find(t=>{let{el:n}=t;return n===e});return t?"visible"!==t.state&&(t.state="visible"):r.current.push({el:e,state:"visible"}),()=>o(e,rQ.l4.Unmount)}),l=(0,R.useRef)([]),u=(0,R.useRef)(Promise.resolve()),c=(0,R.useRef)({enter:[],leave:[],idle:[]}),d=(0,rZ.z)((e,n,r)=>{l.current.splice(0),t&&(t.chains.current[n]=t.chains.current[n].filter(t=>{let[n]=t;return n!==e})),null==t||t.chains.current[n].push([e,new Promise(e=>{l.current.push(e)})]),null==t||t.chains.current[n].push([e,new Promise(e=>{Promise.all(c.current[n].map(e=>{let[t,n]=e;return n})).then(()=>e())})]),"enter"===n?u.current=u.current.then(()=>null==t?void 0:t.wait.current).then(()=>r(n)):r(n)}),f=(0,rZ.z)((e,t,n)=>{Promise.all(c.current[t].splice(0).map(e=>{let[t,n]=e;return n})).then(()=>{var e;null==(e=l.current.shift())||e()}).then(()=>n(t))});return(0,R.useMemo)(()=>({children:r,register:s,unregister:o,onStart:d,onStop:f,wait:u,chains:c}),[s,o,r,d,f,c,u])}function r5(){}r1.displayName="NestingContext";let r3=["beforeEnter","afterEnter","beforeLeave","afterLeave"];function r6(e){var t;let n={};for(let r of r3)n[r]=null!=(t=e[r])?t:r5;return n}let r7=rQ.AN.RenderStrategy,r9=(0,rQ.yV)(function(e,t){let{show:n,appear:r=!1,unmount:i=!0,...a}=e,o=(0,R.useRef)(null),s=(0,rU.T)(o,t);(0,r$.H)();let l=rq();if(void 0===n&&null!==l&&(n=(l&rB.Open)===rB.Open),![!0,!1].includes(n))throw Error("A is used but it is missing a `show={true | false}` prop.");let[u,c]=(0,R.useState)(n?"visible":"hidden"),d=r4(()=>{c("hidden")}),[f,h]=(0,R.useState)(!0),p=(0,R.useRef)([n]);(0,rF.e)(()=>{!1!==f&&p.current[p.current.length-1]!==n&&(p.current.push(n),h(!1))},[p,n]);let m=(0,R.useMemo)(()=>({show:n,appear:r,initial:f}),[n,r,f]);(0,R.useEffect)(()=>{if(n)c("visible");else if(r2(d)){let e=o.current;if(!e)return;let t=e.getBoundingClientRect();0===t.x&&0===t.y&&0===t.width&&0===t.height&&c("hidden")}else c("hidden")},[n,d]);let x={unmount:i},g=(0,rZ.z)(()=>{var t;f&&h(!1),null==(t=e.beforeEnter)||t.call(e)}),v=(0,rZ.z)(()=>{var t;f&&h(!1),null==(t=e.beforeLeave)||t.call(e)});return R.createElement(r1.Provider,{value:d},R.createElement(rX.Provider,{value:m},(0,rQ.sY)({ourProps:{...x,as:R.Fragment,children:R.createElement(r8,{ref:s,...x,...a,beforeEnter:g,beforeLeave:v})},theirProps:{},defaultTag:R.Fragment,features:r7,visible:"visible"===u,name:"Transition"})))}),r8=(0,rQ.yV)(function(e,t){var n,r,i;let a;let{beforeEnter:o,afterEnter:s,beforeLeave:l,afterLeave:u,enter:c,enterFrom:d,enterTo:f,entered:h,leave:p,leaveFrom:m,leaveTo:x,...g}=e,v=(0,R.useRef)(null),y=(0,rU.T)(v,t),b=null==(n=g.unmount)||n?rQ.l4.Unmount:rQ.l4.Hidden,{show:w,appear:k,initial:_}=function(){let e=(0,R.useContext)(rX);if(null===e)throw Error("A is used but it is missing a parent or .");return e}(),[j,E]=(0,R.useState)(w?"visible":"hidden"),O=function(){let e=(0,R.useContext)(r1);if(null===e)throw Error("A is used but it is missing a parent or .");return e}(),{register:T,unregister:C}=O;(0,R.useEffect)(()=>T(v),[T,v]),(0,R.useEffect)(()=>{if(b===rQ.l4.Hidden&&v.current){if(w&&"visible"!==j){E("visible");return}return(0,rW.E)(j,{hidden:()=>C(v),visible:()=>T(v)})}},[j,v,T,C,w,b]);let S=(0,rz.E)({base:rJ(g.className),enter:rJ(c),enterFrom:rJ(d),enterTo:rJ(f),entered:rJ(h),leave:rJ(p),leaveFrom:rJ(m),leaveTo:rJ(x)}),N=(i={beforeEnter:o,afterEnter:s,beforeLeave:l,afterLeave:u},a=(0,R.useRef)(r6(i)),(0,R.useEffect)(()=>{a.current=r6(i)},[i]),a),I=(0,r$.H)();(0,R.useEffect)(()=>{if(I&&"visible"===j&&null===v.current)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")},[v,j,I]);let A=k&&w&&_,L=I&&(!_||k)?w?"enter":"leave":"idle",P=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,[t,n]=(0,R.useState)(e),r=(0,rD.t)(),i=(0,R.useCallback)(e=>{r.current&&n(t=>t|e)},[t,r]),a=(0,R.useCallback)(e=>!!(t&e),[t]);return{flags:t,addFlag:i,hasFlag:a,removeFlag:(0,R.useCallback)(e=>{r.current&&n(t=>t&~e)},[n,r]),toggleFlag:(0,R.useCallback)(e=>{r.current&&n(t=>t^e)},[n])}}(0),M=(0,rZ.z)(e=>(0,rW.E)(e,{enter:()=>{P.addFlag(rB.Opening),N.current.beforeEnter()},leave:()=>{P.addFlag(rB.Closing),N.current.beforeLeave()},idle:()=>{}})),Z=(0,rZ.z)(e=>(0,rW.E)(e,{enter:()=>{P.removeFlag(rB.Opening),N.current.afterEnter()},leave:()=>{P.removeFlag(rB.Closing),N.current.afterLeave()},idle:()=>{}})),D=r4(()=>{E("hidden"),C(v)},O),F=(0,R.useRef)(!1);!function(e){let{immediate:t,container:n,direction:r,classes:i,onStart:a,onStop:o}=e,s=(0,rD.t)(),l=rM(),u=(0,rz.E)(r);(0,rF.e)(()=>{t&&(u.current="enter")},[t]),(0,rF.e)(()=>{let e=(0,rP.k)();l.add(e.dispose);let t=n.current;if(t&&"idle"!==u.current&&s.current){var r,c,d;let n,s,l,f,h,p,m;return e.dispose(),a.current(u.current),e.add((r=i.current,c="enter"===u.current,d=()=>{e.dispose(),o.current(u.current)},s=c?"enter":"leave",l=(0,rP.k)(),f=void 0!==d?(n={called:!1},function(){for(var e=arguments.length,t=Array(e),r=0;r{},"enter"===s&&(t.removeAttribute("hidden"),t.style.display=""),h=(0,rW.E)(s,{enter:()=>r.enter,leave:()=>r.leave}),p=(0,rW.E)(s,{enter:()=>r.enterTo,leave:()=>r.leaveTo}),m=(0,rW.E)(s,{enter:()=>r.enterFrom,leave:()=>r.leaveFrom}),rG(t,...r.base,...r.enter,...r.enterTo,...r.enterFrom,...r.leave,...r.leaveFrom,...r.leaveTo,...r.entered),rH(t,...r.base,...h,...m),l.nextFrame(()=>{rG(t,...r.base,...h,...m),rH(t,...r.base,...h,...p),function(e,t){let n=(0,rP.k)();if(!e)return n.dispose;let{transitionDuration:r,transitionDelay:i}=getComputedStyle(e),[a,o]=[r,i].map(e=>{let[t=0]=e.split(",").filter(Boolean).map(e=>e.includes("ms")?parseFloat(e):1e3*parseFloat(e)).sort((e,t)=>t-e);return t}),s=a+o;if(0!==s){n.group(n=>{n.setTimeout(()=>{t(),n.dispose()},s),n.addEventListener(e,"transitionrun",e=>{e.target===e.currentTarget&&n.dispose()})});let r=n.addEventListener(e,"transitionend",e=>{e.target===e.currentTarget&&(t(),r())})}else t();n.add(()=>t()),n.dispose}(t,()=>(rG(t,...r.base,...h),rH(t,...r.base,...r.entered),f()))}),l.dispose)),e.dispose}},[r])}({immediate:A,container:v,classes:S,direction:L,onStart:(0,rz.E)(e=>{F.current=!0,D.onStart(v,e,M)}),onStop:(0,rz.E)(e=>{F.current=!1,D.onStop(v,e,Z),"leave"!==e||r2(D)||(E("hidden"),C(v))})});let z=g;return A?z={...z,className:(0,rY.A)(g.className,...S.current.enter,...S.current.enterFrom)}:F.current&&(z.className=(0,rY.A)(g.className,null==(r=v.current)?void 0:r.className),""===z.className&&delete z.className),R.createElement(r1.Provider,{value:D},R.createElement(rK,{value:(0,rW.E)(j,{visible:rB.Open,hidden:rB.Closed})|P.flags},(0,rQ.sY)({ourProps:{ref:y},theirProps:z,defaultTag:"div",features:r7,visible:"visible"===j,name:"Transition.Child"})))}),ie=(0,rQ.yV)(function(e,t){let n=null!==(0,R.useContext)(rX),r=null!==rq();return R.createElement(R.Fragment,null,!n&&r?R.createElement(r9,{ref:t,...e}):R.createElement(r8,{ref:t,...e}))}),it=Object.assign(r9,{Child:ie,Root:r9});var ir=n(953);function ii(e,t){let[n,r]=(0,R.useState)(e),i=(0,rz.E)(e);return(0,rF.e)(()=>r(i.current),[i,r,...t]),n}var ia=n(4924),io=n(8657);function is(e,t,n){let r=(0,rz.E)(t);(0,R.useEffect)(()=>{function t(e){r.current(e)}return document.addEventListener(e,t,n),()=>document.removeEventListener(e,t,n)},[e,n])}function il(e,t){var n,r;let i,a=!(arguments.length>2)||void 0===arguments[2]||arguments[2],o=(0,R.useRef)(!1);function s(n,r){if(!o.current||n.defaultPrevented)return;let i=r(n);if(null!==i&&i.getRootNode().contains(i)&&i.isConnected){for(let t of function e(t){return"function"==typeof t?e(t()):Array.isArray(t)||t instanceof Set?t:[t]}(e)){if(null===t)continue;let e=t instanceof HTMLElement?t:t.current;if(null!=e&&e.contains(i)||n.composed&&n.composedPath().includes(e))return}return(0,io.sP)(i,io.tJ.Loose)||-1===i.tabIndex||n.preventDefault(),t(n,i)}}(0,R.useEffect)(()=>{requestAnimationFrame(()=>{o.current=a})},[a]);let l=(0,R.useRef)(null);is("pointerdown",e=>{var t,n;o.current&&(l.current=(null==(n=null==(t=e.composedPath)?void 0:t.call(e))?void 0:n[0])||e.target)},!0),is("mousedown",e=>{var t,n;o.current&&(l.current=(null==(n=null==(t=e.composedPath)?void 0:t.call(e))?void 0:n[0])||e.target)},!0),is("click",e=>{/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0||/Android/gi.test(window.navigator.userAgent)||l.current&&(s(e,()=>l.current),l.current=null)},!0),is("touchend",e=>s(e,()=>e.target instanceof HTMLElement?e.target:null),!0),n="blur",r=e=>s(e,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),i=(0,rz.E)(r),(0,R.useEffect)(()=>{function e(e){i.current(e)}return window.addEventListener(n,e,!0),()=>window.removeEventListener(n,e,!0)},[n,!0])}var iu=n(961);let ic=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function id(e){var t,n;let r=null!=(t=e.innerText)?t:"",i=e.cloneNode(!0);if(!(i instanceof HTMLElement))return r;let a=!1;for(let e of i.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))e.remove(),a=!0;let o=a?null!=(n=i.innerText)?n:"":r;return ic.test(o)&&(o=o.replace(ic,"")),o}function ih(e){let t=(0,R.useRef)(""),n=(0,R.useRef)("");return(0,rZ.z)(()=>{let r=e.current;if(!r)return"";let i=r.innerText;if(t.current===i)return n.current;let a=(function(e){let t=e.getAttribute("aria-label");if("string"==typeof t)return t.trim();let n=e.getAttribute("aria-labelledby");if(n){let e=n.split(" ").map(e=>{let t=document.getElementById(e);if(t){let e=t.getAttribute("aria-label");return"string"==typeof e?e.trim():id(t).trim()}return null}).filter(Boolean);if(e.length>0)return e.join(", ")}return id(e).trim()})(r).trim().toLowerCase();return t.current=i,n.current=a,a})}function ip(e){return[e.screenX,e.screenY]}function im(){let e=(0,R.useRef)([-1,-1]);return{wasMoved(t){let n=ip(t);return(e.current[0]!==n[0]||e.current[1]!==n[1])&&(e.current=n,!0)},update(t){e.current=ip(t)}}}var ix=n(7524);function ig(e){let t=e.parentElement,n=null;for(;t&&!(t instanceof HTMLFieldSetElement);)t instanceof HTMLLegendElement&&(n=t),t=t.parentElement;let r=(null==t?void 0:t.getAttribute("disabled"))==="";return!(r&&function(e){if(!e)return!1;let t=e.previousElementSibling;for(;null!==t;){if(t instanceof HTMLLegendElement)return!1;t=t.previousElementSibling}return!0}(n))&&r}var iv=((o=iv||{})[o.First=0]="First",o[o.Previous=1]="Previous",o[o.Next=2]="Next",o[o.Last=3]="Last",o[o.Specific=4]="Specific",o[o.Nothing=5]="Nothing",o);function iy(e,t){let n=t.resolveItems();if(n.length<=0)return null;let r=t.resolveActiveIndex(),i=null!=r?r:-1;switch(e.focus){case 0:for(let e=0;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 2:for(let e=i+1;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 4:for(let r=0;r1&&void 0!==arguments[1]?arguments[1]:e=>e,n=null!==e.activeOptionIndex?e.options[e.activeOptionIndex]:null,r=(0,io.z2)(t(e.options.slice()),e=>e.dataRef.current.domRef.current),i=n?r.indexOf(n):null;return -1===i&&(i=null),{options:r,activeOptionIndex:i}}let iC={1:e=>e.dataRef.current.disabled||1===e.listboxState?e:{...e,activeOptionIndex:null,listboxState:1},0(e){if(e.dataRef.current.disabled||0===e.listboxState)return e;let t=e.activeOptionIndex,{isSelected:n}=e.dataRef.current,r=e.options.findIndex(e=>n(e.dataRef.current.value));return -1!==r&&(t=r),{...e,listboxState:0,activeOptionIndex:t}},2(e,t){var n;if(e.dataRef.current.disabled||1===e.listboxState)return e;let r=iT(e),i=iy(t,{resolveItems:()=>r.options,resolveActiveIndex:()=>r.activeOptionIndex,resolveId:e=>e.id,resolveDisabled:e=>e.dataRef.current.disabled});return{...e,...r,searchQuery:"",activeOptionIndex:i,activationTrigger:null!=(n=t.trigger)?n:1}},3:(e,t)=>{if(e.dataRef.current.disabled||1===e.listboxState)return e;let n=""!==e.searchQuery?0:1,r=e.searchQuery+t.value.toLowerCase(),i=(null!==e.activeOptionIndex?e.options.slice(e.activeOptionIndex+n).concat(e.options.slice(0,e.activeOptionIndex+n)):e.options).find(e=>{var t;return!e.dataRef.current.disabled&&(null==(t=e.dataRef.current.textValue)?void 0:t.startsWith(r))}),a=i?e.options.indexOf(i):-1;return -1===a||a===e.activeOptionIndex?{...e,searchQuery:r}:{...e,searchQuery:r,activeOptionIndex:a,activationTrigger:1}},4:e=>e.dataRef.current.disabled||1===e.listboxState||""===e.searchQuery?e:{...e,searchQuery:""},5:(e,t)=>{let n={id:t.id,dataRef:t.dataRef},r=iT(e,e=>[...e,n]);return null===e.activeOptionIndex&&e.dataRef.current.isSelected(t.dataRef.current.value)&&(r.activeOptionIndex=r.options.indexOf(n)),{...e,...r}},6:(e,t)=>{let n=iT(e,e=>{let n=e.findIndex(e=>e.id===t.id);return -1!==n&&e.splice(n,1),e});return{...e,...n,activationTrigger:1}},7:(e,t)=>({...e,labelId:t.id})},iS=(0,R.createContext)(null);function iN(e){let t=(0,R.useContext)(iS);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,iN),t}return t}iS.displayName="ListboxActionsContext";let iR=(0,R.createContext)(null);function iI(e){let t=(0,R.useContext)(iR);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,iI),t}return t}function iA(e,t){return(0,rW.E)(t.type,iC,e,t)}iR.displayName="ListboxDataContext";let iL=R.Fragment,iP=rQ.AN.RenderStrategy|rQ.AN.Static,iM=Object.assign((0,rQ.yV)(function(e,t){let{value:n,defaultValue:r,form:i,name:a,onChange:o,by:s=(e,t)=>e===t,disabled:l=!1,horizontal:u=!1,multiple:c=!1,...d}=e,f=u?"horizontal":"vertical",h=(0,rU.T)(t),[p=c?[]:void 0,m]=function(e,t,n){let[r,i]=(0,R.useState)(n),a=void 0!==e,o=(0,R.useRef)(a),s=(0,R.useRef)(!1),l=(0,R.useRef)(!1);return!a||o.current||s.current?a||!o.current||l.current||(l.current=!0,o.current=a,console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")):(s.current=!0,o.current=a,console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")),[a?e:r,(0,rZ.z)(e=>(a||i(e),null==t?void 0:t(e)))]}(n,o,r),[x,g]=(0,R.useReducer)(iA,{dataRef:(0,R.createRef)(),listboxState:1,options:[],searchQuery:"",labelId:null,activeOptionIndex:null,activationTrigger:1}),v=(0,R.useRef)({static:!1,hold:!1}),y=(0,R.useRef)(null),b=(0,R.useRef)(null),w=(0,R.useRef)(null),k=(0,rZ.z)("string"==typeof s?(e,t)=>(null==e?void 0:e[s])===(null==t?void 0:t[s]):s),_=(0,R.useCallback)(e=>(0,rW.E)(j.mode,{1:()=>p.some(t=>k(t,e)),0:()=>k(p,e)}),[p]),j=(0,R.useMemo)(()=>({...x,value:p,disabled:l,mode:c?1:0,orientation:f,compare:k,isSelected:_,optionsPropsRef:v,labelRef:y,buttonRef:b,optionsRef:w}),[p,l,c,x]);(0,rF.e)(()=>{x.dataRef.current=j},[j]),il([j.buttonRef,j.optionsRef],(e,t)=>{var n;g({type:1}),(0,io.sP)(t,io.tJ.Loose)||(e.preventDefault(),null==(n=j.buttonRef.current)||n.focus())},0===j.listboxState);let E=(0,R.useMemo)(()=>({open:0===j.listboxState,disabled:l,value:p}),[j,l,p]),O=(0,rZ.z)(e=>{let t=j.options.find(t=>t.id===e);t&&L(t.dataRef.current.value)}),T=(0,rZ.z)(()=>{if(null!==j.activeOptionIndex){let{dataRef:e,id:t}=j.options[j.activeOptionIndex];L(e.current.value),g({type:2,focus:iv.Specific,id:t})}}),C=(0,rZ.z)(()=>g({type:0})),S=(0,rZ.z)(()=>g({type:1})),N=(0,rZ.z)((e,t,n)=>e===iv.Specific?g({type:2,focus:iv.Specific,id:t,trigger:n}):g({type:2,focus:e,trigger:n})),I=(0,rZ.z)((e,t)=>(g({type:5,id:e,dataRef:t}),()=>g({type:6,id:e}))),A=(0,rZ.z)(e=>(g({type:7,id:e}),()=>g({type:7,id:null}))),L=(0,rZ.z)(e=>(0,rW.E)(j.mode,{0:()=>null==m?void 0:m(e),1(){let t=j.value.slice(),n=t.findIndex(t=>k(t,e));return -1===n?t.push(e):t.splice(n,1),null==m?void 0:m(t)}})),P=(0,rZ.z)(e=>g({type:3,value:e})),M=(0,rZ.z)(()=>g({type:4})),Z=(0,R.useMemo)(()=>({onChange:L,registerOption:I,registerLabel:A,goToOption:N,closeListbox:S,openListbox:C,selectActiveOption:T,selectOption:O,search:P,clearSearch:M}),[]),D=(0,R.useRef)(null),F=rM();return(0,R.useEffect)(()=>{D.current&&void 0!==r&&F.addEventListener(D.current,"reset",()=>{null==m||m(r)})},[D,m]),R.createElement(iS.Provider,{value:Z},R.createElement(iR.Provider,{value:j},R.createElement(rK,{value:(0,rW.E)(j.listboxState,{0:rB.Open,1:rB.Closed})},null!=a&&null!=p&&(function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];for(let[i,a]of Object.entries(t))!function t(n,r,i){if(Array.isArray(i))for(let[e,a]of i.entries())t(n,ib(r,e.toString()),a);else i instanceof Date?n.push([r,i.toISOString()]):"boolean"==typeof i?n.push([r,i?"1":"0"]):"string"==typeof i?n.push([r,i]):"number"==typeof i?n.push([r,"".concat(i)]):null==i?n.push([r,""]):e(i,r,n)}(r,ib(n,i),a);return r})({[a]:p}).map((e,t)=>{let[n,r]=e;return R.createElement(ix._,{features:ix.A.Hidden,ref:0===t?e=>{var t;D.current=null!=(t=null==e?void 0:e.closest("form"))?t:null}:void 0,...(0,rQ.oA)({key:n,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:i,disabled:l,name:n,value:r})})}),(0,rQ.sY)({ourProps:{ref:h},theirProps:d,slot:E,defaultTag:iL,name:"Listbox"}))))}),{Button:(0,rQ.yV)(function(e,t){var n;let r=(0,ia.M)(),{id:i="headlessui-listbox-button-".concat(r),...a}=e,o=iI("Listbox.Button"),s=iN("Listbox.Button"),l=(0,rU.T)(o.buttonRef,t),u=rM(),c=(0,rZ.z)(e=>{switch(e.key){case ik.R.Space:case ik.R.Enter:case ik.R.ArrowDown:e.preventDefault(),s.openListbox(),u.nextFrame(()=>{o.value||s.goToOption(iv.First)});break;case ik.R.ArrowUp:e.preventDefault(),s.openListbox(),u.nextFrame(()=>{o.value||s.goToOption(iv.Last)})}}),d=(0,rZ.z)(e=>{e.key===ik.R.Space&&e.preventDefault()}),f=(0,rZ.z)(e=>{if(ig(e.currentTarget))return e.preventDefault();0===o.listboxState?(s.closeListbox(),u.nextFrame(()=>{var e;return null==(e=o.buttonRef.current)?void 0:e.focus({preventScroll:!0})})):(e.preventDefault(),s.openListbox())}),h=ii(()=>{if(o.labelId)return[o.labelId,i].join(" ")},[o.labelId,i]),p=(0,R.useMemo)(()=>({open:0===o.listboxState,disabled:o.disabled,value:o.value}),[o]),m={ref:l,id:i,type:(0,iu.f)(e,o.buttonRef),"aria-haspopup":"listbox","aria-controls":null==(n=o.optionsRef.current)?void 0:n.id,"aria-expanded":0===o.listboxState,"aria-labelledby":h,disabled:o.disabled,onKeyDown:c,onKeyUp:d,onClick:f};return(0,rQ.sY)({ourProps:m,theirProps:a,slot:p,defaultTag:"button",name:"Listbox.Button"})}),Label:(0,rQ.yV)(function(e,t){let n=(0,ia.M)(),{id:r="headlessui-listbox-label-".concat(n),...i}=e,a=iI("Listbox.Label"),o=iN("Listbox.Label"),s=(0,rU.T)(a.labelRef,t);(0,rF.e)(()=>o.registerLabel(r),[r]);let l=(0,rZ.z)(()=>{var e;return null==(e=a.buttonRef.current)?void 0:e.focus({preventScroll:!0})}),u=(0,R.useMemo)(()=>({open:0===a.listboxState,disabled:a.disabled}),[a]);return(0,rQ.sY)({ourProps:{ref:s,id:r,onClick:l},theirProps:i,slot:u,defaultTag:"label",name:"Listbox.Label"})}),Options:(0,rQ.yV)(function(e,t){var n;let r=(0,ia.M)(),{id:i="headlessui-listbox-options-".concat(r),...a}=e,o=iI("Listbox.Options"),s=iN("Listbox.Options"),l=(0,rU.T)(o.optionsRef,t),u=rM(),c=rM(),d=rq(),f=null!==d?(d&rB.Open)===rB.Open:0===o.listboxState;(0,R.useEffect)(()=>{var e;let t=o.optionsRef.current;t&&0===o.listboxState&&t!==(null==(e=(0,iw.r)(t))?void 0:e.activeElement)&&t.focus({preventScroll:!0})},[o.listboxState,o.optionsRef]);let h=(0,rZ.z)(e=>{switch(c.dispose(),e.key){case ik.R.Space:if(""!==o.searchQuery)return e.preventDefault(),e.stopPropagation(),s.search(e.key);case ik.R.Enter:if(e.preventDefault(),e.stopPropagation(),null!==o.activeOptionIndex){let{dataRef:e}=o.options[o.activeOptionIndex];s.onChange(e.current.value)}0===o.mode&&(s.closeListbox(),(0,rP.k)().nextFrame(()=>{var e;return null==(e=o.buttonRef.current)?void 0:e.focus({preventScroll:!0})}));break;case(0,rW.E)(o.orientation,{vertical:ik.R.ArrowDown,horizontal:ik.R.ArrowRight}):return e.preventDefault(),e.stopPropagation(),s.goToOption(iv.Next);case(0,rW.E)(o.orientation,{vertical:ik.R.ArrowUp,horizontal:ik.R.ArrowLeft}):return e.preventDefault(),e.stopPropagation(),s.goToOption(iv.Previous);case ik.R.Home:case ik.R.PageUp:return e.preventDefault(),e.stopPropagation(),s.goToOption(iv.First);case ik.R.End:case ik.R.PageDown:return e.preventDefault(),e.stopPropagation(),s.goToOption(iv.Last);case ik.R.Escape:return e.preventDefault(),e.stopPropagation(),s.closeListbox(),u.nextFrame(()=>{var e;return null==(e=o.buttonRef.current)?void 0:e.focus({preventScroll:!0})});case ik.R.Tab:e.preventDefault(),e.stopPropagation();break;default:1===e.key.length&&(s.search(e.key),c.setTimeout(()=>s.clearSearch(),350))}}),p=ii(()=>{var e;return null==(e=o.buttonRef.current)?void 0:e.id},[o.buttonRef.current]),m=(0,R.useMemo)(()=>({open:0===o.listboxState}),[o]),x={"aria-activedescendant":null===o.activeOptionIndex||null==(n=o.options[o.activeOptionIndex])?void 0:n.id,"aria-multiselectable":1===o.mode||void 0,"aria-labelledby":p,"aria-orientation":o.orientation,id:i,onKeyDown:h,role:"listbox",tabIndex:0,ref:l};return(0,rQ.sY)({ourProps:x,theirProps:a,slot:m,defaultTag:"ul",features:iP,visible:f,name:"Listbox.Options"})}),Option:(0,rQ.yV)(function(e,t){let n=(0,ia.M)(),{id:r="headlessui-listbox-option-".concat(n),disabled:i=!1,value:a,...o}=e,s=iI("Listbox.Option"),l=iN("Listbox.Option"),u=null!==s.activeOptionIndex&&s.options[s.activeOptionIndex].id===r,c=s.isSelected(a),d=(0,R.useRef)(null),f=ih(d),h=(0,rz.E)({disabled:i,value:a,domRef:d,get textValue(){return f()}}),p=(0,rU.T)(t,d);(0,rF.e)(()=>{if(0!==s.listboxState||!u||0===s.activationTrigger)return;let e=(0,rP.k)();return e.requestAnimationFrame(()=>{var e,t;null==(t=null==(e=d.current)?void 0:e.scrollIntoView)||t.call(e,{block:"nearest"})}),e.dispose},[d,u,s.listboxState,s.activationTrigger,s.activeOptionIndex]),(0,rF.e)(()=>l.registerOption(r,h),[h,r]);let m=(0,rZ.z)(e=>{if(i)return e.preventDefault();l.onChange(a),0===s.mode&&(l.closeListbox(),(0,rP.k)().nextFrame(()=>{var e;return null==(e=s.buttonRef.current)?void 0:e.focus({preventScroll:!0})}))}),x=(0,rZ.z)(()=>{if(i)return l.goToOption(iv.Nothing);l.goToOption(iv.Specific,r)}),g=im(),v=(0,rZ.z)(e=>g.update(e)),y=(0,rZ.z)(e=>{g.wasMoved(e)&&(i||u||l.goToOption(iv.Specific,r,0))}),b=(0,rZ.z)(e=>{g.wasMoved(e)&&(i||u&&l.goToOption(iv.Nothing))}),w=(0,R.useMemo)(()=>({active:u,selected:c,disabled:i}),[u,c,i]);return(0,rQ.sY)({ourProps:{id:r,ref:p,role:"option",tabIndex:!0===i?void 0:-1,"aria-disabled":!0===i||void 0,"aria-selected":c,disabled:void 0,onClick:m,onFocus:x,onPointerEnter:v,onMouseEnter:v,onPointerMove:y,onMouseMove:y,onPointerLeave:b,onMouseLeave:b},theirProps:o,slot:w,defaultTag:"li",name:"Listbox.Option"})})});var iZ=n(3935),iD=n(9008),iF=n.n(iD);function iz(){return(iz=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(i[n]=e[n]);return i}var iU=["keyOverride"],iW=["crossOrigin"],iH={templateTitle:"",noindex:!1,nofollow:!1,norobots:!1,defaultOpenGraphImageWidth:0,defaultOpenGraphImageHeight:0,defaultOpenGraphVideoWidth:0,defaultOpenGraphVideoHeight:0},iG=function(e,t,n){void 0===t&&(t=[]);var r=void 0===n?{}:n,i=r.defaultWidth,a=r.defaultHeight;return t.reduce(function(t,n,r){return t.push(R.createElement("meta",{key:"og:"+e+":0"+r,property:"og:"+e,content:n.url})),n.alt&&t.push(R.createElement("meta",{key:"og:"+e+":alt0"+r,property:"og:"+e+":alt",content:n.alt})),n.secureUrl&&t.push(R.createElement("meta",{key:"og:"+e+":secure_url0"+r,property:"og:"+e+":secure_url",content:n.secureUrl.toString()})),n.type&&t.push(R.createElement("meta",{key:"og:"+e+":type0"+r,property:"og:"+e+":type",content:n.type.toString()})),n.width?t.push(R.createElement("meta",{key:"og:"+e+":width0"+r,property:"og:"+e+":width",content:n.width.toString()})):i&&t.push(R.createElement("meta",{key:"og:"+e+":width0"+r,property:"og:"+e+":width",content:i.toString()})),n.height?t.push(R.createElement("meta",{key:"og:"+e+":height"+r,property:"og:"+e+":height",content:n.height.toString()})):a&&t.push(R.createElement("meta",{key:"og:"+e+":height"+r,property:"og:"+e+":height",content:a.toString()})),t},[])},iV=function(e){var t,n,r,i,a,o=[];e.titleTemplate&&(iH.templateTitle=e.titleTemplate);var s="";e.title?(s=e.title,iH.templateTitle&&(s=iH.templateTitle.replace(/%s/g,function(){return s}))):e.defaultTitle&&(s=e.defaultTitle),s&&o.push(R.createElement("title",{key:"title"},s));var l=void 0===e.noindex?iH.noindex||e.dangerouslySetAllPagesToNoIndex:e.noindex,u=void 0===e.nofollow?iH.nofollow||e.dangerouslySetAllPagesToNoFollow:e.nofollow,c=e.norobots||iH.norobots,d="";if(e.robotsProps){var f=e.robotsProps,h=f.nosnippet,p=f.maxSnippet,m=f.maxImagePreview,x=f.maxVideoPreview,g=f.noarchive,v=f.noimageindex,y=f.notranslate,b=f.unavailableAfter;d=(h?",nosnippet":"")+(p?",max-snippet:"+p:"")+(m?",max-image-preview:"+m:"")+(g?",noarchive":"")+(b?",unavailable_after:"+b:"")+(v?",noimageindex":"")+(x?",max-video-preview:"+x:"")+(y?",notranslate":"")}if(e.norobots&&(iH.norobots=!0),l||u?(e.dangerouslySetAllPagesToNoIndex&&(iH.noindex=!0),e.dangerouslySetAllPagesToNoFollow&&(iH.nofollow=!0),o.push(R.createElement("meta",{key:"robots",name:"robots",content:(l?"noindex":"index")+","+(u?"nofollow":"follow")+d}))):(!c||d)&&o.push(R.createElement("meta",{key:"robots",name:"robots",content:"index,follow"+d})),e.description&&o.push(R.createElement("meta",{key:"description",name:"description",content:e.description})),e.themeColor&&o.push(R.createElement("meta",{key:"theme-color",name:"theme-color",content:e.themeColor})),e.mobileAlternate&&o.push(R.createElement("link",{rel:"alternate",key:"mobileAlternate",media:e.mobileAlternate.media,href:e.mobileAlternate.href})),e.languageAlternates&&e.languageAlternates.length>0&&e.languageAlternates.forEach(function(e){o.push(R.createElement("link",{rel:"alternate",key:"languageAlternate-"+e.hrefLang,hrefLang:e.hrefLang,href:e.href}))}),e.twitter&&(e.twitter.cardType&&o.push(R.createElement("meta",{key:"twitter:card",name:"twitter:card",content:e.twitter.cardType})),e.twitter.site&&o.push(R.createElement("meta",{key:"twitter:site",name:"twitter:site",content:e.twitter.site})),e.twitter.handle&&o.push(R.createElement("meta",{key:"twitter:creator",name:"twitter:creator",content:e.twitter.handle}))),e.facebook&&e.facebook.appId&&o.push(R.createElement("meta",{key:"fb:app_id",property:"fb:app_id",content:e.facebook.appId})),(null!=(t=e.openGraph)&&t.title||s)&&o.push(R.createElement("meta",{key:"og:title",property:"og:title",content:(null==(i=e.openGraph)?void 0:i.title)||s})),(null!=(n=e.openGraph)&&n.description||e.description)&&o.push(R.createElement("meta",{key:"og:description",property:"og:description",content:(null==(a=e.openGraph)?void 0:a.description)||e.description})),e.openGraph){if((e.openGraph.url||e.canonical)&&o.push(R.createElement("meta",{key:"og:url",property:"og:url",content:e.openGraph.url||e.canonical})),e.openGraph.type){var w=e.openGraph.type.toLowerCase();o.push(R.createElement("meta",{key:"og:type",property:"og:type",content:w})),"profile"===w&&e.openGraph.profile?(e.openGraph.profile.firstName&&o.push(R.createElement("meta",{key:"profile:first_name",property:"profile:first_name",content:e.openGraph.profile.firstName})),e.openGraph.profile.lastName&&o.push(R.createElement("meta",{key:"profile:last_name",property:"profile:last_name",content:e.openGraph.profile.lastName})),e.openGraph.profile.username&&o.push(R.createElement("meta",{key:"profile:username",property:"profile:username",content:e.openGraph.profile.username})),e.openGraph.profile.gender&&o.push(R.createElement("meta",{key:"profile:gender",property:"profile:gender",content:e.openGraph.profile.gender}))):"book"===w&&e.openGraph.book?(e.openGraph.book.authors&&e.openGraph.book.authors.length&&e.openGraph.book.authors.forEach(function(e,t){o.push(R.createElement("meta",{key:"book:author:0"+t,property:"book:author",content:e}))}),e.openGraph.book.isbn&&o.push(R.createElement("meta",{key:"book:isbn",property:"book:isbn",content:e.openGraph.book.isbn})),e.openGraph.book.releaseDate&&o.push(R.createElement("meta",{key:"book:release_date",property:"book:release_date",content:e.openGraph.book.releaseDate})),e.openGraph.book.tags&&e.openGraph.book.tags.length&&e.openGraph.book.tags.forEach(function(e,t){o.push(R.createElement("meta",{key:"book:tag:0"+t,property:"book:tag",content:e}))})):"article"===w&&e.openGraph.article?(e.openGraph.article.publishedTime&&o.push(R.createElement("meta",{key:"article:published_time",property:"article:published_time",content:e.openGraph.article.publishedTime})),e.openGraph.article.modifiedTime&&o.push(R.createElement("meta",{key:"article:modified_time",property:"article:modified_time",content:e.openGraph.article.modifiedTime})),e.openGraph.article.expirationTime&&o.push(R.createElement("meta",{key:"article:expiration_time",property:"article:expiration_time",content:e.openGraph.article.expirationTime})),e.openGraph.article.authors&&e.openGraph.article.authors.length&&e.openGraph.article.authors.forEach(function(e,t){o.push(R.createElement("meta",{key:"article:author:0"+t,property:"article:author",content:e}))}),e.openGraph.article.section&&o.push(R.createElement("meta",{key:"article:section",property:"article:section",content:e.openGraph.article.section})),e.openGraph.article.tags&&e.openGraph.article.tags.length&&e.openGraph.article.tags.forEach(function(e,t){o.push(R.createElement("meta",{key:"article:tag:0"+t,property:"article:tag",content:e}))})):("video.movie"===w||"video.episode"===w||"video.tv_show"===w||"video.other"===w)&&e.openGraph.video&&(e.openGraph.video.actors&&e.openGraph.video.actors.length&&e.openGraph.video.actors.forEach(function(e,t){e.profile&&o.push(R.createElement("meta",{key:"video:actor:0"+t,property:"video:actor",content:e.profile})),e.role&&o.push(R.createElement("meta",{key:"video:actor:role:0"+t,property:"video:actor:role",content:e.role}))}),e.openGraph.video.directors&&e.openGraph.video.directors.length&&e.openGraph.video.directors.forEach(function(e,t){o.push(R.createElement("meta",{key:"video:director:0"+t,property:"video:director",content:e}))}),e.openGraph.video.writers&&e.openGraph.video.writers.length&&e.openGraph.video.writers.forEach(function(e,t){o.push(R.createElement("meta",{key:"video:writer:0"+t,property:"video:writer",content:e}))}),e.openGraph.video.duration&&o.push(R.createElement("meta",{key:"video:duration",property:"video:duration",content:e.openGraph.video.duration.toString()})),e.openGraph.video.releaseDate&&o.push(R.createElement("meta",{key:"video:release_date",property:"video:release_date",content:e.openGraph.video.releaseDate})),e.openGraph.video.tags&&e.openGraph.video.tags.length&&e.openGraph.video.tags.forEach(function(e,t){o.push(R.createElement("meta",{key:"video:tag:0"+t,property:"video:tag",content:e}))}),e.openGraph.video.series&&o.push(R.createElement("meta",{key:"video:series",property:"video:series",content:e.openGraph.video.series})))}e.defaultOpenGraphImageWidth&&(iH.defaultOpenGraphImageWidth=e.defaultOpenGraphImageWidth),e.defaultOpenGraphImageHeight&&(iH.defaultOpenGraphImageHeight=e.defaultOpenGraphImageHeight),e.openGraph.images&&e.openGraph.images.length&&o.push.apply(o,iG("image",e.openGraph.images,{defaultWidth:iH.defaultOpenGraphImageWidth,defaultHeight:iH.defaultOpenGraphImageHeight})),e.defaultOpenGraphVideoWidth&&(iH.defaultOpenGraphVideoWidth=e.defaultOpenGraphVideoWidth),e.defaultOpenGraphVideoHeight&&(iH.defaultOpenGraphVideoHeight=e.defaultOpenGraphVideoHeight),e.openGraph.videos&&e.openGraph.videos.length&&o.push.apply(o,iG("video",e.openGraph.videos,{defaultWidth:iH.defaultOpenGraphVideoWidth,defaultHeight:iH.defaultOpenGraphVideoHeight})),e.openGraph.audio&&o.push.apply(o,iG("audio",e.openGraph.audio)),e.openGraph.locale&&o.push(R.createElement("meta",{key:"og:locale",property:"og:locale",content:e.openGraph.locale})),(e.openGraph.siteName||e.openGraph.site_name)&&o.push(R.createElement("meta",{key:"og:site_name",property:"og:site_name",content:e.openGraph.siteName||e.openGraph.site_name}))}return e.canonical&&o.push(R.createElement("link",{rel:"canonical",href:e.canonical,key:"canonical"})),e.additionalMetaTags&&e.additionalMetaTags.length>0&&e.additionalMetaTags.forEach(function(e){var t,n,r=e.keyOverride,i=i$(e,iU);o.push(R.createElement("meta",iz({key:"meta:"+(null!=(t=null!=(n=null!=r?r:i.name)?n:i.property)?t:i.httpEquiv)},i)))}),null!=(r=e.additionalLinkTags)&&r.length&&e.additionalLinkTags.forEach(function(e){var t,n=e.crossOrigin,r=i$(e,iW);o.push(R.createElement("link",iz({key:"link"+(null!=(t=r.keyOverride)?t:r.href)+r.rel},r,{crossOrigin:"anonymous"===n||"use-credentials"===n||""===n?n:void 0})))}),o},iB=function(e){return R.createElement(iF(),null,iV(e))},iq=function(e){var t=e.title,n=e.themeColor,r=e.noindex,i=e.nofollow,a=e.robotsProps,o=e.description,s=e.canonical,l=e.openGraph,u=e.facebook,c=e.twitter,d=e.additionalMetaTags,f=e.titleTemplate,h=e.defaultTitle,p=e.mobileAlternate,m=e.languageAlternates,x=e.additionalLinkTags;return R.createElement(R.Fragment,null,R.createElement(iB,{title:t,themeColor:n,noindex:r,nofollow:i,robotsProps:a,description:o,canonical:s,facebook:u,openGraph:l,additionalMetaTags:d,twitter:c,titleTemplate:f,defaultTitle:h,mobileAlternate:p,languageAlternates:m,additionalLinkTags:x}))};RegExp("["+Object.keys(Object.freeze({"&":"&","<":"<",">":">",'"':""","'":"'"})).join("")+"]","g");var iK=((d=iK||{})[d.Open=0]="Open",d[d.Closed=1]="Closed",d),iY=((f=iY||{})[f.Pointer=0]="Pointer",f[f.Other=1]="Other",f),iQ=((h=iQ||{})[h.OpenMenu=0]="OpenMenu",h[h.CloseMenu=1]="CloseMenu",h[h.GoToItem=2]="GoToItem",h[h.Search=3]="Search",h[h.ClearSearch=4]="ClearSearch",h[h.RegisterItem=5]="RegisterItem",h[h.UnregisterItem=6]="UnregisterItem",h);function iJ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e,n=null!==e.activeItemIndex?e.items[e.activeItemIndex]:null,r=(0,io.z2)(t(e.items.slice()),e=>e.dataRef.current.domRef.current),i=n?r.indexOf(n):null;return -1===i&&(i=null),{items:r,activeItemIndex:i}}let iX={1:e=>1===e.menuState?e:{...e,activeItemIndex:null,menuState:1},0:e=>0===e.menuState?e:{...e,__demoMode:!1,menuState:0},2:(e,t)=>{var n;let r=iJ(e),i=iy(t,{resolveItems:()=>r.items,resolveActiveIndex:()=>r.activeItemIndex,resolveId:e=>e.id,resolveDisabled:e=>e.dataRef.current.disabled});return{...e,...r,searchQuery:"",activeItemIndex:i,activationTrigger:null!=(n=t.trigger)?n:1}},3:(e,t)=>{let n=""!==e.searchQuery?0:1,r=e.searchQuery+t.value.toLowerCase(),i=(null!==e.activeItemIndex?e.items.slice(e.activeItemIndex+n).concat(e.items.slice(0,e.activeItemIndex+n)):e.items).find(e=>{var t;return(null==(t=e.dataRef.current.textValue)?void 0:t.startsWith(r))&&!e.dataRef.current.disabled}),a=i?e.items.indexOf(i):-1;return -1===a||a===e.activeItemIndex?{...e,searchQuery:r}:{...e,searchQuery:r,activeItemIndex:a,activationTrigger:1}},4:e=>""===e.searchQuery?e:{...e,searchQuery:"",searchActiveItemIndex:null},5:(e,t)=>{let n=iJ(e,e=>[...e,{id:t.id,dataRef:t.dataRef}]);return{...e,...n}},6:(e,t)=>{let n=iJ(e,e=>{let n=e.findIndex(e=>e.id===t.id);return -1!==n&&e.splice(n,1),e});return{...e,...n,activationTrigger:1}}},i0=(0,R.createContext)(null);function i1(e){let t=(0,R.useContext)(i0);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,i1),t}return t}function i2(e,t){return(0,rW.E)(t.type,iX,e,t)}i0.displayName="MenuContext";let i4=R.Fragment,i5=rQ.AN.RenderStrategy|rQ.AN.Static,i3=R.Fragment,i6=Object.assign((0,rQ.yV)(function(e,t){let{__demoMode:n=!1,...r}=e,i=(0,R.useReducer)(i2,{__demoMode:n,menuState:n?0:1,buttonRef:(0,R.createRef)(),itemsRef:(0,R.createRef)(),items:[],searchQuery:"",activeItemIndex:null,activationTrigger:1}),[{menuState:a,itemsRef:o,buttonRef:s},l]=i,u=(0,rU.T)(t);il([s,o],(e,t)=>{var n;l({type:1}),(0,io.sP)(t,io.tJ.Loose)||(e.preventDefault(),null==(n=s.current)||n.focus())},0===a);let c=(0,rZ.z)(()=>{l({type:1})}),d=(0,R.useMemo)(()=>({open:0===a,close:c}),[a,c]);return R.createElement(i0.Provider,{value:i},R.createElement(rK,{value:(0,rW.E)(a,{0:rB.Open,1:rB.Closed})},(0,rQ.sY)({ourProps:{ref:u},theirProps:r,slot:d,defaultTag:i4,name:"Menu"})))}),{Button:(0,rQ.yV)(function(e,t){var n;let r=(0,ia.M)(),{id:i="headlessui-menu-button-".concat(r),...a}=e,[o,s]=i1("Menu.Button"),l=(0,rU.T)(o.buttonRef,t),u=rM(),c=(0,rZ.z)(e=>{switch(e.key){case ik.R.Space:case ik.R.Enter:case ik.R.ArrowDown:e.preventDefault(),e.stopPropagation(),s({type:0}),u.nextFrame(()=>s({type:2,focus:iv.First}));break;case ik.R.ArrowUp:e.preventDefault(),e.stopPropagation(),s({type:0}),u.nextFrame(()=>s({type:2,focus:iv.Last}))}}),d=(0,rZ.z)(e=>{e.key===ik.R.Space&&e.preventDefault()}),f=(0,rZ.z)(t=>{if(ig(t.currentTarget))return t.preventDefault();e.disabled||(0===o.menuState?(s({type:1}),u.nextFrame(()=>{var e;return null==(e=o.buttonRef.current)?void 0:e.focus({preventScroll:!0})})):(t.preventDefault(),s({type:0})))}),h=(0,R.useMemo)(()=>({open:0===o.menuState}),[o]),p={ref:l,id:i,type:(0,iu.f)(e,o.buttonRef),"aria-haspopup":"menu","aria-controls":null==(n=o.itemsRef.current)?void 0:n.id,"aria-expanded":0===o.menuState,onKeyDown:c,onKeyUp:d,onClick:f};return(0,rQ.sY)({ourProps:p,theirProps:a,slot:h,defaultTag:"button",name:"Menu.Button"})}),Items:(0,rQ.yV)(function(e,t){var n,r;let i=(0,ia.M)(),{id:a="headlessui-menu-items-".concat(i),...o}=e,[s,l]=i1("Menu.Items"),u=(0,rU.T)(s.itemsRef,t),c=function(){for(var e=arguments.length,t=Array(e),n=0;n(0,iw.r)(...t),[...t])}(s.itemsRef),d=rM(),f=rq(),h=null!==f?(f&rB.Open)===rB.Open:0===s.menuState;(0,R.useEffect)(()=>{let e=s.itemsRef.current;e&&0===s.menuState&&e!==(null==c?void 0:c.activeElement)&&e.focus({preventScroll:!0})},[s.menuState,s.itemsRef,c]),function(e){let{container:t,accept:n,walk:r,enabled:i=!0}=e,a=(0,R.useRef)(n),o=(0,R.useRef)(r);(0,R.useEffect)(()=>{a.current=n,o.current=r},[n,r]),(0,rF.e)(()=>{if(!t||!i)return;let e=(0,iw.r)(t);if(!e)return;let n=a.current,r=o.current,s=Object.assign(e=>n(e),{acceptNode:n}),l=e.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,s,!1);for(;l.nextNode();)r(l.currentNode)},[t,i,a,o])}({container:s.itemsRef.current,enabled:0===s.menuState,accept:e=>"menuitem"===e.getAttribute("role")?NodeFilter.FILTER_REJECT:e.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT,walk(e){e.setAttribute("role","none")}});let p=(0,rZ.z)(e=>{var t,n;switch(d.dispose(),e.key){case ik.R.Space:if(""!==s.searchQuery)return e.preventDefault(),e.stopPropagation(),l({type:3,value:e.key});case ik.R.Enter:if(e.preventDefault(),e.stopPropagation(),l({type:1}),null!==s.activeItemIndex){let{dataRef:e}=s.items[s.activeItemIndex];null==(n=null==(t=e.current)?void 0:t.domRef.current)||n.click()}(0,io.wI)(s.buttonRef.current);break;case ik.R.ArrowDown:return e.preventDefault(),e.stopPropagation(),l({type:2,focus:iv.Next});case ik.R.ArrowUp:return e.preventDefault(),e.stopPropagation(),l({type:2,focus:iv.Previous});case ik.R.Home:case ik.R.PageUp:return e.preventDefault(),e.stopPropagation(),l({type:2,focus:iv.First});case ik.R.End:case ik.R.PageDown:return e.preventDefault(),e.stopPropagation(),l({type:2,focus:iv.Last});case ik.R.Escape:e.preventDefault(),e.stopPropagation(),l({type:1}),(0,rP.k)().nextFrame(()=>{var e;return null==(e=s.buttonRef.current)?void 0:e.focus({preventScroll:!0})});break;case ik.R.Tab:e.preventDefault(),e.stopPropagation(),l({type:1}),(0,rP.k)().nextFrame(()=>{(0,io.EO)(s.buttonRef.current,e.shiftKey?io.TO.Previous:io.TO.Next)});break;default:1===e.key.length&&(l({type:3,value:e.key}),d.setTimeout(()=>l({type:4}),350))}}),m=(0,rZ.z)(e=>{e.key===ik.R.Space&&e.preventDefault()}),x=(0,R.useMemo)(()=>({open:0===s.menuState}),[s]),g={"aria-activedescendant":null===s.activeItemIndex||null==(n=s.items[s.activeItemIndex])?void 0:n.id,"aria-labelledby":null==(r=s.buttonRef.current)?void 0:r.id,id:a,onKeyDown:p,onKeyUp:m,role:"menu",tabIndex:0,ref:u};return(0,rQ.sY)({ourProps:g,theirProps:o,slot:x,defaultTag:"div",features:i5,visible:h,name:"Menu.Items"})}),Item:(0,rQ.yV)(function(e,t){let n=(0,ia.M)(),{id:r="headlessui-menu-item-".concat(n),disabled:i=!1,...a}=e,[o,s]=i1("Menu.Item"),l=null!==o.activeItemIndex&&o.items[o.activeItemIndex].id===r,u=(0,R.useRef)(null),c=(0,rU.T)(t,u);(0,rF.e)(()=>{if(o.__demoMode||0!==o.menuState||!l||0===o.activationTrigger)return;let e=(0,rP.k)();return e.requestAnimationFrame(()=>{var e,t;null==(t=null==(e=u.current)?void 0:e.scrollIntoView)||t.call(e,{block:"nearest"})}),e.dispose},[o.__demoMode,u,l,o.menuState,o.activationTrigger,o.activeItemIndex]);let d=ih(u),f=(0,R.useRef)({disabled:i,domRef:u,get textValue(){return d()}});(0,rF.e)(()=>{f.current.disabled=i},[f,i]),(0,rF.e)(()=>(s({type:5,id:r,dataRef:f}),()=>s({type:6,id:r})),[f,r]);let h=(0,rZ.z)(()=>{s({type:1})}),p=(0,rZ.z)(e=>{if(i)return e.preventDefault();s({type:1}),(0,io.wI)(o.buttonRef.current)}),m=(0,rZ.z)(()=>{if(i)return s({type:2,focus:iv.Nothing});s({type:2,focus:iv.Specific,id:r})}),x=im(),g=(0,rZ.z)(e=>x.update(e)),v=(0,rZ.z)(e=>{x.wasMoved(e)&&(i||l||s({type:2,focus:iv.Specific,id:r,trigger:0}))}),y=(0,rZ.z)(e=>{x.wasMoved(e)&&(i||l&&s({type:2,focus:iv.Nothing}))}),b=(0,R.useMemo)(()=>({active:l,disabled:i,close:h}),[l,i,h]);return(0,rQ.sY)({ourProps:{id:r,ref:c,role:"menuitem",tabIndex:!0===i?void 0:-1,"aria-disabled":!0===i||void 0,disabled:void 0,onClick:p,onFocus:m,onPointerEnter:g,onMouseEnter:g,onPointerMove:v,onMouseMove:v,onPointerLeave:y,onMouseLeave:y},theirProps:a,slot:b,defaultTag:i3,name:"Menu.Item"})})}),i7=e=>"object"==typeof e&&null!=e&&1===e.nodeType,i9=(e,t)=>(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e,i8=(e,t)=>{if(e.clientHeight{let t=(e=>{if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}})(e);return!!t&&(t.clientHeightat||a>e&&o=t&&s>=n?a-e-r:o>t&&sn?o-t+i:0,at=e=>{let t=e.parentElement;return null==t?e.getRootNode().host||null:t},an=(e,t)=>{var n,r,i,a;if("undefined"==typeof document)return[];let{scrollMode:o,block:s,inline:l,boundary:u,skipOverflowHiddenElements:c}=t,d="function"==typeof u?u:e=>e!==u;if(!i7(e))throw TypeError("Invalid target");let f=document.scrollingElement||document.documentElement,h=[],p=e;for(;i7(p)&&d(p);){if((p=at(p))===f){h.push(p);break}null!=p&&p===document.body&&i8(p)&&!i8(document.documentElement)||null!=p&&i8(p,c)&&h.push(p)}let m=null!=(r=null==(n=window.visualViewport)?void 0:n.width)?r:innerWidth,x=null!=(a=null==(i=window.visualViewport)?void 0:i.height)?a:innerHeight,{scrollX:g,scrollY:v}=window,{height:y,width:b,top:w,right:k,bottom:_,left:j}=e.getBoundingClientRect(),{top:E,right:O,bottom:T,left:C}=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e),S="start"===s||"nearest"===s?w-E:"end"===s?_+T:w+y/2-E+T,N="center"===l?j+b/2-C+O:"end"===l?k+O:j-C,R=[];for(let e=0;e=0&&j>=0&&_<=x&&k<=m&&w>=i&&_<=u&&j>=c&&k<=a)break;let d=getComputedStyle(t),p=parseInt(d.borderLeftWidth,10),E=parseInt(d.borderTopWidth,10),O=parseInt(d.borderRightWidth,10),T=parseInt(d.borderBottomWidth,10),C=0,I=0,A="offsetWidth"in t?t.offsetWidth-t.clientWidth-p-O:0,L="offsetHeight"in t?t.offsetHeight-t.clientHeight-E-T:0,P="offsetWidth"in t?0===t.offsetWidth?0:r/t.offsetWidth:0,M="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(f===t)C="start"===s?S:"end"===s?S-x:"nearest"===s?ae(v,v+x,x,E,T,v+S,v+S+y,y):S-x/2,I="start"===l?N:"center"===l?N-m/2:"end"===l?N-m:ae(g,g+m,m,p,O,g+N,g+N+b,b),C=Math.max(0,C+v),I=Math.max(0,I+g);else{C="start"===s?S-i-E:"end"===s?S-u+T+L:"nearest"===s?ae(i,u,n,E,T+L,S,S+y,y):S-(i+n/2)+L/2,I="start"===l?N-c-p:"center"===l?N-(c+r/2)+A/2:"end"===l?N-a+O+A:ae(c,a,r,p,O+A,N,N+b,b);let{scrollLeft:e,scrollTop:o}=t;C=0===M?0:Math.max(0,Math.min(o+C/M,t.scrollHeight-n/M+L)),I=0===P?0:Math.max(0,Math.min(e+I/P,t.scrollWidth-r/P+A)),S+=o-C,N+=e-I}R.push({el:t,top:C,left:I})}return R},ar=e=>!1===e?{block:"end",inline:"nearest"}:e===Object(e)&&0!==Object.keys(e).length?e:{block:"start",inline:"nearest"};function ai(e,t){if(!e.isConnected||!(e=>{let t=e;for(;t&&t.parentNode;){if(t.parentNode===document)return!0;t=t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentNode}return!1})(e))return;let n=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);if("object"==typeof t&&"function"==typeof t.behavior)return t.behavior(an(e,t));let r="boolean"==typeof t||null==t?void 0:t.behavior;for(let{el:i,top:a,left:o}of an(e,ar(t))){let e=a-n.top+n.bottom,t=o-n.left+n.right;i.scroll({top:e,left:t,behavior:r})}}var aa=n(6826),ao=n.n(aa);/** + * @name match-sorter + * @license MIT license. + * @copyright (c) 2020 Kent C. Dodds + * @author Kent C. Dodds (https://kentcdodds.com) + */let as={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},al=(e,t)=>String(e.rankedValue).localeCompare(String(t.rankedValue));function au(e,t,n){void 0===n&&(n={});let{keys:r,threshold:i=as.MATCHES,baseSort:a=al,sorter:o=e=>e.sort((e,t)=>(function(e,t,n){let{rank:r,keyIndex:i}=e,{rank:a,keyIndex:o}=t;return r!==a?r>a?-1:1:i===o?n(e,t):i{let{rank:i,rankedValue:a,keyIndex:o,keyThreshold:l}=e,{itemValue:u,attributes:c}=n,d=ac(u,t,s),f=a,{minRanking:h,maxRanking:p,threshold:m}=c;return d=as.MATCHES?d=h:d>p&&(d=p),d>i&&(i=d,o=r,l=m,f=u),{rankedValue:f,rank:i,keyIndex:o,keyThreshold:l}},{rankedValue:a,rank:as.NO_MATCH,keyIndex:-1,keyThreshold:s.threshold}):{rankedValue:a,rank:ac(a,t,s),keyIndex:-1,keyThreshold:s.threshold}),{rank:u,keyThreshold:c=i}=l;return u>=c&&e.push({...l,item:a,index:o}),e},[])).map(e=>{let{item:t}=e;return t})}function ac(e,t,n){let r;return(e=ad(e,n),(t=ad(t,n)).length>e.length)?as.NO_MATCH:e===t?as.CASE_SENSITIVE_EQUAL:(e=e.toLowerCase())===(t=t.toLowerCase())?as.EQUAL:e.startsWith(t)?as.STARTS_WITH:e.includes(` ${t}`)?as.WORD_STARTS_WITH:e.includes(t)?as.CONTAINS:1===t.length?as.NO_MATCH:(r="",e.split(" ").forEach(e=>{e.split("-").forEach(e=>{r+=e.substr(0,1)})}),r).includes(t)?as.ACRONYM:function(e,t){let n=0,r=0;function i(e,t,r){for(let i=r,a=t.length;i-1))return as.NO_MATCH;return function(e){let r=n/t.length;return as.MATCHES+1/e*r}(r-a)}(e,t)}function ad(e,t){let{keepDiacritics:n}=t;return e=`${e}`,n||(e=ao()(e)),e}au.rankings=as;let af={maxRanking:1/0,minRanking:-1/0};var ah=n(2154),ap=Object.defineProperty,am=Object.defineProperties,ax=Object.getOwnPropertyDescriptors,ag=Object.getOwnPropertySymbols,av=Object.prototype.hasOwnProperty,ay=Object.prototype.propertyIsEnumerable,ab=(e,t,n)=>t in e?ap(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,aw=(e,t)=>{for(var n in t||(t={}))av.call(t,n)&&ab(e,n,t[n]);if(ag)for(var n of ag(t))ay.call(t,n)&&ab(e,n,t[n]);return e},ak=(e,t)=>am(e,ax(t)),a_=(e,t)=>{var n={};for(var r in e)av.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&ag)for(var r of ag(e))0>t.indexOf(r)&&ay.call(e,r)&&(n[r]=e[r]);return n},aj=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),aE=(0,R.createContext)({}),aO=(0,R.createContext)(e=>e),aT=(0,R.createContext)(null),aC=new WeakMap,aS=(0,R.createContext)(aC),aN=()=>(0,R.useContext)(aE),aR=()=>(0,R.useContext)(aO),aI=()=>(0,R.useContext)(aT),aA=()=>(0,R.useContext)(aS),aL=({children:e})=>{let[t,n]=(0,R.useState)({}),r=(0,R.useRef)(null);return oj&&!r.current&&(r.current=new IntersectionObserver(e=>{n(t=>{let n=aw({},t);for(let t of e)if((null==t?void 0:t.rootBounds)&&aC.has(t.target)){let[e,r]=aC.get(t.target),i=t.boundingClientRect.y+t.boundingClientRect.height<=t.rootBounds.y+t.rootBounds.height,a=t.intersectionRatio>0;n[e]={index:r,aboveHalfViewport:i,insideHalfViewport:a}}let r="",i=1/0,a=-1;for(let e in n)n[e].isActive=!1,n[e].insideHalfViewport&&n[e].indexa&&(a=n[e].index,r=e);return n[r]&&(n[r].isActive=!0),n})},{rootMargin:"0px 0px -50%",threshold:[0,1]})),(0,tP.jsx)(aE.Provider,{value:t,children:(0,tP.jsx)(aO.Provider,{value:n,children:(0,tP.jsx)(aS.Provider,{value:aC,children:(0,tP.jsx)(aT.Provider,{value:r.current,children:e})})})})},aP=(0,R.createContext)({menu:!1,setMenu:()=>!1}),aM=()=>(0,R.useContext)(aP),aZ=aP.Provider,aD=(0,R.createContext)(aw({title:"",frontMatter:{}},oR));function aF(){return(0,R.useContext)(aD)}var az=({children:e,value:{themeConfig:t,pageOpts:n}})=>{let[r,i]=(0,R.useState)(!1);S||(S=aw(aw({},oR),Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t&&"object"==typeof t&&oI.includes(e)?aw(aw({},oR[e]),t):t]))));let a=ak(aw(ak(aw({},S),{flexsearch:n.flexsearch}),"boolean"==typeof n.newNextLinkBehavior&&{newNextLinkBehavior:n.newNextLinkBehavior}),{title:n.title,frontMatter:n.frontMatter}),{nextThemes:o}=a;return(0,tP.jsx)(tU,{attribute:"class",disableTransitionOnChange:!0,defaultTheme:o.defaultTheme,storageKey:o.storageKey,forcedTheme:o.forcedTheme,children:(0,tP.jsx)(aD.Provider,{value:a,children:(0,tP.jsx)(aZ,{value:{menu:r,setMenu:i},children:e})})})},a$=(0,R.createContext)(e=>e),aU=()=>(0,R.useContext)(a$),aW=a$.Provider,aH=Number("14.2.4".split(".")[0]),aG=(0,R.forwardRef)(function(e,t){var{href:n="",children:r,newWindow:i}=e,a=a_(e,["href","children","newWindow"]);let o=aF();return i?(0,tP.jsxs)("a",ak(aw({ref:t,href:n,target:"_blank",rel:"noreferrer"},a),{children:[r,(0,tP.jsx)("span",{className:"nx-sr-only nx-select-none",children:" (opens in a new tab)"})]})):n?aH>12||o.newNextLinkBehavior?(0,tP.jsx)(tL(),ak(aw({ref:t,href:n},a),{children:r})):(0,tP.jsx)(tL(),{href:n,passHref:!0,children:(0,tP.jsx)("a",ak(aw({ref:t},a),{children:r}))}):(0,tP.jsx)("a",ak(aw({ref:t},a),{children:r}))});aG.displayName="Anchor";var aV=({repository:e="",title:t,labels:n})=>{let r=t5()(e);if(!r)throw Error("Invalid `docsRepositoryBase` URL!");return r.resource.includes("gitlab")?`${r.protocol}://${r.resource}/${r.owner}/${r.name}/-/issues/new?issue[title]=${encodeURIComponent(t)}${n?`&issue[description]=/label${encodeURIComponent(` ~${n} +`)}`:""}`:r.resource.includes("github")?`${r.protocol}://${r.resource}/${r.owner}/${r.name}/issues/new?title=${encodeURIComponent(t)}&labels=${n||""}`:"#"};function aB(e,t){return e?"function"!=typeof e?e:(0,tP.jsx)(e,aw({},t)):null}function aq(e,t={}){return("function"==typeof e?e(t):e)||""}function aK(){let{banner:e}=aF();if(!e.text)return null;let t=`try{if(localStorage.getItem(${JSON.stringify(e.key)})==='0'){document.body.classList.add('nextra-banner-hidden')}}catch(e){}`;return(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)("script",{dangerouslySetInnerHTML:{__html:t}}),(0,tP.jsxs)("div",{className:(0,I.Z)("nextra-banner-container nx-sticky nx-top-0 nx-z-20 nx-flex nx-items-center md:nx-relative","nx-h-[var(--nextra-banner-height)] [body.nextra-banner-hidden_&]:nx-hidden","nx-text-slate-50 dark:nx-text-white nx-bg-neutral-900 dark:nx-bg-[linear-gradient(1deg,#383838,#212121)]","nx-px-2 ltr:nx-pl-10 rtl:nx-pr-10 print:nx-hidden"),children:[(0,tP.jsx)("div",{className:"nx-w-full nx-truncate nx-px-4 nx-text-center nx-font-medium nx-text-sm",children:aB(e.text)}),e.dismissible&&(0,tP.jsx)("button",{type:"button","aria-label":"Dismiss banner",className:"nx-w-8 nx-h-8 nx-opacity-80 hover:nx-opacity-100",onClick:()=>{try{localStorage.setItem(e.key,"0")}catch(e){}document.body.classList.add("nextra-banner-hidden")},children:(0,tP.jsx)(Z.b0,{className:"nx-mx-auto nx-h-4 nx-w-4"})})]})]})}function aY({activePath:e}){return(0,tP.jsx)("div",{className:"nextra-breadcrumb nx-mt-1.5 nx-flex nx-items-center nx-gap-1 nx-overflow-hidden nx-text-sm nx-text-gray-500 dark:nx-text-gray-400 contrast-more:nx-text-current",children:e.map((t,n)=>{let r=!t.children||t.withIndexPage,i=n===e.length-1;return(0,tP.jsxs)(R.Fragment,{children:[n>0&&(0,tP.jsx)(Z.LZ,{className:"nx-w-3.5 nx-shrink-0"}),(0,tP.jsx)("div",{className:(0,I.Z)("nx-whitespace-nowrap nx-transition-colors",i?"nx-font-medium nx-text-gray-700 contrast-more:nx-font-bold contrast-more:nx-text-current dark:nx-text-gray-100 contrast-more:dark:nx-text-current":["nx-min-w-[24px] nx-overflow-hidden nx-text-ellipsis",r&&"hover:nx-text-gray-900 dark:hover:nx-text-gray-100"]),title:t.title,children:r&&!i?(0,tP.jsx)(aG,{href:t.route,children:t.title}):t.title})]},t.route+t.name)})})}function aQ({children:e,className:t,isOpen:n,horizontal:r=!1}){let i=(0,R.useRef)(null),a=(0,R.useRef)(null),o=(0,R.useRef)(0),s=(0,R.useRef)(n),l=(0,R.useRef)(!0);return(0,R.useEffect)(()=>{let e=i.current,t=a.current,s=o.current;s&&clearTimeout(s),!l.current&&e&&t&&(e.classList.toggle("nx-duration-500",!n),e.classList.toggle("nx-duration-300",n),r?(t.style.width=`${t.clientWidth}px`,e.style.width=`${t.clientWidth}px`):e.style.height=`${t.clientHeight}px`,n?o.current=window.setTimeout(()=>{e.style.removeProperty("height")},300):setTimeout(()=>{r?e.style.width="0px":e.style.height="0px"},0))},[r,n]),(0,R.useEffect)(()=>{l.current=!1},[]),(0,tP.jsx)("div",{ref:i,className:"nx-transform-gpu nx-overflow-hidden nx-transition-all nx-ease-in-out motion-reduce:nx-transition-none",style:s.current||r?void 0:{height:0},children:(0,tP.jsx)("div",{ref:a,className:(0,I.Z)("nx-transition-opacity nx-duration-500 nx-ease-in-out motion-reduce:nx-transition-none",n?"nx-opacity-100":"nx-opacity-0",t),children:e})})}var aJ=(0,R.memo)(function({value:e,match:t}){let n;if(!e)return null;let r=e.split(""),i=RegExp((function(e){if("string"!=typeof e)throw TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")})(t.trim()).replaceAll(/\s+/g,"|"),"ig"),a=0,o=[];for(;n=i.exec(e);)if(n.index===i.lastIndex)i.lastIndex++;else{let e=r.splice(0,n.index-a).join(""),t=r.splice(0,i.lastIndex-n.index).join("");o.push(e,(0,tP.jsx)("span",{className:"nx-text-primary-600",children:t},n.index)),a=i.lastIndex}return(0,tP.jsxs)(tP.Fragment,{children:[o,r.join("")]})}),aX=(0,R.forwardRef)((e,t)=>{var{className:n,suffix:r}=e,i=a_(e,["className","suffix"]);return(0,tP.jsxs)("div",{className:"nx-relative nx-flex nx-items-center nx-text-gray-900 contrast-more:nx-text-gray-800 dark:nx-text-gray-300 contrast-more:dark:nx-text-gray-300",children:[(0,tP.jsx)("input",aw({ref:t,spellCheck:!1,className:(0,I.Z)(n,"nx-block nx-w-full nx-appearance-none nx-rounded-lg nx-px-3 nx-py-2 nx-transition-colors","nx-text-base nx-leading-tight md:nx-text-sm","nx-bg-black/[.05] dark:nx-bg-gray-50/10","focus:nx-bg-white dark:focus:nx-bg-dark","placeholder:nx-text-gray-500 dark:placeholder:nx-text-gray-400","contrast-more:nx-border contrast-more:nx-border-current")},i)),r]})});aX.displayName="Input";var a0=["input","select","button","textarea"];function a1({className:e,overlayClassName:t,value:n,onChange:r,onActive:i,loading:a,error:o,results:s}){let[l,u]=(0,R.useState)(!1),c=aF(),[d,f]=(0,R.useState)(0),h=(0,N.useRouter)(),{setMenu:p}=aM(),m=(0,R.useRef)(null),x=(0,R.useRef)(null),[g,v]=(0,R.useState)(!1),[y,b]=(0,R.useState)(!0);(0,R.useEffect)(()=>{f(0)},[n]),(0,R.useEffect)(()=>{let e=e=>{let t=document.activeElement,n=null==t?void 0:t.tagName.toLowerCase();!m.current||!n||a0.includes(n)||null!=t&&t.isContentEditable||("/"===e.key||"k"===e.key&&(e.metaKey||e.ctrlKey)?(e.preventDefault(),m.current.focus({preventScroll:!0})):"Escape"===e.key&&(u(!1),m.current.blur()))};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[]);let w=(0,R.useCallback)(()=>{var e;null==(e=m.current)||e.blur(),r(""),u(!1),p(!1)},[r,p]),k=(0,R.useCallback)(e=>{let{index:t}=e.currentTarget.dataset;f(Number(t))},[]),_=(0,R.useCallback)(function(e){var t,n,r;switch(e.key){case"ArrowDown":if(d+1 a`);n&&(e.preventDefault(),k({currentTarget:n}),n.focus())}break;case"ArrowUp":if(d-1>=0){let t=null==(n=x.current)?void 0:n.querySelector(`li:nth-of-type(${d}) > a`);t&&(e.preventDefault(),k({currentTarget:t}),t.focus())}break;case"Enter":{let e=s[d];e&&y&&(h.push(e.route),w());break}case"Escape":u(!1),null==(r=m.current)||r.blur()}},[d,s,h,w,k,y]),j=A(),E=l&&!!n,O=(0,tP.jsx)(it,{show:j&&(!l||!!n),as:R.Fragment,enter:"nx-transition-opacity",enterFrom:"nx-opacity-0",enterTo:"nx-opacity-100",leave:"nx-transition-opacity",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:(0,tP.jsx)("kbd",{className:(0,I.Z)("nx-absolute nx-my-1.5 nx-select-none ltr:nx-right-1.5 rtl:nx-left-1.5","nx-h-5 nx-rounded nx-bg-white nx-px-1.5 nx-font-mono nx-text-[10px] nx-font-medium nx-text-gray-500","nx-border dark:nx-border-gray-100/20 dark:nx-bg-dark/50","contrast-more:nx-border-current contrast-more:nx-text-current contrast-more:dark:nx-border-current","nx-items-center nx-gap-1 nx-transition-opacity",n?"nx-z-20 nx-flex nx-cursor-pointer hover:nx-opacity-70":"nx-pointer-events-none nx-hidden sm:nx-flex"),title:n?"Clear":void 0,onClick:()=>{r("")},children:n&&g?"ESC":j&&(navigator.userAgent.includes("Macintosh")?(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)("span",{className:"nx-text-xs",children:"⌘"}),"K"]}):"CTRL K")})}),T=(0,R.useCallback)(e=>{b("compositionend"===e.type)},[]);return(0,tP.jsxs)("div",{className:(0,I.Z)("nextra-search nx-relative md:nx-w-64",e),children:[E&&(0,tP.jsx)("div",{className:"nx-fixed nx-inset-0 nx-z-10",onClick:()=>u(!1)}),(0,tP.jsx)(aX,{ref:m,value:n,onChange:e=>{let{value:t}=e.target;r(t),u(!!t)},onFocus:()=>{null==i||i(!0),v(!0)},onBlur:()=>{v(!1)},onCompositionStart:T,onCompositionEnd:T,type:"search",placeholder:aq(c.search.placeholder),onKeyDown:_,suffix:O}),(0,tP.jsx)(it,{show:E,as:it.Child,leave:"nx-transition-opacity nx-duration-100",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:(0,tP.jsx)("ul",{className:(0,I.Z)("nextra-scrollbar","nx-border nx-border-gray-200 nx-bg-white nx-text-gray-100 dark:nx-border-neutral-800 dark:nx-bg-neutral-900","nx-absolute nx-top-full nx-z-20 nx-mt-2 nx-overflow-auto nx-overscroll-contain nx-rounded-xl nx-py-2.5 nx-shadow-xl","nx-max-h-[min(calc(50vh-11rem-env(safe-area-inset-bottom)),400px)]","md:nx-max-h-[min(calc(100vh-5rem-env(safe-area-inset-bottom)),400px)]","nx-inset-x-0 ltr:md:nx-left-auto rtl:md:nx-right-auto","contrast-more:nx-border contrast-more:nx-border-gray-900 contrast-more:dark:nx-border-gray-50",t),ref:x,style:{transition:"max-height .2s ease"},children:o?(0,tP.jsxs)("span",{className:"nx-flex nx-select-none nx-justify-center nx-gap-2 nx-p-8 nx-text-center nx-text-sm nx-text-red-500",children:[(0,tP.jsx)(Z.AV,{className:"nx-h-5 nx-w-5"}),aq(c.search.error)]}):a?(0,tP.jsxs)("span",{className:"nx-flex nx-select-none nx-justify-center nx-gap-2 nx-p-8 nx-text-center nx-text-sm nx-text-gray-400",children:[(0,tP.jsx)(Z.L4,{className:"nx-h-5 nx-w-5 nx-animate-spin"}),aB(c.search.loading)]}):s.length>0?s.map(({route:e,prefix:t,children:n,id:r},i)=>(0,tP.jsxs)(R.Fragment,{children:[t,(0,tP.jsx)("li",{className:(0,I.Z)("nx-mx-2.5 nx-break-words nx-rounded-md","contrast-more:nx-border",i===d?"nx-bg-primary-500/10 nx-text-primary-600 contrast-more:nx-border-primary-500":"nx-text-gray-800 contrast-more:nx-border-transparent dark:nx-text-gray-300"),children:(0,tP.jsx)(aG,{className:"nx-block nx-scroll-m-12 nx-px-2.5 nx-py-2",href:e,"data-index":i,onFocus:k,onMouseMove:k,onClick:w,onKeyDown:_,children:n})})]},r)):aB(c.search.emptyResult)})})]})}var a2={},a4=new Map,a5=(e,t)=>{let n=e+"@"+t;if(a4.has(n))return a4.get(n);let r=a3(e,t);return a4.set(n,r),r},a3=(e,t)=>aj(void 0,null,function*(){let n=yield fetch(`${e}/_next/static/chunks/nextra-data-${t}.json`),r=yield n.json(),i=new rk({cache:100,tokenize:"full",document:{id:"id",index:"content",store:["title"]},context:{resolution:9,depth:2,bidirectional:!0}}),a=new rk({cache:100,tokenize:"full",document:{id:"id",index:"content",tag:"pageId",store:["title","content","url","display"]},context:{resolution:9,depth:2,bidirectional:!0}}),o=0;for(let[e,t]of Object.entries(r)){let n="";for(let[r,i]of(++o,Object.entries(t.data))){let[s,l]=r.split("#"),u=e+(s?"#"+s:""),c=l||t.title,d=i.split("\n");a.add(aw({id:u,url:u,title:c,pageId:`page_${o}`,content:c},d[0]&&{display:d[0]}));for(let e=0;e{var n,r;if(!e)return;let[i,a]=a2[t],o=(null==(n=i.search(e,5,{enrich:!0,suggest:!0})[0])?void 0:n.result)||[],s=[],u={};for(let t=0;te._page_rk===t._page_rk?e._section_rk-t._section_rk:u[e._page_rk]!==u[t._page_rk]?u[t._page_rk]-u[e._page_rk]:e._page_rk-t._page_rk).map(e=>({id:`${e._page_rk}_${e._section_rk}`,route:e.route,prefix:e.prefix,children:e.children})))},f=(0,R.useCallback)(e=>aj(this,null,function*(){if(e&&!a2[t]){i(!0);try{yield a5(n,t)}catch(e){o(!0)}i(!1)}}),[t,n]);return(0,tP.jsx)(a1,{loading:r,error:a,value:u,onChange:e=>aj(this,null,function*(){if(c(e),!r){if(!a2[t]){i(!0);try{yield a5(n,t)}catch(e){o(!0)}i(!1)}d(e)}}),onActive:f,className:e,overlayClassName:"nx-w-screen nx-min-h-[100px] nx-max-w-[min(calc(100vw-2rem),calc(100%+20rem))]",results:s})}function a7({options:e,selected:t,onChange:n,title:r,className:i}){let[a,o]=function(e){let t=(0,R.useRef)(null),n=(0,R.useRef)(null),r=(0,R.useRef)(),i=(0,R.useCallback)(()=>{var i;t.current&&n.current&&(null==(i=r.current)||i.call(r),r.current=nY(t.current,n.current,e).destroy)},[t,n,r,e]);return(0,R.useMemo)(()=>[e=>{t.current=e,i()},e=>{n.current=e,i()}],[t,n,i])}({strategy:"fixed",placement:"top-start",modifiers:[{name:"offset",options:{offset:[0,10]}},{name:"sameWidth",enabled:!0,fn({state:e}){e.styles.popper.minWidth=`${e.rects.reference.width}px`},phase:"beforeWrite",requires:["computeStyles"]}]});return(0,tP.jsx)(iM,{value:t,onChange:n,children:({open:n})=>(0,tP.jsxs)(iM.Button,{ref:a,title:r,className:(0,I.Z)("nx-h-7 nx-rounded-md nx-px-2 nx-text-left nx-text-xs nx-font-medium nx-text-gray-600 nx-transition-colors dark:nx-text-gray-400",n?"nx-bg-gray-200 nx-text-gray-900 dark:nx-bg-primary-100/10 dark:nx-text-gray-50":"hover:nx-bg-gray-100 hover:nx-text-gray-900 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50",i),children:[t.name,(0,tP.jsx)(a9,{children:(0,tP.jsx)(it,{ref:o,show:n,as:iM.Options,className:"nx-z-20 nx-max-h-64 nx-overflow-auto nx-rounded-md nx-ring-1 nx-ring-black/5 nx-bg-white nx-py-1 nx-text-sm nx-shadow-lg dark:nx-ring-white/20 dark:nx-bg-neutral-800",leave:"nx-transition-opacity",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:e.map(e=>(0,tP.jsxs)(iM.Option,{value:e,className:({active:e})=>(0,I.Z)(e?"nx-bg-primary-50 nx-text-primary-600 dark:nx-bg-primary-500/10":"nx-text-gray-800 dark:nx-text-gray-100","nx-relative nx-cursor-pointer nx-whitespace-nowrap nx-py-1.5","nx-transition-colors ltr:nx-pl-3 ltr:nx-pr-9 rtl:nx-pr-3 rtl:nx-pl-9"),children:[e.name,e.key===t.key&&(0,tP.jsx)("span",{className:"nx-absolute nx-inset-y-0 nx-flex nx-items-center ltr:nx-right-3 rtl:nx-left-3",children:(0,tP.jsx)(Z.nQ,{})})]},e.key))})})]})})}function a9(e){return A()?(0,iZ.createPortal)(e.children,document.body):null}function a8({lite:e,className:t}){let n=aF(),{locale:r,asPath:i}=(0,N.useRouter)(),a=n.i18n;if(!a.length)return null;let o=a.find(e=>r===e.locale);return(0,tP.jsx)(a7,{title:"Change language",className:t,onChange:e=>{let t=new Date(Date.now()+31536e6);document.cookie=`NEXT_LOCALE=${e.key}; expires=${t.toUTCString()}; path=/`,location.href=(0,ir.addBasePath)(i)},selected:{key:(null==o?void 0:o.locale)||"",name:(0,tP.jsxs)("span",{className:"nx-flex nx-items-center nx-gap-2",children:[(0,tP.jsx)(Z.n9,{}),(0,tP.jsx)("span",{className:e?"nx-hidden":"",children:null==o?void 0:o.text})]})},options:a.map(e=>({key:e.locale,name:e.text}))})}function oe(){var e;let t=aF(),{resolvedTheme:n}=t$(),r=A(),i="function"==typeof t.head?t.head({}):t.head,{primaryHue:a,primarySaturation:o}=t,{dark:s,light:l}="number"==typeof a?{dark:a,light:a}:a,{dark:u,light:c}="number"==typeof o?{dark:o,light:o}:o,d=t.frontMatter;return(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)(iq,aw({title:t.title,description:d.description,canonical:d.canonical,openGraph:d.openGraph},null==(e=t.useNextSeoProps)?void 0:e.call(t))),(0,tP.jsxs)(iF(),{children:[t.faviconGlyph?(0,tP.jsx)("link",{rel:"icon",href:`data:image/svg+xml;utf8,${t.faviconGlyph}`}):null,r?(0,tP.jsx)("meta",{name:"theme-color",content:"dark"===n?"#111":"#fff"}):(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)("meta",{name:"theme-color",content:"#fff",media:"(prefers-color-scheme: light)"}),(0,tP.jsx)("meta",{name:"theme-color",content:"#111",media:"(prefers-color-scheme: dark)"})]}),(0,tP.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, viewport-fit=cover"}),(0,tP.jsx)("style",{children:` + :root { + --nextra-primary-hue: ${l}deg; + --nextra-primary-saturation: ${c}%; + --nextra-navbar-height: 4rem; + --nextra-menu-height: 3.75rem; + --nextra-banner-height: 2.5rem; + } + + .dark { + --nextra-primary-hue: ${s}deg; + --nextra-primary-saturation: ${u}%; + } + `}),i]})]})}var ot={link:(0,I.Z)("nx-flex nx-max-w-[50%] nx-items-center nx-gap-1 nx-py-4 nx-text-base nx-font-medium nx-text-gray-600 nx-transition-colors [word-break:break-word] hover:nx-text-primary-600 dark:nx-text-gray-300 md:nx-text-lg"),icon:(0,I.Z)("nx-inline nx-h-5 nx-shrink-0")},on=({flatDirectories:e,currentIndex:t})=>{let n=aF().navigation,r="boolean"==typeof n?{prev:n,next:n}:n,i=r.prev&&e[t-1],a=r.next&&e[t+1];return(i&&!i.isUnderCurrentDocsTree&&(i=!1),a&&!a.isUnderCurrentDocsTree&&(a=!1),i||a)?(0,tP.jsxs)("div",{className:(0,I.Z)("nx-mb-8 nx-flex nx-items-center nx-border-t nx-pt-8 dark:nx-border-neutral-800","contrast-more:nx-border-neutral-400 dark:contrast-more:nx-border-neutral-400","print:nx-hidden"),children:[i&&(0,tP.jsxs)(aG,{href:i.route,title:i.title,className:(0,I.Z)(ot.link,"ltr:nx-pr-4 rtl:nx-pl-4"),children:[(0,tP.jsx)(Z.LZ,{className:(0,I.Z)(ot.icon,"ltr:nx-rotate-180")}),i.title]}),a&&(0,tP.jsxs)(aG,{href:a.route,title:a.title,className:(0,I.Z)(ot.link,"ltr:nx-ml-auto ltr:nx-pl-4 ltr:nx-text-right rtl:nx-mr-auto rtl:nx-pr-4 rtl:nx-text-left"),children:[a.title,(0,tP.jsx)(Z.LZ,{className:(0,I.Z)(ot.icon,"rtl:nx-rotate-180")})]})]}):null},or={link:(0,I.Z)("nx-text-sm contrast-more:nx-text-gray-700 contrast-more:dark:nx-text-gray-100"),active:(0,I.Z)("nx-font-medium nx-subpixel-antialiased"),inactive:(0,I.Z)("nx-text-gray-600 hover:nx-text-gray-800 dark:nx-text-gray-400 dark:hover:nx-text-gray-200")};function oi({className:e,menu:t,children:n}){let{items:r}=t,i=Object.fromEntries((t.children||[]).map(e=>[e.name,e]));return(0,tP.jsx)("div",{className:"nx-relative nx-inline-block",children:(0,tP.jsxs)(i6,{children:[(0,tP.jsx)(i6.Button,{className:(0,I.Z)(e,"-nx-ml-2 nx-hidden nx-items-center nx-whitespace-nowrap nx-rounded nx-p-2 md:nx-inline-flex",or.inactive),children:n}),(0,tP.jsx)(it,{leave:"nx-transition-opacity",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:(0,tP.jsx)(i6.Items,{className:"nx-absolute nx-right-0 nx-z-20 nx-mt-1 nx-max-h-64 nx-min-w-full nx-overflow-auto nx-rounded-md nx-ring-1 nx-ring-black/5 nx-bg-white nx-py-1 nx-text-sm nx-shadow-lg dark:nx-ring-white/20 dark:nx-bg-neutral-800",children:Object.entries(r||{}).map(([e,n])=>{var r;return(0,tP.jsx)(i6.Item,{children:(0,tP.jsx)(aG,{href:n.href||(null==(r=i[e])?void 0:r.route)||t.route+"/"+e,className:(0,I.Z)("nx-relative nx-hidden nx-w-full nx-select-none nx-whitespace-nowrap nx-text-gray-600 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100 md:nx-inline-block","nx-py-1.5 nx-transition-colors ltr:nx-pl-3 ltr:nx-pr-9 rtl:nx-pr-3 rtl:nx-pl-9"),newWindow:n.newWindow,children:n.title||e})},e)})})})]})})}var oa=Object.create(null),oo=(0,R.createContext)(null),os=(0,R.createContext)(null),ol=(0,R.createContext)(0),ou=(0,R.memo)(function(e){let t=(0,R.useContext)(ol);return(0,tP.jsx)(ol.Provider,{value:t+1,children:(0,tP.jsx)(od,aw({},e))})}),oc={link:(0,I.Z)("nx-flex nx-rounded nx-px-2 nx-py-1.5 nx-text-sm nx-transition-colors [word-break:break-word]","nx-cursor-pointer [-webkit-tap-highlight-color:transparent] [-webkit-touch-callout:none] contrast-more:nx-border"),inactive:(0,I.Z)("nx-text-gray-500 hover:nx-bg-gray-100 hover:nx-text-gray-900","dark:nx-text-neutral-400 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50","contrast-more:nx-text-gray-900 contrast-more:dark:nx-text-gray-50","contrast-more:nx-border-transparent contrast-more:hover:nx-border-gray-900 contrast-more:dark:hover:nx-border-gray-50"),active:(0,I.Z)("nx-bg-primary-100 nx-font-semibold nx-text-primary-800 dark:nx-bg-primary-400/10 dark:nx-text-primary-600","contrast-more:nx-border-primary-500 contrast-more:dark:nx-border-primary-500"),list:(0,I.Z)("nx-flex nx-flex-col nx-gap-1"),border:(0,I.Z)("nx-relative before:nx-absolute before:nx-inset-y-1",'before:nx-w-px before:nx-bg-gray-200 before:nx-content-[""] dark:before:nx-bg-neutral-800',"ltr:nx-pl-3 ltr:before:nx-left-0 rtl:nx-pr-3 rtl:before:nx-right-0")};function od({item:e,anchors:t}){let[n]=P().split("#"),r=[n,n+"/"].includes(e.route+"/"),i=r||n.startsWith(e.route+"/"),a=(0,R.useContext)(oo),o=!!(null==a?void 0:a.startsWith(e.route+"/")),s=(0,R.useContext)(ol),{setMenu:l}=aM(),u=aF(),{theme:c}=e,d=void 0===oa[e.route]?r||i||o||(c&&"collapsed"in c?!c.collapsed:s{u.sidebar.autoCollapse?i&&o?oa[e.route]=!0:delete oa[e.route]:(i||o)&&(oa[e.route]=!0)},[i,o,e.route,u.sidebar.autoCollapse]),"menu"===e.type){let t=Object.fromEntries((e.children||[]).map(e=>[e.name,e]));e.children=Object.entries(e.items||{}).map(([n,r])=>{let i=t[n]||ak(aw({name:n},"locale"in e&&{locale:e.locale}),{route:e.route+"/"+n});return aw(aw({},i),r)})}let h="withIndexPage"in e&&e.withIndexPage,p=h?aG:"button";return(0,tP.jsxs)("li",{className:(0,I.Z)({open:d,active:r}),children:[(0,tP.jsxs)(p,{href:h?e.route:void 0,className:(0,I.Z)("nx-items-center nx-justify-between nx-gap-2",!h&&"nx-text-left nx-w-full",oc.link,r?oc.active:oc.inactive),onClick:t=>{let n=["svg","path"].includes(t.target.tagName.toLowerCase());if(n&&t.preventDefault(),h){r||n?oa[e.route]=!d:(oa[e.route]=!0,l(!1)),f({});return}r||(oa[e.route]=!d,f({}))},children:[aB(u.sidebar.titleComponent,{title:e.title,type:e.type,route:e.route}),(0,tP.jsx)(Z.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5 hover:nx-bg-gray-800/5 dark:hover:nx-bg-gray-100/5",pathClassName:(0,I.Z)("nx-origin-center nx-transition-transform rtl:-nx-rotate-180",d&&"ltr:nx-rotate-90 rtl:nx-rotate-[-270deg]")})]}),(0,tP.jsx)(aQ,{className:"ltr:nx-pr-0 rtl:nx-pl-0 nx-pt-1",isOpen:d,children:Array.isArray(e.children)?(0,tP.jsx)(op,{className:(0,I.Z)(oc.border,"ltr:nx-ml-3 rtl:nx-mr-3"),directories:e.children,base:e.route,anchors:t}):null})]})}function of({title:e}){let t=aF();return(0,tP.jsx)("li",{className:(0,I.Z)("[word-break:break-word]",e?"nx-mt-5 nx-mb-2 nx-px-2 nx-py-1.5 nx-text-sm nx-font-semibold nx-text-gray-900 first:nx-mt-0 dark:nx-text-gray-100":"nx-my-4"),children:e?aB(t.sidebar.titleComponent,{title:e,type:"separator",route:""}):(0,tP.jsx)("hr",{className:"nx-mx-2 nx-border-t nx-border-gray-200 dark:nx-border-primary-100/10"})})}function oh({item:e,anchors:t}){let n=P(),r=(0,R.useContext)(os),i=e.route&&[n,n+"/"].includes(e.route+"/"),a=aN(),{setMenu:o}=aM(),s=aF();return"separator"===e.type?(0,tP.jsx)(of,{title:e.title}):(0,tP.jsxs)("li",{className:(0,I.Z)(oc.list,{active:i}),children:[(0,tP.jsx)(aG,{href:e.href||e.route,newWindow:e.newWindow,className:(0,I.Z)(oc.link,i?oc.active:oc.inactive),onClick:()=>{o(!1)},onFocus:()=>{null==r||r(e.route)},onBlur:()=>{null==r||r(null)},children:aB(s.sidebar.titleComponent,{title:e.title,type:e.type,route:e.route})}),i&&t.length>0&&(0,tP.jsx)("ul",{className:(0,I.Z)(oc.list,oc.border,"ltr:nx-ml-3 rtl:nx-mr-3"),children:t.map(({id:e,value:t})=>{var n;return(0,tP.jsx)("li",{children:(0,tP.jsx)("a",{href:`#${e}`,className:(0,I.Z)(oc.link,'nx-flex nx-gap-2 before:nx-opacity-25 before:nx-content-["#"]',(null==(n=a[e])?void 0:n.isActive)?oc.active:oc.inactive),onClick:()=>{o(!1)},children:t})},e)})})]})}function op({directories:e,anchors:t,className:n,onlyCurrentDocs:r}){return(0,tP.jsx)("ul",{className:(0,I.Z)(oc.list,n),children:e.map(e=>!r||e.isUnderCurrentDocsTree?"menu"===e.type||e.children&&(e.children.length||!e.withIndexPage)?(0,tP.jsx)(ou,{item:e,anchors:t},e.name):(0,tP.jsx)(oh,{item:e,anchors:t},e.name):null)})}function om({docsDirectories:e,flatDirectories:t,fullDirectories:n,asPopover:r=!1,headings:i,includePlaceholder:a}){let o=aF(),{menu:s,setMenu:l}=aM(),u=(0,N.useRouter)(),[c,d]=(0,R.useState)(null),[f,h]=(0,R.useState)(!0),[p,m]=(0,R.useState)(!1),x=(0,R.useMemo)(()=>i.filter(e=>2===e.depth),[i]),g=(0,R.useRef)(null),v=(0,R.useRef)(null),y=A();(0,R.useEffect)(()=>{s?document.body.classList.add("nx-overflow-hidden","md:nx-overflow-auto"):document.body.classList.remove("nx-overflow-hidden","md:nx-overflow-auto")},[s]),(0,R.useEffect)(()=>{var e;let t=null==(e=g.current)?void 0:e.querySelector("li.active");if(t&&(window.innerWidth>767||s)){let e=()=>{ai(t,{block:"center",inline:"center",scrollMode:"always",boundary:v.current})};s?setTimeout(e,300):e()}},[s]),(0,R.useEffect)(()=>{l(!1)},[u.asPath,l]);let b=o.i18n.length>0,w=o.darkMode||b||o.sidebar.toggleButton;return(0,tP.jsxs)(tP.Fragment,{children:[a&&r?(0,tP.jsx)("div",{className:"max-xl:nx-hidden nx-h-0 nx-w-64 nx-shrink-0"}):null,(0,tP.jsx)("div",{className:(0,I.Z)("motion-reduce:nx-transition-none [transition:background-color_1.5s_ease]",s?"nx-fixed nx-inset-0 nx-z-10 nx-bg-black/80 dark:nx-bg-black/60":"nx-bg-transparent"),onClick:()=>l(!1)}),(0,tP.jsxs)("aside",{className:(0,I.Z)("nextra-sidebar-container nx-flex nx-flex-col","md:nx-top-16 md:nx-shrink-0 motion-reduce:nx-transform-none","nx-transform-gpu nx-transition-all nx-ease-in-out","print:nx-hidden",f?"md:nx-w-64":"md:nx-w-20",r?"md:nx-hidden":"md:nx-sticky md:nx-self-start",s?"max-md:[transform:translate3d(0,0,0)]":"max-md:[transform:translate3d(0,-100%,0)]"),ref:v,children:[(0,tP.jsx)("div",{className:"nx-px-4 nx-pt-4 md:nx-hidden",children:aB(o.search.component,{directories:t})}),(0,tP.jsx)(oo.Provider,{value:c,children:(0,tP.jsx)(os.Provider,{value:e=>{d(e)},children:(0,tP.jsxs)("div",{className:(0,I.Z)("nx-overflow-y-auto nx-overflow-x-hidden","nx-p-4 nx-grow md:nx-h-[calc(100vh-var(--nextra-navbar-height)-var(--nextra-menu-height))]",f?"nextra-scrollbar":"no-scrollbar"),ref:g,children:[(!r||!f)&&(0,tP.jsx)(aQ,{isOpen:f,horizontal:!0,children:(0,tP.jsx)(op,{className:"nextra-menu-desktop max-md:nx-hidden",directories:e,anchors:o.toc.float?[]:x,onlyCurrentDocs:!0})}),y&&window.innerWidth<768&&(0,tP.jsx)(op,{className:"nextra-menu-mobile md:nx-hidden",directories:n,anchors:x})]})})}),w&&(0,tP.jsxs)("div",{className:(0,I.Z)("nx-sticky nx-bottom-0","nx-bg-white dark:nx-bg-dark","nx-mx-4 nx-py-4 nx-shadow-[0_-12px_16px_#fff]","nx-flex nx-items-center nx-gap-2","dark:nx-border-neutral-800 dark:nx-shadow-[0_-12px_16px_#111]","contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-shadow-none",f?(0,I.Z)(b&&"nx-justify-end","nx-border-t"):"nx-py-4 nx-flex-wrap nx-justify-center"),"data-toggle-animation":p?f?"show":"hide":"off",children:[(0,tP.jsx)(a8,{lite:!f,className:(0,I.Z)(f?"nx-grow":"max-md:nx-grow")}),o.darkMode&&(0,tP.jsx)("div",{className:f&&!b?"nx-grow nx-flex nx-flex-col":"",children:aB(o.themeSwitch.component,{lite:!f||b})}),o.sidebar.toggleButton&&(0,tP.jsx)("button",{title:f?"Hide sidebar":"Show sidebar",className:"max-md:nx-hidden nx-h-7 nx-rounded-md nx-transition-colors nx-text-gray-600 dark:nx-text-gray-400 nx-px-2 hover:nx-bg-gray-100 hover:nx-text-gray-900 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50",onClick:()=>{h(!f),m(!0)},children:(0,tP.jsx)(Z.Qq,{isOpen:f})})]})]})]})}var ox="reach-skip-nav";(0,R.forwardRef)(function(e,t){var{className:n,id:r,label:i="Skip to content",styled:a}=e,o=a_(e,["className","id","label","styled"]);let s=void 0===n?a?(0,I.Z)("nx-sr-only","focus:nx-not-sr-only focus:nx-fixed focus:nx-z-50 focus:nx-m-3 focus:nx-ml-4 focus:nx-h-[calc(var(--nextra-navbar-height)-1.5rem)] focus:nx-rounded-lg focus:nx-border focus:nx-px-3 focus:nx-py-2 focus:nx-align-middle focus:nx-text-sm focus:nx-font-bold","focus:nx-text-gray-900 focus:dark:nx-text-gray-100","focus:nx-bg-white focus:dark:nx-bg-neutral-900","focus:nx-border-neutral-400 focus:dark:nx-border-neutral-800"):"":n;return(0,tP.jsx)("a",ak(aw({},o),{ref:t,href:`#${r||ox}`,className:s,"data-reach-skip-link":"",children:i}))}).displayName="SkipNavLink";var og=(0,R.forwardRef)(function(e,t){var{id:n}=e,r=a_(e,["id"]);return(0,tP.jsx)("div",ak(aw({},r),{ref:t,id:n||ox}))});og.displayName="SkipNavContent";var ov=tI.strictObject({light:tI.string(),dark:tI.string(),system:tI.string()});function oy(){window.scrollTo({top:0,behavior:"smooth"})}function ob({className:e}){let t=(0,R.useRef)(null);return(0,R.useEffect)(()=>{function e(){var e;let{scrollTop:n}=document.documentElement;null==(e=t.current)||e.classList.toggle("nx-opacity-0",n<300)}return window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),(0,tP.jsxs)("button",{ref:t,"aria-hidden":"true",onClick:oy,className:(0,I.Z)("nx-flex nx-items-center nx-gap-1.5 nx-transition nx-opacity-0",e),children:["Scroll to top",(0,tP.jsx)(Z.LZ,{className:"-nx-rotate-90 nx-w-3.5 nx-h-3.5 nx-border nx-rounded-full nx-border-current"})]})}var ow=(0,I.Z)("nx-text-xs nx-font-medium nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100","contrast-more:nx-text-gray-800 contrast-more:dark:nx-text-gray-50");function ok({className:e,directories:t}){let[n,r]=(0,R.useState)(""),i=(0,R.useMemo)(()=>n?au(t,n,{keys:["title"]}).map(({route:e,title:t})=>({id:e+t,route:e,children:(0,tP.jsx)(aJ,{value:t,match:n})})):[],[n,t]);return(0,tP.jsx)(a1,{value:n,onChange:r,className:e,overlayClassName:"nx-w-full",results:i})}var o_="en-US",oj="undefined"!=typeof window;function oE(e){return"function"==typeof e}var oO=tI.array(tI.strictObject({direction:tI.enum(["ltr","rtl"]).optional(),locale:tI.string(),text:tI.string()})),oT=[function(e){return null==e||"string"==typeof e||oE(e)||(0,R.isValidElement)(e)},{message:"Must be React.ReactNode or React.FC"}],oC=[oE,{message:"Must be React.FC"}];tI.strictObject({banner:tI.strictObject({dismissible:tI.boolean(),key:tI.string(),text:tI.custom(...oT).optional()}),chat:tI.strictObject({icon:tI.custom(...oT),link:tI.string().startsWith("https://").optional()}),components:tI.record(tI.custom(...oC)).optional(),darkMode:tI.boolean(),direction:tI.enum(["ltr","rtl"]),docsRepositoryBase:tI.string().startsWith("https://"),editLink:tI.strictObject({component:tI.custom(...oC).or(tI.null()),text:tI.custom(...oT)}),faviconGlyph:tI.string().optional(),feedback:tI.strictObject({content:tI.custom(...oT),labels:tI.string(),useLink:tI.function().returns(tI.string())}),footer:tI.strictObject({component:tI.custom(...oT),text:tI.custom(...oT)}),gitTimestamp:tI.custom(...oT),head:tI.custom(...oT),i18n:oO,logo:tI.custom(...oT),logoLink:tI.boolean().or(tI.string()),main:tI.custom(...oC).optional(),navbar:tI.strictObject({component:tI.custom(...oT),extraContent:tI.custom(...oT).optional()}),navigation:tI.boolean().or(tI.strictObject({next:tI.boolean(),prev:tI.boolean()})),nextThemes:tI.strictObject({defaultTheme:tI.string(),forcedTheme:tI.string().optional(),storageKey:tI.string()}),notFound:tI.strictObject({content:tI.custom(...oT),labels:tI.string()}),primaryHue:tI.number().or(tI.strictObject({dark:tI.number(),light:tI.number()})),primarySaturation:tI.number().or(tI.strictObject({dark:tI.number(),light:tI.number()})),project:tI.strictObject({icon:tI.custom(...oT),link:tI.string().startsWith("https://").optional()}),search:tI.strictObject({component:tI.custom(...oT),emptyResult:tI.custom(...oT),error:tI.string().or(tI.function().returns(tI.string())),loading:tI.custom(...oT),placeholder:tI.string().or(tI.function().returns(tI.string()))}),serverSideError:tI.strictObject({content:tI.custom(...oT),labels:tI.string()}),sidebar:tI.strictObject({autoCollapse:tI.boolean().optional(),defaultMenuCollapseLevel:tI.number().min(1).int(),titleComponent:tI.custom(...oT),toggleButton:tI.boolean()}),themeSwitch:tI.strictObject({component:tI.custom(...oT),useOptions:ov.or(tI.function().returns(ov))}),toc:tI.strictObject({backToTop:tI.boolean(),component:tI.custom(...oT),extraContent:tI.custom(...oT),float:tI.boolean(),headingComponent:tI.custom(...oC).optional(),title:tI.custom(...oT)}),useNextSeoProps:tI.custom(oE)}).deepPartial().extend({i18n:oO.optional()});var oS={"en-US":"Loading",fr:"Сhargement",ru:"Загрузка","zh-CN":"正在加载"},oN={"en-US":"Search documentation",fr:"Rechercher documents",ru:"Поиск документации","zh-CN":"搜索文档"},oR={banner:{dismissible:!0,key:"nextra-banner"},chat:{icon:(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)(Z.D7,{}),(0,tP.jsx)("span",{className:"nx-sr-only",children:"Discord"})]})},darkMode:!0,direction:"ltr",docsRepositoryBase:"https://github.com/shuding/nextra",editLink:{component:function({className:e,filePath:t,children:n}){let r=function(e=""){let t=aF(),n=t5()(t.docsRepositoryBase||"");if(!n)throw Error("Invalid `docsRepositoryBase` URL!");return`${n.href}/${e}`}(t);return r?(0,tP.jsx)(aG,{className:e,href:r,children:n}):null},text:"Edit this page"},feedback:{content:"Question? Give us feedback →",labels:"feedback",useLink(){let e=aF();return aV({labels:e.feedback.labels,repository:e.docsRepositoryBase,title:`Feedback for \u201C${e.title}\u201D`})}},footer:{component:function({menu:e}){let t=aF();return(0,tP.jsxs)("footer",{className:"nx-bg-gray-100 nx-pb-[env(safe-area-inset-bottom)] dark:nx-bg-neutral-900 print:nx-bg-transparent",children:[(0,tP.jsxs)("div",{className:(0,I.Z)("nx-mx-auto nx-flex nx-max-w-[90rem] nx-gap-2 nx-py-2 nx-px-4",e&&(t.i18n.length>0||t.darkMode)?"nx-flex":"nx-hidden"),children:[(0,tP.jsx)(a8,{}),t.darkMode&&aB(t.themeSwitch.component)]}),(0,tP.jsx)("hr",{className:"dark:nx-border-neutral-800"}),(0,tP.jsx)("div",{className:(0,I.Z)("nx-mx-auto nx-flex nx-max-w-[90rem] nx-justify-center nx-py-12 nx-text-gray-600 dark:nx-text-gray-400 md:nx-justify-start","nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]"),children:aB(t.footer.text)})]})},text:`MIT ${new Date().getFullYear()} \xa9 Nextra.`},gitTimestamp:function({timestamp:e}){let{locale:t=o_}=(0,N.useRouter)();return(0,tP.jsxs)(tP.Fragment,{children:["Last updated on"," ",(0,tP.jsx)("time",{dateTime:e.toISOString(),children:e.toLocaleDateString(t,{day:"numeric",month:"long",year:"numeric"})})]})},head:(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)("meta",{name:"msapplication-TileColor",content:"#fff"}),(0,tP.jsx)("meta",{httpEquiv:"Content-Language",content:"en"}),(0,tP.jsx)("meta",{name:"description",content:"Nextra: the next docs builder"}),(0,tP.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,tP.jsx)("meta",{name:"twitter:site",content:"@shuding_"}),(0,tP.jsx)("meta",{property:"og:title",content:"Nextra: the next docs builder"}),(0,tP.jsx)("meta",{property:"og:description",content:"Nextra: the next docs builder"}),(0,tP.jsx)("meta",{name:"apple-mobile-web-app-title",content:"Nextra"})]}),i18n:[],logo:(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)("span",{className:"nx-font-extrabold",children:"Nextra"}),(0,tP.jsx)("span",{className:"nx-ml-2 nx-hidden nx-font-normal nx-text-gray-600 md:nx-inline",children:"The Next Docs Builder"})]}),logoLink:!0,navbar:{component:function({flatDirectories:e,items:t}){let n=aF(),r=P(),{menu:i,setMenu:a}=aM();return(0,tP.jsxs)("div",{className:"nextra-nav-container nx-sticky nx-top-0 nx-z-20 nx-w-full nx-bg-transparent print:nx-hidden",children:[(0,tP.jsx)("div",{className:(0,I.Z)("nextra-nav-container-blur","nx-pointer-events-none nx-absolute nx-z-[-1] nx-h-full nx-w-full nx-bg-white dark:nx-bg-dark","nx-shadow-[0_2px_4px_rgba(0,0,0,.02),0_1px_0_rgba(0,0,0,.06)] dark:nx-shadow-[0_-1px_0_rgba(255,255,255,.1)_inset]","contrast-more:nx-shadow-[0_0_0_1px_#000] contrast-more:dark:nx-shadow-[0_0_0_1px_#fff]")}),(0,tP.jsxs)("nav",{className:"nx-mx-auto nx-flex nx-h-[var(--nextra-navbar-height)] nx-max-w-[90rem] nx-items-center nx-justify-end nx-gap-2 nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]",children:[n.logoLink?(0,tP.jsx)(aG,{href:"string"==typeof n.logoLink?n.logoLink:"/",className:"nx-flex nx-items-center hover:nx-opacity-75 ltr:nx-mr-auto rtl:nx-ml-auto",children:aB(n.logo)}):(0,tP.jsx)("div",{className:"nx-flex nx-items-center ltr:nx-mr-auto rtl:nx-ml-auto",children:aB(n.logo)}),t.map(e=>{if("hidden"===e.display)return null;if("menu"===e.type)return(0,tP.jsxs)(oi,{className:(0,I.Z)(or.link,"nx-flex nx-gap-1",or.inactive),menu:e,children:[e.title,(0,tP.jsx)(Z.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5",pathClassName:"nx-origin-center nx-transition-transform nx-rotate-90"})]},e.title);let t=e.href||e.route||"#";e.children&&(t=(e.withIndexPage?e.route:e.firstChildRoute)||t);let n=e.route===r||r.startsWith(e.route+"/");return(0,tP.jsxs)(aG,{href:t,className:(0,I.Z)(or.link,"nx-relative -nx-ml-2 nx-hidden nx-whitespace-nowrap nx-p-2 md:nx-inline-block",!n||e.newWindow?or.inactive:or.active),newWindow:e.newWindow,"aria-current":!e.newWindow&&n,children:[(0,tP.jsx)("span",{className:"nx-absolute nx-inset-x-0 nx-text-center",children:e.title}),(0,tP.jsx)("span",{className:"nx-invisible nx-font-medium",children:e.title})]},t)}),aB(n.search.component,{directories:e,className:"nx-hidden md:nx-inline-block mx-min-w-[200px]"}),n.project.link?(0,tP.jsx)(aG,{className:"nx-p-2 nx-text-current",href:n.project.link,newWindow:!0,children:aB(n.project.icon)}):null,n.chat.link?(0,tP.jsx)(aG,{className:"nx-p-2 nx-text-current",href:n.chat.link,newWindow:!0,children:aB(n.chat.icon)}):null,aB(n.navbar.extraContent),(0,tP.jsx)("button",{type:"button","aria-label":"Menu",className:"nextra-hamburger -nx-mr-2 nx-rounded nx-p-2 active:nx-bg-gray-400/20 md:nx-hidden",onClick:()=>a(!i),children:(0,tP.jsx)(Z.Oq,{className:(0,I.Z)({open:i})})})]})]})}},navigation:!0,nextThemes:{defaultTheme:"system",storageKey:"theme"},notFound:{content:"Submit an issue about broken link →",labels:"bug"},primaryHue:{dark:204,light:212},primarySaturation:{dark:100,light:100},project:{icon:(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)(Z.fy,{}),(0,tP.jsx)("span",{className:"nx-sr-only",children:"GitHub"})]})},search:{component:function({className:e,directories:t}){return aF().flexsearch?(0,tP.jsx)(a6,{className:e}):(0,tP.jsx)(ok,{className:e,directories:t})},emptyResult:(0,tP.jsx)("span",{className:"nx-block nx-select-none nx-p-8 nx-text-center nx-text-sm nx-text-gray-400",children:"No results found."}),error:"Failed to load search index.",loading:function(){let{locale:e,defaultLocale:t=o_}=(0,N.useRouter)(),n=e&&oS[e]||oS[t];return(0,tP.jsxs)(tP.Fragment,{children:[n,"…"]})},placeholder:function(){let{locale:e,defaultLocale:t=o_}=(0,N.useRouter)(),n=e&&oN[e]||oN[t];return`${n}\u2026`}},serverSideError:{content:"Submit an issue about error in url →",labels:"bug"},sidebar:{defaultMenuCollapseLevel:2,titleComponent:({title:e})=>(0,tP.jsx)(tP.Fragment,{children:e}),toggleButton:!1},themeSwitch:{component:function({lite:e,className:t}){let{setTheme:n,resolvedTheme:r,theme:i=""}=t$(),a=A(),o=aF().themeSwitch,s=a&&"dark"===r?Z.kL:Z.NW,l="function"==typeof o.useOptions?o.useOptions():o.useOptions;return(0,tP.jsx)(a7,{className:t,title:"Change theme",options:[{key:"light",name:l.light},{key:"dark",name:l.dark},{key:"system",name:l.system}],onChange:e=>{n(e.key)},selected:{key:i,name:(0,tP.jsxs)("div",{className:"nx-flex nx-items-center nx-gap-2 nx-capitalize",children:[(0,tP.jsx)(s,{}),(0,tP.jsx)("span",{className:e?"md:nx-hidden":"",children:a?l[i]:l.light})]})}})},useOptions(){let{locale:e}=(0,N.useRouter)();return"zh-CN"===e?{dark:"深色主题",light:"浅色主题",system:"系统默认"}:{dark:"Dark",light:"Light",system:"System"}}},toc:{backToTop:!1,component:function({headings:e,filePath:t}){var n;let r=aN(),i=aF(),a=(0,R.useRef)(null),o=(0,R.useMemo)(()=>e.filter(e=>e.depth>1),[e]),s=o.length>0,l=!!(i.feedback.content||i.editLink.component||i.toc.extraContent),u=null==(n=Object.entries(r).find(([,{isActive:e}])=>e))?void 0:n[0];return(0,R.useEffect)(()=>{var e;if(!u)return;let t=null==(e=a.current)?void 0:e.querySelector(`li > a[href="#${u}"]`);t&&ai(t,{behavior:"smooth",block:"center",inline:"center",scrollMode:"always",boundary:a.current})},[u]),(0,tP.jsxs)("div",{ref:a,className:(0,I.Z)("nextra-scrollbar nx-sticky nx-top-16 nx-overflow-y-auto nx-pr-4 nx-pt-6 nx-text-sm [hyphens:auto]","nx-max-h-[calc(100vh-var(--nextra-navbar-height)-env(safe-area-inset-bottom))] ltr:-nx-mr-4 rtl:-nx-ml-4"),children:[s&&(0,tP.jsxs)(tP.Fragment,{children:[(0,tP.jsx)("p",{className:"nx-mb-4 nx-font-semibold nx-tracking-tight",children:aB(i.toc.title)}),(0,tP.jsx)("ul",{children:o.map(({id:e,value:t,depth:n})=>{var a,o,s,l;return(0,tP.jsx)("li",{className:"nx-my-2 nx-scroll-my-6 nx-scroll-py-6",children:(0,tP.jsx)("a",{href:`#${e}`,className:(0,I.Z)({2:"nx-font-semibold",3:"ltr:nx-pl-4 rtl:nx-pr-4",4:"ltr:nx-pl-8 rtl:nx-pr-8",5:"ltr:nx-pl-12 rtl:nx-pr-12",6:"ltr:nx-pl-16 rtl:nx-pr-16"}[n],"nx-inline-block",(null==(a=r[e])?void 0:a.isActive)?"nx-text-primary-600 nx-subpixel-antialiased contrast-more:!nx-text-primary-600":"nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-300","contrast-more:nx-text-gray-900 contrast-more:nx-underline contrast-more:dark:nx-text-gray-50 nx-w-full nx-break-words"),children:null!=(l=null==(s=(o=i.toc).headingComponent)?void 0:s.call(o,{id:e,children:t}))?l:t})},e)})})]}),l&&(0,tP.jsxs)("div",{className:(0,I.Z)(s&&"nx-mt-8 nx-border-t nx-bg-white nx-pt-8 nx-shadow-[0_-12px_16px_white] dark:nx-bg-dark dark:nx-shadow-[0_-12px_16px_#111]","nx-sticky nx-bottom-0 nx-flex nx-flex-col nx-items-start nx-gap-2 nx-pb-8 dark:nx-border-neutral-800","contrast-more:nx-border-t contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-border-neutral-400"),children:[i.feedback.content?(0,tP.jsx)(aG,{className:ow,href:i.feedback.useLink(),newWindow:!0,children:aB(i.feedback.content)}):null,aB(i.editLink.component,{filePath:t,className:ow,children:aB(i.editLink.text)}),aB(i.toc.extraContent),i.toc.backToTop&&(0,tP.jsx)(ob,{className:ow})]})]})},float:!0,title:"On This Page"},useNextSeoProps:()=>({titleTemplate:"%s – Nextra"})},oI=Object.entries(oR).map(([e,t])=>{if(t&&"object"==typeof t&&!Array.isArray(t)&&!(0,R.isValidElement)(t))return e}).filter(Boolean);if(oj){let e;window.addEventListener("resize",()=>{document.body.classList.add("resizing"),clearTimeout(e),e=setTimeout(()=>{document.body.classList.remove("resizing")},200)})}function oA(e){var{tag:t,context:n,children:r,id:i,className:a}=e,o=a_(e,["tag","context","children","id","className"]);let s=aR(),l=aA(),u=aI(),c=(0,R.useRef)(null);return(0,R.useEffect)(()=>{if(!i)return;let e=c.current;if(e)return l.set(e,[i,n.index+=1]),null==u||u.observe(e),()=>{null==u||u.disconnect(),l.delete(e),s(e=>{let t=aw({},e);return delete t[i],t})}},[i,n,l,u,s]),(0,tP.jsxs)(t,ak(aw({className:"sr-only"===a?"nx-sr-only":(0,I.Z)("nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100",{h2:"nx-mt-10 nx-border-b nx-pb-1 nx-text-3xl nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400",h3:"nx-mt-8 nx-text-2xl",h4:"nx-mt-8 nx-text-xl",h5:"nx-mt-8 nx-text-lg",h6:"nx-mt-8 nx-text-base"}[t])},o),{children:[r,i&&(0,tP.jsx)("a",{href:`#${i}`,id:i,className:"subheading-anchor","aria-label":"Permalink for this section",ref:c})]}))}var oL=e=>{let t=null,n=[];return R.Children.forEach(e,(e,r)=>{var i;if(e&&e.type===oM){t||(t=e);return}let a=e;if(!t&&e&&"object"==typeof e&&e.type!==oP&&"props"in e&&e.props){let n=oL(e.props.children);t=n[0],a=(0,R.cloneElement)(e,ak(aw({},e.props),{children:(null==(i=n[1])?void 0:i.length)?n[1]:void 0,key:r}))}n.push(a)}),[t,n]},oP=e=>{var{children:t,open:n}=e,r=a_(e,["children","open"]);let[i,a]=(0,R.useState)(!!n),[o,s]=oL(t),[l,u]=(0,R.useState)(i);return(0,R.useEffect)(()=>{if(i)u(!0);else{let e=setTimeout(()=>u(i),500);return()=>clearTimeout(e)}},[i]),(0,tP.jsxs)("details",ak(aw(ak(aw({className:"nx-my-4 nx-rounded nx-border nx-border-gray-200 nx-bg-white nx-p-2 nx-shadow-sm first:nx-mt-0 dark:nx-border-neutral-800 dark:nx-bg-neutral-900"},r),{open:l}),i&&{"data-expanded":!0}),{children:[(0,tP.jsx)(aW,{value:a,children:o}),(0,tP.jsx)(aQ,{isOpen:i,children:s})]}))},oM=e=>{let t=aU();return(0,tP.jsx)("summary",ak(aw({className:(0,I.Z)("nx-flex nx-items-center nx-cursor-pointer nx-list-none nx-p-1 nx-transition-colors hover:nx-bg-gray-100 dark:hover:nx-bg-neutral-800","before:nx-mr-1 before:nx-inline-block before:nx-transition-transform before:nx-content-[''] dark:before:nx-invert before:nx-shrink-0","rtl:before:nx-rotate-180 [[data-expanded]>&]:before:nx-rotate-90")},e),{onClick:e=>{e.preventDefault(),t(e=>!e)}}))},oZ=/https?:\/\//,oD=e=>{var{href:t="",className:n}=e,r=a_(e,["href","className"]);return(0,tP.jsx)(aG,aw({href:t,newWindow:oZ.test(t),className:(0,I.Z)("nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]",n)},r))},oF=e=>{var{href:t=""}=e,n=a_(e,["href"]);return(0,tP.jsx)(aG,aw({href:t,newWindow:oZ.test(t)},n))},oz=({isRawLayout:e,components:t})=>{if(e)return{a:oF};let n={index:0};return aw({h1:e=>(0,tP.jsx)("h1",aw({className:"nx-mt-2 nx-text-4xl nx-font-bold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100"},e)),h2:e=>(0,tP.jsx)(oA,aw({tag:"h2",context:n},e)),h3:e=>(0,tP.jsx)(oA,aw({tag:"h3",context:n},e)),h4:e=>(0,tP.jsx)(oA,aw({tag:"h4",context:n},e)),h5:e=>(0,tP.jsx)(oA,aw({tag:"h5",context:n},e)),h6:e=>(0,tP.jsx)(oA,aw({tag:"h6",context:n},e)),ul:e=>(0,tP.jsx)("ul",aw({className:"nx-mt-6 nx-list-disc first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},e)),ol:e=>(0,tP.jsx)("ol",aw({className:"nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},e)),li:e=>(0,tP.jsx)("li",aw({className:"nx-my-2"},e)),blockquote:e=>(0,tP.jsx)("blockquote",aw({className:(0,I.Z)("nx-mt-6 nx-border-gray-300 nx-italic nx-text-gray-700 dark:nx-border-gray-700 dark:nx-text-gray-400","first:nx-mt-0 ltr:nx-border-l-2 ltr:nx-pl-6 rtl:nx-border-r-2 rtl:nx-pr-6")},e)),hr:e=>(0,tP.jsx)("hr",aw({className:"nx-my-8 nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400"},e)),a:oD,table:e=>(0,tP.jsx)(ah.iA,aw({className:"nextra-scrollbar nx-mt-6 nx-p-0 first:nx-mt-0"},e)),p:e=>(0,tP.jsx)("p",aw({className:"nx-mt-6 nx-leading-7 first:nx-mt-0"},e)),tr:ah.Tr,th:ah.Th,td:ah.Td,details:oP,summary:oM,pre:ah.SU,code:ah.EK},t)},o$={toc:(0,I.Z)("nextra-toc nx-order-last nx-hidden nx-w-64 nx-shrink-0 xl:nx-block print:nx-hidden"),main:(0,I.Z)("nx-w-full nx-break-words")},oU=({themeContext:e,breadcrumb:t,timestamp:n,navigation:r,children:i})=>{var a;let o=aF(),s=A();if("raw"===e.layout)return(0,tP.jsx)("div",{className:o$.main,children:i});let l=e.timestamp&&o.gitTimestamp&&n?new Date(n):null,u=s&&l?(0,tP.jsx)("div",{className:"nx-mt-12 nx-mb-8 nx-block nx-text-xs nx-text-gray-500 ltr:nx-text-right rtl:nx-text-left dark:nx-text-gray-400",children:aB(o.gitTimestamp,{timestamp:l})}):(0,tP.jsx)("div",{className:"nx-mt-16"}),c=(0,tP.jsxs)(tP.Fragment,{children:[i,u,r]}),d=(null==(a=o.main)?void 0:a.call(o,{children:c}))||c;return"full"===e.layout?(0,tP.jsx)("article",{className:(0,I.Z)(o$.main,"nextra-content nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]"),children:d}):(0,tP.jsx)("article",{className:(0,I.Z)(o$.main,"nextra-content nx-flex nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-min-w-0 nx-justify-center nx-pb-8 nx-pr-[calc(env(safe-area-inset-right)-1.5rem)]","article"===e.typesetting&&"nextra-body-typesetting-article"),children:(0,tP.jsxs)("main",{className:"nx-w-full nx-min-w-0 nx-max-w-6xl nx-px-6 nx-pt-4 md:nx-px-12",children:[t,d]})})},oW=({filePath:e,pageMap:t,frontMatter:n,headings:r,timestamp:i,children:a})=>{let o=aF(),{locale:s=o_,defaultLocale:l}=(0,N.useRouter)(),u=P(),{activeType:c,activeIndex:d,activeThemeContext:f,activePath:h,topLevelNavbarItems:p,docsDirectories:m,flatDirectories:x,flatDocsDirectories:g,directories:v}=(0,R.useMemo)(()=>(function e({list:t,locale:n,defaultLocale:r,route:i,docsRoot:a="",underCurrentDocsRoot:o=!1,pageThemeContext:s=tK}){let l,u;for(let e of t)if("Meta"===e.kind){if(e.locale===n){l=e.data;break}l||(l=e.data)}let c=l||{},d=Object.keys(c);for(let e of d)"string"==typeof c[e]&&(c[e]={title:c[e]});let f=[],h=[],p=[],m=[],x=[],g=0,v=s,y=[],b=-1,w=c["*"]||{};delete w.title,delete w.href;let k=t.filter(e=>"Meta"!==e.kind&&!e.name.startsWith("_")&&(!("locale"in e)||!e.locale||[n,r].includes(e.locale))).sort((e,t)=>{let n=d.indexOf(e.name),r=d.indexOf(t.name);return -1===n&&-1===r?e.name{let t;let n=[],r=d.indexOf(e.name);if(-1!==r){for(let e=b+1;e({...l,type:_,...T&&{title:T},...b&&{display:b},...O&&{children:[]}}),S=C(),N=C(),R=C();if(N.isUnderCurrentDocsTree=E,"separator"===_&&(S.isUnderCurrentDocsTree=E),l.route===i)switch(y=[S],u=_,v={...v,...j},_){case"page":case"menu":g=x.length;break;case"doc":g=m.length}if(!("hidden"===b&&"Folder"!==S.kind||L.hV.has(l.route))){if(O){if(void 0!==O.activeIndex&&void 0!==O.activeType){switch(v=O.activeThemeContext,u=O.activeType,y=[S,...O.activePath],u){case"page":case"menu":g=x.length+O.activeIndex;break;case"doc":g=m.length+O.activeIndex}l.withIndexPage&&"doc"===_&&g++}switch(_){case"page":case"menu":R.children.push(...O.directories),p.push(...O.docsDirectories),O.flatDirectories.length?(R.firstChildRoute=function e(t){for(let n of t){if(n.route)return n.route;if(n.children){let t=e(n.children);if(t)return t}}}(O.flatDirectories),x.push(R)):R.withIndexPage&&x.push(R);break;case"doc":Array.isArray(N.children)&&N.children.push(...O.docsDirectories),S.withIndexPage&&"children"!==b&&m.push(N)}h.push(...O.flatDirectories),m.push(...O.flatDocsDirectories),Array.isArray(S.children)&&S.children.push(...O.directories)}else switch(h.push(S),_){case"page":case"menu":x.push(R);break;case"doc":m.push(N)}switch("doc"===_&&"children"===b?N.children&&(f.push(...N.children),p.push(...N.children)):f.push(S),_){case"page":case"menu":p.push(R);break;case"doc":"children"!==b&&p.push(N);break;case"separator":p.push(S)}}}return{activeType:u,activeIndex:g,activeThemeContext:v,activePath:y,directories:f,flatDirectories:h,docsDirectories:p,flatDocsDirectories:m,topLevelNavbarItems:x}})({list:t,locale:s,defaultLocale:l,route:u}),[t,s,l,u]),y=aw(aw({},f),n),b=!y.sidebar||"raw"===y.layout||"page"===c,w="page"!==c&&y.toc&&"default"===y.layout?(0,tP.jsx)("nav",{className:(0,I.Z)(o$.toc,"nx-px-4"),"aria-label":"table of contents",children:aB(o.toc.component,{headings:o.toc.float?r:[],filePath:e})}):"full"!==y.layout&&"raw"!==y.layout&&(0,tP.jsx)("nav",{className:o$.toc,"aria-label":"table of contents"}),k=o.i18n.find(e=>e.locale===s),_=(k?"rtl"===k.direction:"rtl"===o.direction)?"rtl":"ltr";return(0,tP.jsxs)("div",{dir:_,children:[(0,tP.jsx)("script",{dangerouslySetInnerHTML:{__html:`document.documentElement.setAttribute('dir','${_}')`}}),(0,tP.jsx)(oe,{}),(0,tP.jsx)(aK,{}),y.navbar&&aB(o.navbar.component,{flatDirectories:x,items:p}),(0,tP.jsx)("div",{className:(0,I.Z)("nx-mx-auto nx-flex","raw"!==y.layout&&"nx-max-w-[90rem]"),children:(0,tP.jsxs)(aL,{children:[(0,tP.jsx)(om,{docsDirectories:m,flatDirectories:x,fullDirectories:v,headings:r,asPopover:b,includePlaceholder:"default"===y.layout}),w,(0,tP.jsx)(og,{}),(0,tP.jsx)(oU,{themeContext:y,breadcrumb:"page"!==c&&y.breadcrumb?(0,tP.jsx)(aY,{activePath:h}):null,timestamp:i,navigation:"page"!==c&&y.pagination?(0,tP.jsx)(on,{flatDirectories:g,currentIndex:d}):null,children:(0,tP.jsx)(M.Z,{components:oz({isRawLayout:"raw"===y.layout,components:o.components}),children:a})})]})}),y.footer&&aB(o.footer.component,{menu:b})]})};function oH(e){var{children:t}=e,n=a_(e,["children"]);return(0,tP.jsx)(az,{value:n,children:(0,tP.jsx)(oW,ak(aw({},n.pageOpts),{children:t}))})}},2154:function(e,t,n){"use strict";let r,i,a;n.d(t,{UW:function(){return f},EK:function(){return m},SU:function(){return x},OK:function(){return q},iA:function(){return Q},mQ:function(){return K},Td:function(){return Y},Th:function(){return J},Tr:function(){return X}});var o=n(512),s=n(5893),l=({children:e,className:t,...n})=>(0,s.jsx)("button",{className:(0,o.Z)("nextra-button nx-transition-all active:nx-opacity-50","nx-bg-primary-700/5 nx-border nx-border-black/5 nx-text-gray-600 hover:nx-text-gray-900 nx-rounded-md nx-p-1.5","dark:nx-bg-primary-300/10 dark:nx-border-white/10 dark:nx-text-gray-400 dark:hover:nx-text-gray-50",t),...n,children:e}),u=n(4861),c={default:"\uD83D\uDCA1",error:"\uD83D\uDEAB",info:(0,s.jsx)(u.AV,{className:"nx-mt-1"}),warning:"⚠️"},d={default:(0,o.Z)("nx-border-orange-100 nx-bg-orange-50 nx-text-orange-800 dark:nx-border-orange-400/30 dark:nx-bg-orange-400/20 dark:nx-text-orange-300"),error:(0,o.Z)("nx-border-red-200 nx-bg-red-100 nx-text-red-900 dark:nx-border-red-200/30 dark:nx-bg-red-900/30 dark:nx-text-red-200"),info:(0,o.Z)("nx-border-blue-200 nx-bg-blue-100 nx-text-blue-900 dark:nx-border-blue-200/30 dark:nx-bg-blue-900/30 dark:nx-text-blue-200"),warning:(0,o.Z)("nx-border-yellow-100 nx-bg-yellow-50 nx-text-yellow-900 dark:nx-border-yellow-200/30 dark:nx-bg-yellow-700/30 dark:nx-text-yellow-200")};function f({children:e,type:t="default",emoji:n=c[t]}){return(0,s.jsxs)("div",{className:(0,o.Z)("nextra-callout nx-overflow-x-auto nx-mt-6 nx-flex nx-rounded-lg nx-border nx-py-2 ltr:nx-pr-4 rtl:nx-pl-4","contrast-more:nx-border-current contrast-more:dark:nx-border-current",d[t]),children:[(0,s.jsx)("div",{className:"nx-select-none nx-text-xl ltr:nx-pl-3 ltr:nx-pr-2 rtl:nx-pr-3 rtl:nx-pl-2",style:{fontFamily:'"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'},children:n}),(0,s.jsx)("div",{className:"nx-w-full nx-min-w-0 nx-leading-7",children:e})]})}var h=n(7294),p=({getValue:e,...t})=>{let[n,r]=(0,h.useState)(!1);(0,h.useEffect)(()=>{if(!n)return;let e=setTimeout(()=>{r(!1)},2e3);return()=>{clearTimeout(e)}},[n]);let i=(0,h.useCallback)(async()=>{r(!0),navigator?.clipboard||console.error("Access to clipboard rejected!");try{await navigator.clipboard.writeText(e())}catch{console.error("Failed to copy!")}},[e]),a=n?u.nQ:u.TI;return(0,s.jsx)(l,{onClick:i,title:"Copy code",tabIndex:0,...t,children:(0,s.jsx)(a,{className:"nextra-copy-icon nx-pointer-events-none nx-h-4 nx-w-4"})})},m=({children:e,className:t,...n})=>(0,s.jsx)("code",{className:(0,o.Z)("nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em]","dark:nx-border-white/10 dark:nx-bg-white/10","data-line-numbers"in n&&"[counter-reset:line]",t),dir:"ltr",...n,children:e}),x=({children:e,className:t,hasCopyCode:n,filename:r,...i})=>{let a=(0,h.useRef)(null),c=(0,h.useCallback)(()=>{let e=document.documentElement.dataset;"nextraWordWrap"in e?delete e.nextraWordWrap:e.nextraWordWrap=""},[]);return(0,s.jsxs)("div",{className:"nextra-code-block nx-relative nx-mt-6 first:nx-mt-0",children:[r&&(0,s.jsx)("div",{className:"nx-absolute nx-top-0 nx-z-[1] nx-w-full nx-truncate nx-rounded-t-xl nx-bg-primary-700/5 nx-py-2 nx-px-4 nx-text-xs nx-text-gray-700 dark:nx-bg-primary-300/10 dark:nx-text-gray-200",children:r}),(0,s.jsx)("pre",{className:(0,o.Z)("nx-bg-primary-700/5 nx-mb-4 nx-overflow-x-auto nx-rounded-xl nx-subpixel-antialiased dark:nx-bg-primary-300/10 nx-text-[.9em]","contrast-more:nx-border contrast-more:nx-border-primary-900/20 contrast-more:nx-contrast-150 contrast-more:dark:nx-border-primary-100/40",r?"nx-pt-12 nx-pb-4":"nx-py-4",t),ref:a,...i,children:e}),(0,s.jsxs)("div",{className:(0,o.Z)("nx-opacity-0 nx-transition [div:hover>&]:nx-opacity-100 focus-within:nx-opacity-100","nx-flex nx-gap-1 nx-absolute nx-m-[11px] nx-right-0",r?"nx-top-8":"nx-top-0"),children:[(0,s.jsx)(l,{onClick:c,className:"md:nx-hidden",title:"Toggle word wrap",children:(0,s.jsx)(u.NK,{className:"nx-pointer-events-none nx-h-4 nx-w-4"})}),n&&(0,s.jsx)(p,{getValue:()=>a.current?.querySelector("code")?.textContent||""})]})]})},g=n(933),v=n(3),y=n(4924),b=n(1378),w=n(5508),k=n(961),_=n(1813),j=n(2308),E=n(7524);function O(e){let{onFocus:t}=e,[n,r]=(0,h.useState)(!0),i=(0,j.t)();return n?h.createElement(E._,{as:"button",type:"button",features:E.A.Focusable,onFocus:e=>{e.preventDefault();let n,a=50;n=requestAnimationFrame(function e(){if(a--<=0){n&&cancelAnimationFrame(n);return}if(t()){if(cancelAnimationFrame(n),!i.current)return;r(!1);return}n=requestAnimationFrame(e)})}}):null}var T=n(8657),C=n(8844),S=n(1291),N=n(8961),R=n(8287);let I=h.createContext(null);function A(e){let{children:t}=e,n=h.useRef({groups:new Map,get(e,t){var n;let r=this.groups.get(e);r||(r=new Map,this.groups.set(e,r));let i=null!=(n=r.get(t))?n:0;return r.set(t,i+1),[Array.from(r.keys()).indexOf(t),function(){let e=r.get(t);e>1?r.set(t,e-1):r.delete(t)}]}});return h.createElement(I.Provider,{value:n},t)}function L(e){let t=h.useContext(I);if(!t)throw Error("You must wrap your component in a ");let n=function(){var e,t,n;let r=null!=(n=null==(t=null==(e=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)?void 0:e.ReactCurrentOwner)?void 0:t.current)?n:null;if(!r)return Symbol();let i=[],a=r;for(;a;)i.push(a.index),a=a.return;return"$."+i.join(".")}(),[r,i]=t.current.get(e,n);return h.useEffect(()=>i,[]),r}var P=((r=P||{})[r.Forwards=0]="Forwards",r[r.Backwards=1]="Backwards",r),M=((i=M||{})[i.Less=-1]="Less",i[i.Equal=0]="Equal",i[i.Greater=1]="Greater",i),Z=((a=Z||{})[a.SetSelectedIndex=0]="SetSelectedIndex",a[a.RegisterTab=1]="RegisterTab",a[a.UnregisterTab=2]="UnregisterTab",a[a.RegisterPanel=3]="RegisterPanel",a[a.UnregisterPanel=4]="UnregisterPanel",a);let D={0(e,t){var n;let r=(0,T.z2)(e.tabs,e=>e.current),i=(0,T.z2)(e.panels,e=>e.current),a=r.filter(e=>{var t;return!(null!=(t=e.current)&&t.hasAttribute("disabled"))}),o={...e,tabs:r,panels:i};if(t.index<0||t.index>r.length-1){let n=(0,C.E)(Math.sign(t.index-e.selectedIndex),{[-1]:()=>1,0:()=>(0,C.E)(Math.sign(t.index),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0});if(0===a.length)return o;let i=(0,C.E)(n,{0:()=>r.indexOf(a[0]),1:()=>r.indexOf(a[a.length-1])});return{...o,selectedIndex:-1===i?e.selectedIndex:i}}let s=r.slice(0,t.index),l=[...r.slice(t.index),...s].find(e=>a.includes(e));if(!l)return o;let u=null!=(n=r.indexOf(l))?n:e.selectedIndex;return -1===u&&(u=e.selectedIndex),{...o,selectedIndex:u}},1(e,t){if(e.tabs.includes(t.tab))return e;let n=e.tabs[e.selectedIndex],r=(0,T.z2)([...e.tabs,t.tab],e=>e.current),i=e.selectedIndex;return e.info.current.isControlled||-1===(i=r.indexOf(n))&&(i=e.selectedIndex),{...e,tabs:r,selectedIndex:i}},2:(e,t)=>({...e,tabs:e.tabs.filter(e=>e!==t.tab)}),3:(e,t)=>e.panels.includes(t.panel)?e:{...e,panels:(0,T.z2)([...e.panels,t.panel],e=>e.current)},4:(e,t)=>({...e,panels:e.panels.filter(e=>e!==t.panel)})},F=(0,h.createContext)(null);function z(e){let t=(0,h.useContext)(F);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,z),t}return t}F.displayName="TabsDataContext";let $=(0,h.createContext)(null);function U(e){let t=(0,h.useContext)($);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,U),t}return t}function W(e,t){return(0,C.E)(t.type,D,e,t)}$.displayName="TabsActionsContext";let H=h.Fragment,G=R.AN.RenderStrategy|R.AN.Static,V=Object.assign((0,R.yV)(function(e,t){var n,r;let i=(0,y.M)(),{id:a="headlessui-tabs-tab-".concat(i),...o}=e,{orientation:s,activation:l,selectedIndex:u,tabs:c,panels:d}=z("Tab"),f=U("Tab"),p=z("Tab"),m=(0,h.useRef)(null),x=(0,_.T)(m,t);(0,b.e)(()=>f.registerTab(m),[f,m]);let w=L("tabs"),j=c.indexOf(m);-1===j&&(j=w);let E=j===u,O=(0,v.z)(e=>{var t;let n=e();if(n===T.fE.Success&&"auto"===l){let e=null==(t=(0,N.r)(m))?void 0:t.activeElement,n=p.tabs.findIndex(t=>t.current===e);-1!==n&&f.change(n)}return n}),I=(0,v.z)(e=>{let t=c.map(e=>e.current).filter(Boolean);if(e.key===g.R.Space||e.key===g.R.Enter){e.preventDefault(),e.stopPropagation(),f.change(j);return}switch(e.key){case g.R.Home:case g.R.PageUp:return e.preventDefault(),e.stopPropagation(),O(()=>(0,T.jA)(t,T.TO.First));case g.R.End:case g.R.PageDown:return e.preventDefault(),e.stopPropagation(),O(()=>(0,T.jA)(t,T.TO.Last))}if(O(()=>(0,C.E)(s,{vertical:()=>e.key===g.R.ArrowUp?(0,T.jA)(t,T.TO.Previous|T.TO.WrapAround):e.key===g.R.ArrowDown?(0,T.jA)(t,T.TO.Next|T.TO.WrapAround):T.fE.Error,horizontal:()=>e.key===g.R.ArrowLeft?(0,T.jA)(t,T.TO.Previous|T.TO.WrapAround):e.key===g.R.ArrowRight?(0,T.jA)(t,T.TO.Next|T.TO.WrapAround):T.fE.Error}))===T.fE.Success)return e.preventDefault()}),A=(0,h.useRef)(!1),P=(0,v.z)(()=>{var e;A.current||(A.current=!0,null==(e=m.current)||e.focus({preventScroll:!0}),f.change(j),(0,S.Y)(()=>{A.current=!1}))}),M=(0,v.z)(e=>{e.preventDefault()}),Z=(0,h.useMemo)(()=>{var t;return{selected:E,disabled:null!=(t=e.disabled)&&t}},[E,e.disabled]),D={ref:x,onKeyDown:I,onMouseDown:M,onClick:P,id:a,role:"tab",type:(0,k.f)(e,m),"aria-controls":null==(r=null==(n=d[j])?void 0:n.current)?void 0:r.id,"aria-selected":E,tabIndex:E?0:-1};return(0,R.sY)({ourProps:D,theirProps:o,slot:Z,defaultTag:"button",name:"Tabs.Tab"})}),{Group:(0,R.yV)(function(e,t){let{defaultIndex:n=0,vertical:r=!1,manual:i=!1,onChange:a,selectedIndex:o=null,...s}=e,l=r?"vertical":"horizontal",u=i?"manual":"auto",c=null!==o,d=(0,w.E)({isControlled:c}),f=(0,_.T)(t),[p,m]=(0,h.useReducer)(W,{info:d,selectedIndex:null!=o?o:n,tabs:[],panels:[]}),x=(0,h.useMemo)(()=>({selectedIndex:p.selectedIndex}),[p.selectedIndex]),g=(0,w.E)(a||(()=>{})),y=(0,w.E)(p.tabs),k=(0,h.useMemo)(()=>({orientation:l,activation:u,...p}),[l,u,p]),j=(0,v.z)(e=>(m({type:1,tab:e}),()=>m({type:2,tab:e}))),E=(0,v.z)(e=>(m({type:3,panel:e}),()=>m({type:4,panel:e}))),C=(0,v.z)(e=>{S.current!==e&&g.current(e),c||m({type:0,index:e})}),S=(0,w.E)(c?e.selectedIndex:p.selectedIndex),N=(0,h.useMemo)(()=>({registerTab:j,registerPanel:E,change:C}),[]);return(0,b.e)(()=>{m({type:0,index:null!=o?o:n})},[o]),(0,b.e)(()=>{if(void 0===S.current||p.tabs.length<=0)return;let e=(0,T.z2)(p.tabs,e=>e.current);e.some((e,t)=>p.tabs[t]!==e)&&C(e.indexOf(p.tabs[S.current]))}),h.createElement(A,null,h.createElement($.Provider,{value:N},h.createElement(F.Provider,{value:k},k.tabs.length<=0&&h.createElement(O,{onFocus:()=>{var e,t;for(let n of y.current)if((null==(e=n.current)?void 0:e.tabIndex)===0)return null==(t=n.current)||t.focus(),!0;return!1}}),(0,R.sY)({ourProps:{ref:f},theirProps:s,slot:x,defaultTag:H,name:"Tabs"}))))}),List:(0,R.yV)(function(e,t){let{orientation:n,selectedIndex:r}=z("Tab.List"),i=(0,_.T)(t);return(0,R.sY)({ourProps:{ref:i,role:"tablist","aria-orientation":n},theirProps:e,slot:{selectedIndex:r},defaultTag:"div",name:"Tabs.List"})}),Panels:(0,R.yV)(function(e,t){let{selectedIndex:n}=z("Tab.Panels"),r=(0,_.T)(t),i=(0,h.useMemo)(()=>({selectedIndex:n}),[n]);return(0,R.sY)({ourProps:{ref:r},theirProps:e,slot:i,defaultTag:"div",name:"Tabs.Panels"})}),Panel:(0,R.yV)(function(e,t){var n,r,i,a;let o=(0,y.M)(),{id:s="headlessui-tabs-panel-".concat(o),tabIndex:l=0,...u}=e,{selectedIndex:c,tabs:d,panels:f}=z("Tab.Panel"),p=U("Tab.Panel"),m=(0,h.useRef)(null),x=(0,_.T)(m,t);(0,b.e)(()=>p.registerPanel(m),[p,m,s]);let g=L("panels"),v=f.indexOf(m);-1===v&&(v=g);let w=v===c,k=(0,h.useMemo)(()=>({selected:w}),[w]),j={ref:x,id:s,role:"tabpanel","aria-labelledby":null==(r=null==(n=d[v])?void 0:n.current)?void 0:r.id,tabIndex:w?l:-1};return w||null!=(i=u.unmount)&&!i||null!=(a=u.static)&&a?(0,R.sY)({ourProps:j,theirProps:u,slot:k,defaultTag:"div",features:G,visible:w,name:"Tabs.Panel"}):h.createElement(E._,{as:"span","aria-hidden":"true",...j})})});function B(e){return!!e&&"object"==typeof e&&"label"in e}function q({children:e,...t}){return(0,s.jsx)(V.Panel,{...t,className:"nx-rounded nx-pt-6",children:e})}var K=Object.assign(function({items:e,selectedIndex:t,defaultIndex:n=0,onChange:r,children:i,storageKey:a}){let[l,u]=(0,h.useState)(n);(0,h.useEffect)(()=>{void 0!==t&&u(t)},[t]),(0,h.useEffect)(()=>{if(!a)return;function e(e){e.key===a&&u(Number(e.newValue))}let t=Number(localStorage.getItem(a));return u(Number.isNaN(t)?0:t),window.addEventListener("storage",e),()=>{window.removeEventListener("storage",e)}},[]);let c=(0,h.useCallback)(e=>{if(a){let t=String(e);localStorage.setItem(a,t),window.dispatchEvent(new StorageEvent("storage",{key:a,newValue:t}));return}u(e),r?.(e)},[]);return(0,s.jsxs)(V.Group,{selectedIndex:l,defaultIndex:n,onChange:c,children:[(0,s.jsx)("div",{className:"nextra-scrollbar nx-overflow-x-auto nx-overflow-y-hidden nx-overscroll-x-contain",children:(0,s.jsx)(V.List,{className:"nx-mt-4 nx-flex nx-w-max nx-min-w-full nx-border-b nx-border-gray-200 nx-pb-px dark:nx-border-neutral-800",children:e.map((e,t)=>{let n=B(e)&&e.disabled;return(0,s.jsx)(V,{disabled:n,className:({selected:e})=>(0,o.Z)("nx-mr-2 nx-rounded-t nx-p-2 nx-font-medium nx-leading-5 nx-transition-colors","-nx-mb-0.5 nx-select-none nx-border-b-2",e?"nx-border-primary-500 nx-text-primary-600":"nx-border-transparent nx-text-gray-600 hover:nx-border-gray-200 hover:nx-text-black dark:nx-text-gray-200 dark:hover:nx-border-neutral-800 dark:hover:nx-text-white",n&&"nx-pointer-events-none nx-text-gray-400 dark:nx-text-neutral-600"),children:B(e)?e.label:e},t)})})}),(0,s.jsx)(V.Panels,{children:i})]})},{displayName:"Tabs",Tab:q}),Y=({className:e="",...t})=>(0,s.jsx)("td",{className:(0,o.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600",e),...t}),Q=({className:e="",...t})=>(0,s.jsx)("table",{className:(0,o.Z)("nx-block nx-overflow-x-scroll",e),...t}),J=({className:e="",...t})=>(0,s.jsx)("th",{className:(0,o.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 nx-font-semibold dark:nx-border-gray-600",e),...t}),X=({className:e="",...t})=>(0,s.jsx)("tr",{className:(0,o.Z)("nx-m-0 nx-border-t nx-border-gray-300 nx-p-0 dark:nx-border-gray-600","even:nx-bg-gray-100 even:dark:nx-bg-gray-600/20",e),...t}),ee=n(1664),et=n.n(ee),en={cards:(0,o.Z)("nextra-cards nx-mt-4 nx-gap-4 nx-grid","nx-not-prose"),card:(0,o.Z)("nextra-card nx-group nx-flex nx-flex-col nx-justify-start nx-overflow-hidden nx-rounded-lg nx-border nx-border-gray-200","nx-text-current nx-no-underline dark:nx-shadow-none","hover:nx-shadow-gray-100 dark:hover:nx-shadow-none nx-shadow-gray-100","active:nx-shadow-sm active:nx-shadow-gray-200","nx-transition-all nx-duration-200 hover:nx-border-gray-300"),title:(0,o.Z)("nx-flex nx-font-semibold nx-items-start nx-gap-2 nx-p-4 nx-text-gray-700 hover:nx-text-gray-900")},er=(0,s.jsx)("span",{className:"nx-transition-transform nx-duration-75 group-hover:nx-translate-x-[2px]",children:"→"});Object.assign(function({children:e,num:t=3,className:n,style:r,...i}){return(0,s.jsx)("div",{className:(0,o.Z)(en.cards,n),...i,style:{...r,"--rows":t},children:e})},{displayName:"Cards",Card:function({children:e,title:t,icon:n,image:r,arrow:i,href:a,...l}){let u=i?er:null;return r?(0,s.jsxs)(et(),{href:a,className:(0,o.Z)(en.card,"nx-bg-gray-100 nx-shadow dark:nx-border-neutral-700 dark:nx-bg-neutral-800 dark:nx-text-gray-50 hover:nx-shadow-lg dark:hover:nx-border-neutral-500 dark:hover:nx-bg-neutral-700"),...l,children:[e,(0,s.jsxs)("span",{className:(0,o.Z)(en.title,"dark:nx-text-gray-300 dark:hover:nx-text-gray-100"),children:[n,(0,s.jsxs)("span",{className:"nx-flex nx-gap-1",children:[t,u]})]})]}):(0,s.jsx)(et(),{href:a,className:(0,o.Z)(en.card,"nx-bg-transparent nx-shadow-sm dark:nx-border-neutral-800 hover:nx-bg-slate-50 hover:nx-shadow-md dark:hover:nx-border-neutral-700 dark:hover:nx-bg-neutral-900"),...l,children:(0,s.jsxs)("span",{className:(0,o.Z)(en.title,"dark:nx-text-neutral-200 dark:hover:nx-text-neutral-50 nx-flex nx-items-center"),children:[n,t,u]})})}});var ei=(0,h.createContext)(0);function ea(){return(0,h.useContext)(ei)}function eo(){let e=ea();return(0,s.jsx)(s.Fragment,{children:Array.from({length:e},(e,t)=>(0,s.jsx)("span",{className:"nx-w-5"},t))})}var es=(0,h.memo)(({label:e,name:t,open:n,children:r,defaultOpen:i=!1,onToggle:a})=>{let o=ea(),[l,u]=(0,h.useState)(i),c=(0,h.useCallback)(()=>{a?.(!l),u(!l)},[l,a]),d=void 0===n?l:n;return(0,s.jsxs)("li",{className:"nx-flex nx-list-none nx-flex-col",children:[(0,s.jsxs)("button",{onClick:c,title:t,className:"nx-inline-flex nx-cursor-pointer nx-items-center nx-py-1 hover:nx-opacity-60",children:[(0,s.jsx)(eo,{}),(0,s.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:d?"M5 19a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4l2 2h4a2 2 0 0 1 2 2v1M5 19h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2Z":"M3 7v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-6l-2-2H5a2 2 0 0 0-2 2Z"})}),(0,s.jsx)("span",{className:"nx-ml-1",children:e??t})]}),d&&(0,s.jsx)("ul",{children:(0,s.jsx)(ei.Provider,{value:o+1,children:r})})]})});es.displayName="Folder";var el=(0,h.memo)(({label:e,name:t,active:n})=>(0,s.jsx)("li",{className:(0,o.Z)("nx-flex nx-list-none",n&&"nx-text-primary-600 contrast-more:nx-underline"),children:(0,s.jsxs)("span",{className:"nx-inline-flex nx-cursor-default nx-items-center nx-py-1",children:[(0,s.jsx)(eo,{}),(0,s.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5.586a1 1 0 0 1 .707.293l5.414 5.414a1 1 0 0 1 .293.707V19a2 2 0 0 1-2 2Z"})}),(0,s.jsx)("span",{className:"nx-ml-1",children:e??t})]})}));el.displayName="File",Object.assign(function({children:e}){return(0,s.jsx)("div",{className:(0,o.Z)("nextra-filetree nx-mt-6 nx-select-none nx-text-sm nx-text-gray-800 dark:nx-text-gray-300","nx-not-prose"),children:(0,s.jsx)("div",{className:"nx-inline-block nx-rounded-lg nx-border nx-px-4 nx-py-2 dark:nx-border-neutral-800",children:e})})},{Folder:es,File:el})},4861:function(e,t,n){"use strict";n.d(t,{LZ:function(){return i},nQ:function(){return a},TI:function(){return o},D7:function(){return s},Qq:function(){return l},fy:function(){return u},n9:function(){return c},AV:function(){return d},Oq:function(){return f},kL:function(){return h},L4:function(){return p},NW:function(){return m},NK:function(){return x},b0:function(){return g}});var r=n(5893);function i({pathClassName:e,...t}){return(0,r.jsx)("svg",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",...t,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 5l7 7-7 7",className:e})})}function a(e){return(0,r.jsx)("svg",{viewBox:"0 0 20 20",width:"1em",height:"1em",fill:"currentColor",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})}function o(e){return(0,r.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...e,children:[(0,r.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M5 15H4C2.89543 15 2 14.1046 2 13V4C2 2.89543 2.89543 2 4 2H13C14.1046 2 15 2.89543 15 4V5",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}function s(e){return(0,r.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 5 30.67 23.25",...e,children:[(0,r.jsx)("title",{children:"Discord"}),(0,r.jsx)("path",{d:"M26.0015 6.9529C24.0021 6.03845 21.8787 5.37198 19.6623 5C19.3833 5.48048 19.0733 6.13144 18.8563 6.64292C16.4989 6.30193 14.1585 6.30193 11.8336 6.64292C11.6166 6.13144 11.2911 5.48048 11.0276 5C8.79575 5.37198 6.67235 6.03845 4.6869 6.9529C0.672601 12.8736 -0.41235 18.6548 0.130124 24.3585C2.79599 26.2959 5.36889 27.4739 7.89682 28.2489C8.51679 27.4119 9.07477 26.5129 9.55525 25.5675C8.64079 25.2265 7.77283 24.808 6.93587 24.312C7.15286 24.1571 7.36986 23.9866 7.57135 23.8161C12.6241 26.1255 18.0969 26.1255 23.0876 23.8161C23.3046 23.9866 23.5061 24.1571 23.7231 24.312C22.8861 24.808 22.0182 25.2265 21.1037 25.5675C21.5842 26.5129 22.1422 27.4119 22.7621 28.2489C25.2885 27.4739 27.8769 26.2959 30.5288 24.3585C31.1952 17.7559 29.4733 12.0212 26.0015 6.9529ZM10.2527 20.8402C8.73376 20.8402 7.49382 19.4608 7.49382 17.7714C7.49382 16.082 8.70276 14.7025 10.2527 14.7025C11.7871 14.7025 13.0425 16.082 13.0115 17.7714C13.0115 19.4608 11.7871 20.8402 10.2527 20.8402ZM20.4373 20.8402C18.9183 20.8402 17.6768 19.4608 17.6768 17.7714C17.6768 16.082 18.8873 14.7025 20.4373 14.7025C21.9717 14.7025 23.2271 16.082 23.1961 17.7714C23.1961 19.4608 21.9872 20.8402 20.4373 20.8402Z"})]})}function l({isOpen:e,...t}){return(0,r.jsxs)("svg",{height:"12",width:"12",viewBox:"0 0 16 16",fill:"currentColor",...t,children:[(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.177 7.823l2.396-2.396A.25.25 0 017 5.604v4.792a.25.25 0 01-.427.177L4.177 8.177a.25.25 0 010-.354z",className:e?"":"nx-origin-[35%] nx-rotate-180"}),(0,r.jsx)("path",{fillRule:"evenodd",d:"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm1.75-.25a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25H9.5v-13H1.75zm12.5 13H11v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25z"})]})}function u(e){return(0,r.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",viewBox:"3 3 18 18",...e,children:[(0,r.jsx)("title",{children:"GitHub"}),(0,r.jsx)("path",{d:"M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z"})]})}function c(e){return(0,r.jsx)("svg",{viewBox:"2 2 16 16",width:"12",height:"12",fill:"currentColor",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.083 9h1.946c.089-1.546.383-2.97.837-4.118A6.004 6.004 0 004.083 9zM10 2a8 8 0 100 16 8 8 0 000-16zm0 2c-.076 0-.232.032-.465.262-.238.234-.497.623-.737 1.182-.389.907-.673 2.142-.766 3.556h3.936c-.093-1.414-.377-2.649-.766-3.556-.24-.56-.5-.948-.737-1.182C10.232 4.032 10.076 4 10 4zm3.971 5c-.089-1.546-.383-2.97-.837-4.118A6.004 6.004 0 0115.917 9h-1.946zm-2.003 2H8.032c.093 1.414.377 2.649.766 3.556.24.56.5.948.737 1.182.233.23.389.262.465.262.076 0 .232-.032.465-.262.238-.234.498-.623.737-1.182.389-.907.673-2.142.766-3.556zm1.166 4.118c.454-1.147.748-2.572.837-4.118h1.946a6.004 6.004 0 01-2.783 4.118zm-6.268 0C6.412 13.97 6.118 12.546 6.03 11H4.083a6.004 6.004 0 002.783 4.118z",clipRule:"evenodd"})})}function d(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",width:"20",height:"20",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"})})}function f(e){return(0,r.jsxs)("svg",{fill:"none",width:"24",height:"24",viewBox:"0 0 24 24",stroke:"currentColor",...e,children:[(0,r.jsx)("g",{children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 6h16"})}),(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 12h16"}),(0,r.jsx)("g",{children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 18h16"})})]})}function h(e){return(0,r.jsx)("svg",{fill:"none",viewBox:"2 2 20 20",width:"12",height:"12",stroke:"currentColor",...e,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})}function p(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"24",height:"24",...e,children:[(0,r.jsx)("circle",{className:"nx-opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,r.jsx)("path",{className:"nx-opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}function m(e){return(0,r.jsx)("svg",{fill:"none",viewBox:"3 3 18 18",width:"12",height:"12",stroke:"currentColor",...e,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})})}function x(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:"24",height:"24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}function g(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"currentColor",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})}},2643:function(e,t,n){"use strict";n.d(t,{Z:function(){return s},a:function(){return d}});var r=n(7294);let i=r.createContext({});function a(e){let t=r.useContext(i);return r.useMemo(()=>"function"==typeof e?e(t):{...t,...e},[t,e])}let o={};function s({components:e,children:t,disableParentContext:n}){let s;return s=n?"function"==typeof e?e({}):e||o:a(e),r.createElement(i.Provider,{value:s},t)}var l=n(5675),u=n.n(l),c={img:e=>(0,r.createElement)("object"==typeof e.src?u():"img",e)},d=e=>a({...c,...e})},2673:function(e,t,n){"use strict";n.d(t,{j:function(){return v}});var r,i=n(9208),a=n.n(i),o=n(7222),s=n(7294);n(2746),"undefined"!=typeof window&&(window.requestIdleCallback=window.requestIdleCallback||function(e){var t=Date.now();return setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},window.cancelIdleCallback=window.cancelIdleCallback||function(e){clearTimeout(e)}),n(2643);var l=n(5893),u=(0,s.createContext)(!1),c=n(1163);function d({__nextra_pageMap:e,__nextra_dynamic_opts:t,...n}){let{context:r,Layout:i}=function(){let e=globalThis[o.eZ],{route:t}=(0,c.useRouter)();(0,s.useState)({})[1];let n=e.context[t];if(!n)throw Error("No content found for the current route. This is a Nextra bug.");return{context:n,Layout:e.Layout}}(),{Content:a,...d}=r;if(e&&(d.pageOpts={...d.pageOpts,pageMap:e}),t){let{headings:e,title:n,frontMatter:r}=JSON.parse(t);d.pageOpts={...d.pageOpts,headings:e,title:n,frontMatter:r}}return(0,l.jsx)(i,{...d,pageProps:n,children:(0,l.jsx)(u.Provider,{value:n,children:(0,l.jsx)(a,{...n})})})}var f=n(1864),h=n(3859),p=n(2891);function m(e){return p(e.replaceAll(/[-_]/g," "))}function x(e){return!!e&&"object"==typeof e&&"folder"===e.type}function g(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>{if(x(t)){let n=e.replace("/","");return[n,t.title||m(n)]}return[e,t||m(e)]}))}function v({pageNextRoute:e,pageOpts:t,nextraLayout:n,themeConfig:i,MDXContent:s,hot:l,pageOptsChecksum:u,dynamicMetaModules:c=[]}){var p;"undefined"==typeof window&&(globalThis.__nextra_resolvePageMap=async()=>{if(r)return r;let e=JSON.parse(JSON.stringify(m.pageMap));return await Promise.all(c.map(async([t,{metaObjectKeyPath:n,metaParentKeyPath:r}])=>{let i=await t,o=await i.default(),s=a()(e,n);s.data=o,function e(t,n,r=!0){if(r){e(t,{kind:"Meta",data:n.data,locale:n.locale},!1),n.data=g(n.data);return}for(let[r,a]of Object.entries(n.data)){if(!x(a)){var i;if("*"===r)continue;t.children.push({kind:"MdxPage",...n.locale&&{locale:n.locale},name:r,route:(i=t.route,h(f.join(i,r.replace(/^index$/,""))))});continue}let o=r.replace("/",""),s={kind:"Folder",name:o,route:`${t.route}/${o}`,children:[{kind:"Meta",...n.locale&&{locale:n.locale},data:g(a.items)}]};t.children.push(s),e(s,{kind:"Meta",data:a.items,locale:n.locale},!1)}}(a()(e,r),s)})),r=e});let m=globalThis[p=o.eZ]||(globalThis[p]=Object.create(null));return t.pageMap?(m.pageMap=t.pageMap,m.Layout=n):(t={...t,pageMap:m.pageMap,flexsearch:m.flexsearch},i=m.themeConfig),t={frontMatter:{},...t},m.route=t.route,m.context||(m.context=Object.create(null)),m.context[e]={Content:s,pageOpts:t,themeConfig:i},d}},6008:function(e,t,n){"use strict";var r=n(2337);e.exports=function(e){var t={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:e,query:{},parse_failed:!1};try{var n=new URL(e);t.protocols=r(n),t.protocol=t.protocols[0],t.port=n.port,t.resource=n.hostname,t.host=n.host,t.user=n.username||"",t.password=n.password||"",t.pathname=n.pathname,t.hash=n.hash.slice(1),t.search=n.search.slice(1),t.href=n.href,t.query=Object.fromEntries(n.searchParams)}catch(n){t.protocols=["file"],t.protocol=t.protocols[0],t.port="",t.resource="",t.user="",t.pathname="",t.hash="",t.search="",t.href=e,t.query={},t.parse_failed=!0}return t}},3905:function(e,t,n){"use strict";var r=n(6008),i=r&&"object"==typeof r&&"default"in r?r:{default:r};let a=(e,t)=>t.some(t=>t instanceof RegExp?t.test(e):t===e),o=(e,{stripHash:t})=>{let n=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(e);if(!n)throw Error(`Invalid URL: ${e}`);let{type:r,data:i,hash:a}=n.groups,o=r.split(";");a=t?"":a;let s=!1;"base64"===o[o.length-1]&&(o.pop(),s=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(e=>{let[t,n=""]=e.split("=").map(e=>e.trim());return"charset"===t&&"us-ascii"===(n=n.toLowerCase())?"":`${t}${n?`=${n}`:""}`}).filter(Boolean)];return s&&u.push("base64"),(u.length>0||l&&"text/plain"!==l)&&u.unshift(l),`data:${u.join(";")},${s?i.trim():i}${a?`#${a}`:""}`},s=(e,t=!1)=>{let n=t=>{let n=Error(t);throw n.subject_url=e,n};"string"==typeof e&&e.trim()||n("Invalid url."),e.length>s.MAX_INPUT_LENGTH&&n("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),t&&("object"!=typeof t&&(t={stripHash:!1}),e=function(e,t){if(t={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},e=e.trim(),/^data:/i.test(e))return o(e,t);if(/^view-source:/i.test(e))throw Error("`view-source:` is not supported as it is a non-standard protocol");let n=e.startsWith("//");!n&&/^\.*\//.test(e)||(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));let r=new URL(e);if(t.forceHttp&&t.forceHttps)throw Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&"https:"===r.protocol&&(r.protocol="http:"),t.forceHttps&&"http:"===r.protocol&&(r.protocol="https:"),t.stripAuthentication&&(r.username="",r.password=""),t.stripHash?r.hash="":t.stripTextFragment&&(r.hash=r.hash.replace(/#?:~:text.*?$/i,"")),r.pathname){let e=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,t=0,n="";for(;;){let i=e.exec(r.pathname);if(!i)break;let a=i[0],o=i.index;n+=r.pathname.slice(t,o).replace(/\/{2,}/g,"/")+a,t=o+a.length}n+=r.pathname.slice(t,r.pathname.length).replace(/\/{2,}/g,"/"),r.pathname=n}if(r.pathname)try{r.pathname=decodeURI(r.pathname)}catch{}if(!0===t.removeDirectoryIndex&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let e=r.pathname.split("/");a(e[e.length-1],t.removeDirectoryIndex)&&(e=e.slice(0,-1),r.pathname=e.slice(1).join("/")+"/")}if(r.hostname&&(r.hostname=r.hostname.replace(/\.$/,""),t.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(r.hostname)&&(r.hostname=r.hostname.replace(/^www\./,""))),Array.isArray(t.removeQueryParameters))for(let e of[...r.searchParams.keys()])a(e,t.removeQueryParameters)&&r.searchParams.delete(e);if(!0===t.removeQueryParameters&&(r.search=""),t.sortQueryParameters){r.searchParams.sort();try{r.search=decodeURIComponent(r.search)}catch{}}t.removeTrailingSlash&&(r.pathname=r.pathname.replace(/\/$/,""));let i=e;return e=r.toString(),t.removeSingleSlash||"/"!==r.pathname||i.endsWith("/")||""!==r.hash||(e=e.replace(/\/$/,"")),(t.removeTrailingSlash||"/"===r.pathname)&&""===r.hash&&t.removeSingleSlash&&(e=e.replace(/\/$/,"")),n&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,"//")),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,"")),e}(e,t));let r=i.default(e);if(r.parse_failed){let e=r.href.match(/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/);e?(r.protocols=["ssh"],r.protocol="ssh",r.resource=e[2],r.host=e[2],r.user=e[1],r.pathname=`/${e[3]}`,r.parse_failed=!1):n("URL parsing failed.")}return r};s.MAX_INPUT_LENGTH=2048,e.exports=s},4155:function(e){var t,n,r,i=e.exports={};function a(){throw Error("setTimeout has not been defined")}function o(){throw Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(e){n=o}}();var l=[],u=!1,c=-1;function d(){u&&r&&(u=!1,r.length?l=r.concat(l):c=-1,l.length&&f())}function f(){if(!u){var e=s(d);u=!0;for(var t=l.length;t;){for(r=l,l=[];++c1)for(var n=1;n{let t=/^\\\\\?\\/.test(e),n=/[^\u0000-\u0080]+/.test(e);return t||n?e:e.replace(/\\/g,"/")}},2891:function(e,t,n){let r=n(1439),i=n(7224),a="[^\\s'’\\(\\)!?;:\"-]",o=RegExp(`(?:(?:(\\s?(?:^|[.\\(\\)!?;:"-])\\s*)(${a}))|(${a}))(${a}*[’']*${a}*)`,"g"),s=e=>e.map(e=>[RegExp(`\\b${e}\\b`,"gi"),e]);e.exports=(e,t={})=>(e=e.toLowerCase().replace(o,(e,t="",n,i,a,o,s)=>{let l=e.length+o>=s.length,u=function(e){let t=e[0];return/\s/.test(t)?e.slice(1):/[\(\)]/.test(t)?null:e}(e);return u?!n&&r.has(i+a)&&!l?u:t+(i||n).toUpperCase()+a:e}),s([...i,...t.special||[]]).forEach(([t,n])=>{e=e.replace(t,n)}),e)},1439:function(e){e.exports=new Set(["for","and","nor","but","or","yet","so","a","an","the","aboard","about","above","across","after","against","along","amid","among","anti","around","as","at","before","behind","below","beneath","beside","besides","between","beyond","but","by","concerning","considering","despite","down","during","except","excepting","excluding","following","for","from","in","inside","into","like","minus","near","of","off","on","onto","opposite","over","past","per","plus","regarding","round","save","since","than","through","to","toward","towards","under","underneath","unlike","until","up","upon","versus","via","with","within","without"])},7224:function(e){e.exports=["ZEIT","ZEIT Inc.","Vercel","Vercel Inc.","CLI","API","HTTP","HTTPS","JSX","DNS","URL","now.sh","now.json","vercel.app","vercel.json","CI","CD","CDN","package.json","package.lock","yarn.lock","GitHub","GitLab","CSS","Sass","JS","JavaScript","TypeScript","HTML","WordPress","Next.js","Node.js","Webpack","Docker","Bash","Kubernetes","SWR","TinaCMS","UI","UX","TS","TSX","iPhone","iPad","watchOS","iOS","iPadOS","macOS","PHP","composer.json","composer.lock","CMS","SQL","C","C#","GraphQL","GraphiQL","JWT","JWTs"]},2746:function(e,t,n){n(5893)},512:function(e,t,n){"use strict";t.Z=function(){for(var e,t,n=0,r="",i=arguments.length;na.O.nextId():null);return(0,o.e)(()=>{null===t&&n(a.O.nextId())},[t]),null!=t?""+t:void 0}},2308:function(e,t,n){"use strict";n.d(t,{t:function(){return a}});var r=n(7294),i=n(1378);function a(){let e=(0,r.useRef)(!1);return(0,i.e)(()=>(e.current=!0,()=>{e.current=!1}),[]),e}},1378:function(e,t,n){"use strict";n.d(t,{e:function(){return a}});var r=n(7294),i=n(1830);let a=(e,t)=>{i.O.isServer?(0,r.useEffect)(e,t):(0,r.useLayoutEffect)(e,t)}},5508:function(e,t,n){"use strict";n.d(t,{E:function(){return a}});var r=n(7294),i=n(1378);function a(e){let t=(0,r.useRef)(e);return(0,i.e)(()=>{t.current=e},[e]),t}},961:function(e,t,n){"use strict";n.d(t,{f:function(){return o}});var r=n(7294),i=n(1378);function a(e){var t;if(e.type)return e.type;let n=null!=(t=e.as)?t:"button";if("string"==typeof n&&"button"===n.toLowerCase())return"button"}function o(e,t){let[n,o]=(0,r.useState)(()=>a(e));return(0,i.e)(()=>{o(a(e))},[e.type,e.as]),(0,i.e)(()=>{n||t.current&&t.current instanceof HTMLButtonElement&&!t.current.hasAttribute("type")&&o("button")},[n,t]),n}},2047:function(e,t,n){"use strict";n.d(t,{H:function(){return o}});var r,i=n(7294),a=n(1830);function o(){let e;let t=(e="undefined"==typeof document,(0,(r||(r=n.t(i,2))).useSyncExternalStore)(()=>()=>{},()=>!1,()=>!e)),[o,s]=i.useState(a.O.isHandoffComplete);return o&&!1===a.O.isHandoffComplete&&s(!1),i.useEffect(()=>{!0!==o&&s(!0)},[o]),i.useEffect(()=>a.O.handoff(),[]),!t&&o}},1813:function(e,t,n){"use strict";n.d(t,{T:function(){return o}});var r=n(7294),i=n(3);let a=Symbol();function o(){for(var e=arguments.length,t=Array(e),n=0;n{o.current=t},[t]);let s=(0,i.z)(e=>{for(let t of o.current)null!=t&&("function"==typeof t?t(e):t.current=e)});return t.every(e=>null==e||(null==e?void 0:e[a]))?void 0:s}},7524:function(e,t,n){"use strict";let r;n.d(t,{A:function(){return a},_:function(){return o}});var i=n(8287),a=((r=a||{})[r.None=1]="None",r[r.Focusable=2]="Focusable",r[r.Hidden=4]="Hidden",r);let o=(0,i.yV)(function(e,t){var n;let{features:r=1,...a}=e,o={ref:t,"aria-hidden":(2&r)==2||(null!=(n=a["aria-hidden"])?n:void 0),hidden:(4&r)==4||void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(4&r)==4&&(2&r)!=2&&{display:"none"}}};return(0,i.sY)({ourProps:o,theirProps:a,slot:{},defaultTag:"div",name:"Hidden"})})},5602:function(e,t,n){"use strict";function r(){for(var e=arguments.length,t=Array(e),n=0;n"string"==typeof e?e.split(" "):[]))).filter(Boolean).join(" ")}n.d(t,{A:function(){return r}})},3580:function(e,t,n){"use strict";n.d(t,{k:function(){return function e(){let t=[],n={addEventListener:(e,t,r,i)=>(e.addEventListener(t,r,i),n.add(()=>e.removeEventListener(t,r,i))),requestAnimationFrame(){for(var e=arguments.length,t=Array(e),r=0;rcancelAnimationFrame(i))},nextFrame(){for(var e=arguments.length,t=Array(e),r=0;rn.requestAnimationFrame(...t))},setTimeout(){for(var e=arguments.length,t=Array(e),r=0;rclearTimeout(i))},microTask(){for(var e=arguments.length,t=Array(e),i=0;i{a.current&&t[0]()}),n.add(()=>{a.current=!1})},style(e,t,n){let r=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:n}),this.add(()=>{Object.assign(e.style,{[t]:r})})},group(t){let n=e();return t(n),this.add(()=>n.dispose())},add:e=>(t.push(e),()=>{let n=t.indexOf(e);if(n>=0)for(let e of t.splice(n,1))e()}),dispose(){for(let e of t.splice(0))e()}};return n}}});var r=n(1291)},1830:function(e,t,n){"use strict";n.d(t,{O:function(){return s}});var r=Object.defineProperty,i=(e,t,n)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,a=(e,t,n)=>(i(e,"symbol"!=typeof t?t+"":t,n),n);class o{set(e){this.current!==e&&(this.handoffState="pending",this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return"server"===this.current}get isClient(){return"client"===this.current}detect(){return"undefined"==typeof document?"server":"client"}handoff(){"pending"===this.handoffState&&(this.handoffState="complete")}get isHandoffComplete(){return"complete"===this.handoffState}constructor(){a(this,"current",this.detect()),a(this,"handoffState","pending"),a(this,"currentId",0)}}let s=new o},8657:function(e,t,n){"use strict";let r,i,a,o,s;n.d(t,{EO:function(){return w},TO:function(){return f},fE:function(){return h},jA:function(){return k},sP:function(){return g},tJ:function(){return x},wI:function(){return v},z2:function(){return b}});var l=n(3580),u=n(8844),c=n(8961);let d=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>"".concat(e,":not([tabindex='-1'])")).join(",");var f=((r=f||{})[r.First=1]="First",r[r.Previous=2]="Previous",r[r.Next=4]="Next",r[r.Last=8]="Last",r[r.WrapAround=16]="WrapAround",r[r.NoScroll=32]="NoScroll",r),h=((i=h||{})[i.Error=0]="Error",i[i.Overflow=1]="Overflow",i[i.Success=2]="Success",i[i.Underflow=3]="Underflow",i),p=((a=p||{})[a.Previous=-1]="Previous",a[a.Next=1]="Next",a);function m(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body;return null==e?[]:Array.from(e.querySelectorAll(d)).sort((e,t)=>Math.sign((e.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}var x=((o=x||{})[o.Strict=0]="Strict",o[o.Loose=1]="Loose",o);function g(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e!==(null==(t=(0,c.r)(e))?void 0:t.body)&&(0,u.E)(n,{0:()=>e.matches(d),1(){let t=e;for(;null!==t;){if(t.matches(d))return!0;t=t.parentElement}return!1}})}function v(e){let t=(0,c.r)(e);(0,l.k)().nextFrame(()=>{t&&!g(t.activeElement,0)&&(null==e||e.focus({preventScroll:!0}))})}var y=((s=y||{})[s.Keyboard=0]="Keyboard",s[s.Mouse=1]="Mouse",s);function b(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;return e.slice().sort((e,n)=>{let r=t(e),i=t(n);if(null===r||null===i)return 0;let a=r.compareDocumentPosition(i);return a&Node.DOCUMENT_POSITION_FOLLOWING?-1:a&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function w(e,t){return k(m(),t,{relativeTo:e})}function k(e,t){var n,r,i;let{sorted:a=!0,relativeTo:o=null,skipElements:s=[]}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e.ownerDocument,u=Array.isArray(e)?a?b(e):e:m(e);s.length>0&&u.length>1&&(u=u.filter(e=>!s.includes(e))),o=null!=o?o:l.activeElement;let c=(()=>{if(5&t)return 1;if(10&t)return -1;throw Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),d=(()=>{if(1&t)return 0;if(2&t)return Math.max(0,u.indexOf(o))-1;if(4&t)return Math.max(0,u.indexOf(o))+1;if(8&t)return u.length-1;throw Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),f=32&t?{preventScroll:!0}:{},h=0,p=u.length,x;do{if(h>=p||h+p<=0)return 0;let e=d+h;if(16&t)e=(e+p)%p;else{if(e<0)return 3;if(e>=p)return 1}null==(x=u[e])||x.focus(f),h+=c}while(x!==l.activeElement);return 6&t&&null!=(i=null==(r=null==(n=x)?void 0:n.matches)?void 0:r.call(n,"textarea,input"))&&i&&x.select(),2}"undefined"!=typeof document&&(document.addEventListener("keydown",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="")},!0),document.addEventListener("click",e=>{1===e.detail?delete document.documentElement.dataset.headlessuiFocusVisible:0===e.detail&&(document.documentElement.dataset.headlessuiFocusVisible="")},!0))},8844:function(e,t,n){"use strict";function r(e,t){for(var n=arguments.length,i=Array(n>2?n-2:0),a=2;a'"'.concat(e,'"')).join(", "),"."));throw Error.captureStackTrace&&Error.captureStackTrace(o,r),o}n.d(t,{E:function(){return r}})},1291:function(e,t,n){"use strict";function r(e){"function"==typeof queueMicrotask?queueMicrotask(e):Promise.resolve().then(e).catch(e=>setTimeout(()=>{throw e}))}n.d(t,{Y:function(){return r}})},8961:function(e,t,n){"use strict";n.d(t,{r:function(){return i}});var r=n(1830);function i(e){return r.O.isServer?null:e instanceof Node?e.ownerDocument:null!=e&&e.hasOwnProperty("current")&&e.current instanceof Node?e.current.ownerDocument:document}},8287:function(e,t,n){"use strict";let r,i;n.d(t,{AN:function(){return l},l4:function(){return u},oA:function(){return m},sY:function(){return c},yV:function(){return p}});var a=n(7294),o=n(5602),s=n(8844),l=((r=l||{})[r.None=0]="None",r[r.RenderStrategy=1]="RenderStrategy",r[r.Static=2]="Static",r),u=((i=u||{})[i.Unmount=0]="Unmount",i[i.Hidden=1]="Hidden",i);function c(e){let{ourProps:t,theirProps:n,slot:r,defaultTag:i,features:a,visible:o=!0,name:l,mergeRefs:u}=e;u=null!=u?u:f;let c=h(n,t);if(o)return d(c,r,i,l,u);let p=null!=a?a:0;if(2&p){let{static:e=!1,...t}=c;if(e)return d(t,r,i,l,u)}if(1&p){let{unmount:e=!0,...t}=c;return(0,s.E)(e?0:1,{0:()=>null,1:()=>d({...t,hidden:!0,style:{display:"none"}},r,i,l,u)})}return d(c,r,i,l,u)}function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,{as:s=n,children:l,refName:u="ref",...c}=x(e,["unmount","static"]),d=void 0!==e.ref?{[u]:e.ref}:{},f="function"==typeof l?l(t):l;"className"in c&&c.className&&"function"==typeof c.className&&(c.className=c.className(t));let p={};if(t){let e=!1,n=[];for(let[r,i]of Object.entries(t))"boolean"==typeof i&&(e=!0),!0===i&&n.push(r);e&&(p["data-headlessui-state"]=n.join(" "))}if(s===a.Fragment&&Object.keys(m(c)).length>0){if(!(0,a.isValidElement)(f)||Array.isArray(f)&&f.length>1)throw Error(['Passing props on "Fragment"!',"","The current component <".concat(r,' /> is rendering a "Fragment".'),"However we need to passthrough the following props:",Object.keys(c).map(e=>" - ".concat(e)).join("\n"),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',"Render a single element as the child so that we can forward the props onto that element."].map(e=>" - ".concat(e)).join("\n")].join("\n"));let e=f.props,t="function"==typeof(null==e?void 0:e.className)?function(){for(var t=arguments.length,n=Array(t),r=0;rnull==e)?void 0:e=>{for(let n of t)null!=n&&("function"==typeof n?n(e):n.current=e)}}function h(){for(var e=arguments.length,t=Array(e),n=0;n[e,void 0])));for(let e in i)Object.assign(r,{[e](t){for(var n=arguments.length,r=Array(n>1?n-1:0),a=1;a1&&void 0!==arguments[1]?arguments[1]:[],n=Object.assign({},e);for(let e of t)e in n&&delete n[e];return n}},7222:function(e,t,n){"use strict";n.d(t,{ZW:function(){return a},eZ:function(){return s},hV:function(){return l}});var r=n(1864),i=n(4155),a="en-US",o=i.cwd();r.join(o,"public");var s=Symbol.for("__nextra_internal__"),l=new Set(["/404","/500"])}}]); \ No newline at end of file diff --git a/_next/static/chunks/6336.3a26efafc617e234.js b/_next/static/chunks/6336.3a26efafc617e234.js new file mode 100644 index 0000000..504fd7c --- /dev/null +++ b/_next/static/chunks/6336.3a26efafc617e234.js @@ -0,0 +1,155 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6336],{6336:function(t,e,s){s.d(e,{d:function(){return D},p:function(){return r},s:function(){return _}});var i=s(4218),u=s(1835),n=function(){var t=function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},e=[1,17],s=[1,18],i=[1,19],u=[1,39],n=[1,40],r=[1,25],a=[1,23],l=[1,24],c=[1,31],o=[1,32],h=[1,33],A=[1,34],p=[1,35],y=[1,36],d=[1,26],E=[1,27],C=[1,28],m=[1,29],f=[1,43],b=[1,30],F=[1,42],g=[1,44],k=[1,41],T=[1,45],B=[1,9],D=[1,8,9],_=[1,56],S=[1,57],N=[1,58],L=[1,59],$=[1,60],O=[1,61],v=[1,62],I=[1,8,9,39],x=[1,74],R=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],P=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],w=[13,74,80,95,97,98],M=[13,64,65,74,80,95,97,98],G=[13,59,60,61,62,63,74,80,95,97,98],U=[1,93],Y=[1,110],z=[1,108],K=[1,102],j=[1,103],Q=[1,104],X=[1,105],W=[1,106],q=[1,107],H=[1,109],J=[1,8,9,37,39,42],V=[1,8,9,21],Z=[1,8,9,78],tt=[1,8,9,21,73,74,78,80,81,82,83,84,85],te={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(t,e,s,i,u,n,r){var a=n.length-1;switch(u){case 8:this.$=n[a-1];break;case 9:case 11:case 12:this.$=n[a];break;case 10:case 13:case 89:this.$=n[a-1]+n[a];break;case 14:case 15:this.$=n[a-1]+"~"+n[a]+"~";break;case 16:i.addRelation(n[a]);break;case 17:n[a-1].title=i.cleanupLabel(n[a]),i.addRelation(n[a-1]);break;case 27:this.$=n[a].trim(),i.setAccTitle(this.$);break;case 28:case 29:this.$=n[a].trim(),i.setAccDescription(this.$);break;case 30:i.addClassesToNamespace(n[a-3],n[a-1]);break;case 31:i.addClassesToNamespace(n[a-4],n[a-1]);break;case 32:this.$=n[a],i.addNamespace(n[a]);break;case 33:case 43:case 86:this.$=[n[a]];break;case 34:this.$=[n[a-1]];break;case 35:n[a].unshift(n[a-2]),this.$=n[a];break;case 37:i.setCssClass(n[a-2],n[a]);break;case 38:i.addMembers(n[a-3],n[a-1]);break;case 39:i.setCssClass(n[a-5],n[a-3]),i.addMembers(n[a-5],n[a-1]);break;case 40:this.$=n[a],i.addClass(n[a]);break;case 41:this.$=n[a-1],i.addClass(n[a-1]),i.setClassLabel(n[a-1],n[a]);break;case 42:i.addAnnotation(n[a],n[a-2]);break;case 44:n[a].push(n[a-1]),this.$=n[a];break;case 45:case 47:case 48:break;case 46:i.addMember(n[a-1],i.cleanupLabel(n[a]));break;case 49:this.$={id1:n[a-2],id2:n[a],relation:n[a-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:n[a-3],id2:n[a],relation:n[a-1],relationTitle1:n[a-2],relationTitle2:"none"};break;case 51:this.$={id1:n[a-3],id2:n[a],relation:n[a-2],relationTitle1:"none",relationTitle2:n[a-1]};break;case 52:this.$={id1:n[a-4],id2:n[a],relation:n[a-2],relationTitle1:n[a-3],relationTitle2:n[a-1]};break;case 53:i.addNote(n[a],n[a-1]);break;case 54:i.addNote(n[a]);break;case 55:i.setDirection("TB");break;case 56:i.setDirection("BT");break;case 57:i.setDirection("RL");break;case 58:i.setDirection("LR");break;case 59:this.$={type1:n[a-2],type2:n[a],lineType:n[a-1]};break;case 60:this.$={type1:"none",type2:n[a],lineType:n[a-1]};break;case 61:this.$={type1:n[a-1],type2:"none",lineType:n[a]};break;case 62:this.$={type1:"none",type2:"none",lineType:n[a]};break;case 63:this.$=i.relationType.AGGREGATION;break;case 64:this.$=i.relationType.EXTENSION;break;case 65:this.$=i.relationType.COMPOSITION;break;case 66:this.$=i.relationType.DEPENDENCY;break;case 67:this.$=i.relationType.LOLLIPOP;break;case 68:this.$=i.lineType.LINE;break;case 69:this.$=i.lineType.DOTTED_LINE;break;case 70:case 76:this.$=n[a-2],i.setClickEvent(n[a-1],n[a]);break;case 71:case 77:this.$=n[a-3],i.setClickEvent(n[a-2],n[a-1]),i.setTooltip(n[a-2],n[a]);break;case 72:this.$=n[a-2],i.setLink(n[a-1],n[a]);break;case 73:this.$=n[a-3],i.setLink(n[a-2],n[a-1],n[a]);break;case 74:this.$=n[a-3],i.setLink(n[a-2],n[a-1]),i.setTooltip(n[a-2],n[a]);break;case 75:this.$=n[a-4],i.setLink(n[a-3],n[a-2],n[a]),i.setTooltip(n[a-3],n[a-1]);break;case 78:this.$=n[a-3],i.setClickEvent(n[a-2],n[a-1],n[a]);break;case 79:this.$=n[a-4],i.setClickEvent(n[a-3],n[a-2],n[a-1]),i.setTooltip(n[a-3],n[a]);break;case 80:this.$=n[a-3],i.setLink(n[a-2],n[a]);break;case 81:this.$=n[a-4],i.setLink(n[a-3],n[a-1],n[a]);break;case 82:this.$=n[a-4],i.setLink(n[a-3],n[a-1]),i.setTooltip(n[a-3],n[a]);break;case 83:this.$=n[a-5],i.setLink(n[a-4],n[a-2],n[a]),i.setTooltip(n[a-4],n[a-1]);break;case 84:this.$=n[a-2],i.setCssStyle(n[a-1],n[a]);break;case 85:i.setCssClass(n[a-1],n[a]);break;case 87:n[a-2].push(n[a]),this.$=n[a-2]}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:e,33:s,35:i,36:21,40:u,41:22,44:n,45:r,47:a,48:l,50:c,52:o,53:h,54:A,55:p,56:y,66:d,67:E,69:C,73:m,74:f,76:b,80:F,95:g,97:k,98:T},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(B,[2,5],{8:[1,46]}),{8:[1,47]},t(D,[2,16],{21:[1,48]}),t(D,[2,18]),t(D,[2,19]),t(D,[2,20]),t(D,[2,21]),t(D,[2,22]),t(D,[2,23]),t(D,[2,24]),t(D,[2,25]),t(D,[2,26]),{32:[1,49]},{34:[1,50]},t(D,[2,29]),t(D,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:_,60:S,61:N,62:L,63:$,64:O,65:v}),{37:[1,63]},t(I,[2,36],{37:[1,65],42:[1,64]}),t(D,[2,47]),t(D,[2,48]),{16:66,74:f,80:F,95:g,97:k},{16:37,17:67,18:38,74:f,80:F,95:g,97:k,98:T},{16:37,17:68,18:38,74:f,80:F,95:g,97:k,98:T},{16:37,17:69,18:38,74:f,80:F,95:g,97:k,98:T},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:f,80:F,95:g,97:k,98:T},{13:x,51:73},t(D,[2,55]),t(D,[2,56]),t(D,[2,57]),t(D,[2,58]),t(R,[2,11],{16:37,18:38,17:75,19:[1,76],74:f,80:F,95:g,97:k,98:T}),t(R,[2,12],{19:[1,77]}),{15:78,16:79,74:f,80:F,95:g,97:k},{16:37,17:80,18:38,74:f,80:F,95:g,97:k,98:T},t(P,[2,112]),t(P,[2,113]),t(P,[2,114]),t(P,[2,115]),t([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),t(B,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:e,33:s,35:i,40:u,44:n,45:r,47:a,48:l,50:c,52:o,53:h,54:A,55:p,56:y,66:d,67:E,69:C,73:m,74:f,76:b,80:F,95:g,97:k,98:T}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:e,33:s,35:i,36:21,40:u,41:22,44:n,45:r,47:a,48:l,50:c,52:o,53:h,54:A,55:p,56:y,66:d,67:E,69:C,73:m,74:f,76:b,80:F,95:g,97:k,98:T},t(D,[2,17]),t(D,[2,27]),t(D,[2,28]),{13:[1,84],16:37,17:83,18:38,74:f,80:F,95:g,97:k,98:T},{49:85,57:54,58:55,59:_,60:S,61:N,62:L,63:$,64:O,65:v},t(D,[2,46]),{58:86,64:O,65:v},t(w,[2,62],{57:87,59:_,60:S,61:N,62:L,63:$}),t(M,[2,63]),t(M,[2,64]),t(M,[2,65]),t(M,[2,66]),t(M,[2,67]),t(G,[2,68]),t(G,[2,69]),{8:[1,89],23:90,38:88,41:22,44:n},{16:91,74:f,80:F,95:g,97:k},{43:92,47:U},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Y,73:z,74:K,75:99,77:100,79:101,80:j,81:Q,82:X,83:W,84:q,85:H},{74:[1,111]},{13:x,51:112},t(D,[2,54]),t(D,[2,117]),t(R,[2,13]),t(R,[2,14]),t(R,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:f,80:F,95:g,97:k},t(J,[2,40],{11:114,12:[1,115]}),t(B,[2,7]),{9:[1,116]},t(V,[2,49]),{16:37,17:117,18:38,74:f,80:F,95:g,97:k,98:T},{13:[1,119],16:37,17:118,18:38,74:f,80:F,95:g,97:k,98:T},t(w,[2,61],{57:120,59:_,60:S,61:N,62:L,63:$}),t(w,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:n},{8:[1,123],39:[2,33]},t(I,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:U},{16:37,17:127,18:38,74:f,80:F,95:g,97:k,98:T},t(D,[2,70],{13:[1,128]}),t(D,[2,72],{13:[1,130],68:[1,129]}),t(D,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},t(D,[2,84],{78:[1,134]}),t(Z,[2,86],{79:135,21:Y,73:z,74:K,80:j,81:Q,82:X,83:W,84:q,85:H}),t(tt,[2,88]),t(tt,[2,90]),t(tt,[2,91]),t(tt,[2,92]),t(tt,[2,93]),t(tt,[2,94]),t(tt,[2,95]),t(tt,[2,96]),t(tt,[2,97]),t(tt,[2,98]),t(D,[2,85]),t(D,[2,53]),{37:[2,10]},t(J,[2,41]),{13:[1,136]},{1:[2,4]},t(V,[2,51]),t(V,[2,50]),{16:37,17:137,18:38,74:f,80:F,95:g,97:k,98:T},t(w,[2,59]),t(D,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:n},{43:140,47:U},t(I,[2,38]),{39:[2,44]},t(D,[2,42]),t(D,[2,71]),t(D,[2,73]),t(D,[2,74],{68:[1,141]}),t(D,[2,77]),t(D,[2,78],{13:[1,142]}),t(D,[2,80],{13:[1,144],68:[1,143]}),{21:Y,73:z,74:K,77:145,79:101,80:j,81:Q,82:X,83:W,84:q,85:H},t(tt,[2,89]),{14:[1,146]},t(V,[2,52]),t(D,[2,31]),{39:[2,35]},{39:[1,147]},t(D,[2,75]),t(D,[2,79]),t(D,[2,81]),t(D,[2,82],{68:[1,148]}),t(Z,[2,87],{79:135,21:Y,73:z,74:K,80:j,81:Q,82:X,83:W,84:q,85:H}),t(J,[2,8]),t(I,[2,39]),t(D,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var s=Error(t);throw s.hash=e,s}},parse:function(t){var e=this,s=[0],i=[],u=[null],n=[],r=this.table,a="",l=0,c=0,o=n.slice.call(arguments,1),h=Object.create(this.lexer),A={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(A.yy[p]=this.yy[p]);h.setInput(t,A.yy),A.yy.lexer=h,A.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var y=h.yylloc;n.push(y);var d=h.options&&h.options.ranges;"function"==typeof A.yy.parseError?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var E,C,m,f,b,F,g,k,T={};;){if(C=s[s.length-1],this.defaultActions[C]?m=this.defaultActions[C]:(null==E&&(E=function(){var t;return"number"!=typeof(t=i.pop()||h.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}()),m=r[C]&&r[C][E]),void 0===m||!m.length||!m[0]){var B="";for(b in k=[],r[C])this.terminals_[b]&&b>2&&k.push("'"+this.terminals_[b]+"'");B=h.showPosition?"Parse error on line "+(l+1)+":\n"+h.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[E]||E)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==E?"end of input":"'"+(this.terminals_[E]||E)+"'"),this.parseError(B,{text:h.match,token:this.terminals_[E]||E,line:h.yylineno,loc:y,expected:k})}if(m[0]instanceof Array&&m.length>1)throw Error("Parse Error: multiple actions possible at state: "+C+", token: "+E);switch(m[0]){case 1:s.push(E),u.push(h.yytext),n.push(h.yylloc),s.push(m[1]),E=null,c=h.yyleng,a=h.yytext,l=h.yylineno,y=h.yylloc;break;case 2:if(F=this.productions_[m[1]][1],T.$=u[u.length-F],T._$={first_line:n[n.length-(F||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(F||1)].first_column,last_column:n[n.length-1].last_column},d&&(T._$.range=[n[n.length-(F||1)].range[0],n[n.length-1].range[1]]),void 0!==(f=this.performAction.apply(T,[a,c,l,A.yy,m[1],u,n].concat(o))))return f;F&&(s=s.slice(0,-1*F*2),u=u.slice(0,-1*F),n=n.slice(0,-1*F)),s.push(this.productions_[m[1]][0]),u.push(T.$),n.push(T._$),g=r[s[s.length-2]][s[s.length-1]],s.push(g);break;case 3:return!0}}return!0}};function ts(){this.yy={}}return te.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var s,i,u;if(this.options.backtrack_lexer&&(u={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(u.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var n in u)this[n]=u[n];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,s,i,u=this._currentRules(),n=0;ne[0].length)){if(e=s,i=n,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,u[n])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,u[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,s,i){switch(s){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:case 5:case 14:case 30:case 35:case 39:case 46:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 19:case 22:case 24:case 57:case 60:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 34:return 8;case 15:case 16:return 7;case 17:case 36:case 44:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 23:return 71;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:case 38:return this.popState(),8;case 31:return this.begin("namespace-body"),37;case 32:case 42:return this.popState(),39;case 33:case 43:return"EOF_IN_STRUCT";case 37:return this.begin("class"),44;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 45:return"OPEN_IN_STRUCT";case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:case 64:case 65:case 66:return 68;case 67:case 68:return 60;case 69:case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:case 84:return 84;case 85:return 85;case 86:case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:case 95:return 83;case 96:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}},ts.prototype=te,te.Parser=ts,new ts}();n.parser=n;let r=n,a=["#","+","~","-",""];class l{constructor(t,e){this.memberType=e,this.visibility="",this.classifier="";let s=(0,u.d)(t,(0,u.c)());this.parseMember(s)}getDisplayDetails(){let t=this.visibility+(0,u.x)(this.id);return"method"===this.memberType&&(t+=`(${(0,u.x)(this.parameters.trim())})`,this.returnType&&(t+=" : "+(0,u.x)(this.returnType))),{displayText:t=t.trim(),cssStyle:this.parseClassifier()}}parseMember(t){let e="";if("method"===this.memberType){let s=t.match(/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/);if(s){let t=s[1]?s[1].trim():"";if(a.includes(t)&&(this.visibility=t),this.id=s[2].trim(),this.parameters=s[3]?s[3].trim():"",e=s[4]?s[4].trim():"",this.returnType=s[5]?s[5].trim():"",""===e){let t=this.returnType.substring(this.returnType.length-1);t.match(/[$*]/)&&(e=t,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let s=t.length,i=t.substring(0,1),u=t.substring(s-1);a.includes(i)&&(this.visibility=i),u.match(/[$*]/)&&(e=u),this.id=t.substring(""===this.visibility?0:1,""===e?s:s-1)}this.classifier=e}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}let c="classId-",o=[],h={},A=[],p=0,y={},d=0,E=[],C=t=>u.e.sanitizeText(t,(0,u.c)()),m=function(t){let e=u.e.sanitizeText(t,(0,u.c)()),s="",i=e;if(e.indexOf("~")>0){let t=e.split("~");i=C(t[0]),s=C(t[1])}return{className:i,type:s}},f=function(t){let{className:e,type:s}=m(u.e.sanitizeText(t,(0,u.c)()));if(Object.hasOwn(h,e))return;let i=u.e.sanitizeText(e,(0,u.c)());h[i]={id:i,type:s,label:i,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:c+i+"-"+p},p++},b=function(t){let e=u.e.sanitizeText(t,(0,u.c)());if(e in h)return h[e].domId;throw Error("Class not found: "+e)},F=function(t,e){f(t);let s=h[m(t).className];if("string"==typeof e){let t=e.trim();t.startsWith("<<")&&t.endsWith(">>")?s.annotations.push(C(t.substring(2,t.length-2))):t.indexOf(")")>0?s.methods.push(new l(t,"method")):t&&s.members.push(new l(t,"attribute"))}},g=function(t,e){t.split(",").forEach(function(t){let s=t;t[0].match(/\d/)&&(s=c+s),void 0!==h[s]&&h[s].cssClasses.push(e)})},k=function(t,e,s){let i=u.e.sanitizeText(t,(0,u.c)());if("loose"===(0,u.c)().securityLevel&&void 0!==e&&void 0!==h[i]){let t=b(i),n=[];if("string"==typeof s){n=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t")),t.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),(0,i.Ys)(this).classed("hover",!1)})};E.push(T);let B="TB",D={setAccTitle:u.s,getAccTitle:u.g,getAccDescription:u.a,setAccDescription:u.b,getConfig:()=>(0,u.c)().class,addClass:f,bindFunctions:function(t){E.forEach(function(e){e(t)})},clear:function(){o=[],h={},A=[],(E=[]).push(T),y={},d=0,(0,u.v)()},getClass:function(t){return h[t]},getClasses:function(){return h},getNotes:function(){return A},addAnnotation:function(t,e){h[m(t).className].annotations.push(e)},addNote:function(t,e){let s={id:`note${A.length}`,class:e,text:t};A.push(s)},getRelations:function(){return o},addRelation:function(t){u.l.debug("Adding relation: "+JSON.stringify(t)),f(t.id1),f(t.id2),t.id1=m(t.id1).className,t.id2=m(t.id2).className,t.relationTitle1=u.e.sanitizeText(t.relationTitle1.trim(),(0,u.c)()),t.relationTitle2=u.e.sanitizeText(t.relationTitle2.trim(),(0,u.c)()),o.push(t)},getDirection:()=>B,setDirection:t=>{B=t},addMember:F,addMembers:function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach(e=>F(t,e)))},cleanupLabel:function(t){return t.startsWith(":")&&(t=t.substring(1)),C(t.trim())},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},setClickEvent:function(t,e,s){t.split(",").forEach(function(t){k(t,e,s),h[t].haveCallback=!0}),g(t,"clickable")},setCssClass:g,setLink:function(t,e,s){let i=(0,u.c)();t.split(",").forEach(function(t){let n=t;t[0].match(/\d/)&&(n=c+n),void 0!==h[n]&&(h[n].link=u.u.formatUrl(e,i),"sandbox"===i.securityLevel?h[n].linkTarget="_top":"string"==typeof s?h[n].linkTarget=C(s):h[n].linkTarget="_blank")}),g(t,"clickable")},getTooltip:function(t,e){return e?y[e].classes[t].tooltip:h[t].tooltip},setTooltip:function(t,e){t.split(",").forEach(function(t){void 0!==e&&(h[t].tooltip=C(e))})},lookUpDomId:b,setDiagramTitle:u.q,getDiagramTitle:u.t,setClassLabel:function(t,e){let s=u.e.sanitizeText(t,(0,u.c)());e&&(e=C(e));let{className:i}=m(s);h[i].label=e},addNamespace:function(t){void 0===y[t]&&(y[t]={id:t,classes:{},children:{},domId:c+t+"-"+d},d++)},addClassesToNamespace:function(t,e){if(void 0!==y[t])for(let s of e){let{className:e}=m(s);h[e].parent=t,y[t].classes[e]=h[e]}},getNamespace:function(t){return y[t]},getNamespaces:function(){return y},setCssStyle:function(t,e){let s=h[t];if(e&&s)for(let t of e)t.includes(",")?s.styles.push(...t.split(",")):s.styles.push(t)}},_=t=>`g.classGroup text { + fill: ${t.nodeBorder||t.classText}; + stroke: none; + font-family: ${t.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${t.classText}; +} +.edgeLabel .label rect { + fill: ${t.mainBkg}; +} +.label text { + fill: ${t.classText}; +} +.edgeLabel .label span { + background: ${t.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.classGroup line { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${t.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${t.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`}}]); \ No newline at end of file diff --git a/_next/static/chunks/6705.f596888f4cba461e.js b/_next/static/chunks/6705.f596888f4cba461e.js new file mode 100644 index 0000000..a04f7e1 --- /dev/null +++ b/_next/static/chunks/6705.f596888f4cba461e.js @@ -0,0 +1,113 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6705],{9792:function(e,t,i){var s=i(1691),r=i(1610);t.Z=(e,t)=>s.Z.lang.round(r.Z.parse(e)[t])},6705:function(e,t,i){i.d(t,{diagram:function(){return F}});var s,r,l=i(1835),n=i(9753),o=i(9792),a=i(1117),c=i(585),u=i(5625),h=i(4218);i(7484),i(6574),i(7856);var d=function(){var e=function(e,t,i,s){for(i=i||{},s=e.length;s--;i[e[s]]=t);return i},t=[1,7],i=[1,13],s=[1,14],r=[1,15],l=[1,19],n=[1,16],o=[1,17],a=[1,18],c=[8,30],u=[8,21,28,29,30,31,32,40,44,47],h=[1,23],d=[1,24],g=[8,15,16,21,28,29,30,31,32,40,44,47],y=[8,15,16,21,27,28,29,30,31,32,40,44,47],p=[1,49],b={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(e,t,i,s,r,l,n){var o=l.length-1;switch(r){case 4:s.getLogger().debug("Rule: separator (NL) ");break;case 5:s.getLogger().debug("Rule: separator (Space) ");break;case 6:s.getLogger().debug("Rule: separator (EOF) ");break;case 7:s.getLogger().debug("Rule: hierarchy: ",l[o-1]),s.setHierarchy(l[o-1]);break;case 8:s.getLogger().debug("Stop NL ");break;case 9:s.getLogger().debug("Stop EOF ");break;case 10:s.getLogger().debug("Stop NL2 ");break;case 11:s.getLogger().debug("Stop EOF2 ");break;case 12:s.getLogger().debug("Rule: statement: ",l[o]),"number"==typeof l[o].length?this.$=l[o]:this.$=[l[o]];break;case 13:s.getLogger().debug("Rule: statement #2: ",l[o-1]),this.$=[l[o-1]].concat(l[o]);break;case 14:s.getLogger().debug("Rule: link: ",l[o],e),this.$={edgeTypeStr:l[o],label:""};break;case 15:s.getLogger().debug("Rule: LABEL link: ",l[o-3],l[o-1],l[o]),this.$={edgeTypeStr:l[o],label:l[o-1]};break;case 18:let a=parseInt(l[o]),c=s.generateId();this.$={id:c,type:"space",label:"",width:a,children:[]};break;case 23:s.getLogger().debug("Rule: (nodeStatement link node) ",l[o-2],l[o-1],l[o]," typestr: ",l[o-1].edgeTypeStr);let u=s.edgeStrToEdgeData(l[o-1].edgeTypeStr);this.$=[{id:l[o-2].id,label:l[o-2].label,type:l[o-2].type,directions:l[o-2].directions},{id:l[o-2].id+"-"+l[o].id,start:l[o-2].id,end:l[o].id,label:l[o-1].label,type:"edge",directions:l[o].directions,arrowTypeEnd:u,arrowTypeStart:"arrow_open"},{id:l[o].id,label:l[o].label,type:s.typeStr2Type(l[o].typeStr),directions:l[o].directions}];break;case 24:s.getLogger().debug("Rule: nodeStatement (abc88 node size) ",l[o-1],l[o]),this.$={id:l[o-1].id,label:l[o-1].label,type:s.typeStr2Type(l[o-1].typeStr),directions:l[o-1].directions,widthInColumns:parseInt(l[o],10)};break;case 25:s.getLogger().debug("Rule: nodeStatement (node) ",l[o]),this.$={id:l[o].id,label:l[o].label,type:s.typeStr2Type(l[o].typeStr),directions:l[o].directions,widthInColumns:1};break;case 26:s.getLogger().debug("APA123",this?this:"na"),s.getLogger().debug("COLUMNS: ",l[o]),this.$={type:"column-setting",columns:"auto"===l[o]?-1:parseInt(l[o])};break;case 27:s.getLogger().debug("Rule: id-block statement : ",l[o-2],l[o-1]),s.generateId(),this.$={...l[o-2],type:"composite",children:l[o-1]};break;case 28:s.getLogger().debug("Rule: blockStatement : ",l[o-2],l[o-1],l[o]);let h=s.generateId();this.$={id:h,type:"composite",label:"",children:l[o-1]};break;case 29:s.getLogger().debug("Rule: node (NODE_ID separator): ",l[o]),this.$={id:l[o]};break;case 30:s.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",l[o-1],l[o]),this.$={id:l[o-1],label:l[o].label,typeStr:l[o].typeStr,directions:l[o].directions};break;case 31:s.getLogger().debug("Rule: dirList: ",l[o]),this.$=[l[o]];break;case 32:s.getLogger().debug("Rule: dirList: ",l[o-1],l[o]),this.$=[l[o-1]].concat(l[o]);break;case 33:s.getLogger().debug("Rule: nodeShapeNLabel: ",l[o-2],l[o-1],l[o]),this.$={typeStr:l[o-2]+l[o],label:l[o-1]};break;case 34:s.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",l[o-3],l[o-2]," #3:",l[o-1],l[o]),this.$={typeStr:l[o-3]+l[o],label:l[o-2],directions:l[o-1]};break;case 35:case 36:this.$={type:"classDef",id:l[o-1].trim(),css:l[o].trim()};break;case 37:this.$={type:"applyClass",id:l[o-1].trim(),styleClass:l[o].trim()};break;case 38:this.$={type:"applyStyles",id:l[o-1].trim(),stylesStr:l[o].trim()}}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:i,29:s,31:r,32:l,40:n,44:o,47:a},{8:[1,20]},e(c,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:t,28:i,29:s,31:r,32:l,40:n,44:o,47:a}),e(u,[2,16],{14:22,15:h,16:d}),e(u,[2,17]),e(u,[2,18]),e(u,[2,19]),e(u,[2,20]),e(u,[2,21]),e(u,[2,22]),e(g,[2,25],{27:[1,25]}),e(u,[2,26]),{19:26,26:12,32:l},{11:27,13:4,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:i,29:s,31:r,32:l,40:n,44:o,47:a},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},e(y,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},e(c,[2,13]),{26:35,32:l},{32:[2,14]},{17:[1,36]},e(g,[2,24]),{11:37,13:4,14:22,15:h,16:d,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:i,29:s,31:r,32:l,40:n,44:o,47:a},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},e(y,[2,30]),{18:[1,43]},{18:[1,44]},e(g,[2,23]),{18:[1,45]},{30:[1,46]},e(u,[2,28]),e(u,[2,35]),e(u,[2,36]),e(u,[2,37]),e(u,[2,38]),{37:[1,47]},{34:48,35:p},{15:[1,50]},e(u,[2,27]),e(y,[2,33]),{39:[1,51]},{34:52,35:p,39:[2,31]},{32:[2,15]},e(y,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(e,t){if(t.recoverable)this.trace(e);else{var i=Error(e);throw i.hash=t,i}},parse:function(e){var t=this,i=[0],s=[],r=[null],l=[],n=this.table,o="",a=0,c=0,u=l.slice.call(arguments,1),h=Object.create(this.lexer),d={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(d.yy[g]=this.yy[g]);h.setInput(e,d.yy),d.yy.lexer=h,d.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var y=h.yylloc;l.push(y);var p=h.options&&h.options.ranges;"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,x,S,f,L,_,m,k,E={};;){if(x=i[i.length-1],this.defaultActions[x]?S=this.defaultActions[x]:(null==b&&(b=function(){var e;return"number"!=typeof(e=s.pop()||h.lex()||1)&&(e instanceof Array&&(e=(s=e).pop()),e=t.symbols_[e]||e),e}()),S=n[x]&&n[x][b]),void 0===S||!S.length||!S[0]){var w="";for(L in k=[],n[x])this.terminals_[L]&&L>2&&k.push("'"+this.terminals_[L]+"'");w=h.showPosition?"Parse error on line "+(a+1)+":\n"+h.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(a+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(w,{text:h.match,token:this.terminals_[b]||b,line:h.yylineno,loc:y,expected:k})}if(S[0]instanceof Array&&S.length>1)throw Error("Parse Error: multiple actions possible at state: "+x+", token: "+b);switch(S[0]){case 1:i.push(b),r.push(h.yytext),l.push(h.yylloc),i.push(S[1]),b=null,c=h.yyleng,o=h.yytext,a=h.yylineno,y=h.yylloc;break;case 2:if(_=this.productions_[S[1]][1],E.$=r[r.length-_],E._$={first_line:l[l.length-(_||1)].first_line,last_line:l[l.length-1].last_line,first_column:l[l.length-(_||1)].first_column,last_column:l[l.length-1].last_column},p&&(E._$.range=[l[l.length-(_||1)].range[0],l[l.length-1].range[1]]),void 0!==(f=this.performAction.apply(E,[o,c,a,d.yy,S[1],r,l].concat(u))))return f;_&&(i=i.slice(0,-1*_*2),r=r.slice(0,-1*_),l=l.slice(0,-1*_)),i.push(this.productions_[S[1]][0]),r.push(E.$),l.push(E._$),m=n[i[i.length-2]][i[i.length-1]],i.push(m);break;case 3:return!0}}return!0}};function x(){this.yy={}}return b.lexer={EOF:1,parseError:function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===s.length?this.yylloc.first_column:0)+s[s.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var i,s,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(s=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var l in r)this[l]=r[l];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,i,s,r=this._currentRules(),l=0;lt[0].length)){if(t=i,s=l,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[l])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[s]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,i,s){switch(i){case 0:return 10;case 1:return e.getLogger().debug("Found space-block"),31;case 2:return e.getLogger().debug("Found nl-block"),31;case 3:return e.getLogger().debug("Found space-block"),29;case 4:e.getLogger().debug(".",t.yytext);break;case 5:e.getLogger().debug("_",t.yytext);break;case 6:return 5;case 7:return t.yytext=-1,28;case 8:return t.yytext=t.yytext.replace(/columns\s+/,""),e.getLogger().debug("COLUMNS (LEX)",t.yytext),28;case 9:case 77:case 78:case 100:this.pushState("md_string");break;case 10:return"MD_STR";case 11:case 35:case 80:this.popState();break;case 12:this.pushState("string");break;case 13:e.getLogger().debug("LEX: POPPING STR:",t.yytext),this.popState();break;case 14:return e.getLogger().debug("LEX: STR end:",t.yytext),"STR";case 15:return t.yytext=t.yytext.replace(/space\:/,""),e.getLogger().debug("SPACE NUM (LEX)",t.yytext),21;case 16:return t.yytext="1",e.getLogger().debug("COLUMNS (LEX)",t.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:case 39:case 41:case 42:case 45:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),e.getLogger().debug("Lex: ))"),"NODE_DEND";case 43:return this.popState(),e.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),e.getLogger().debug("Lex: -)"),"NODE_DEND";case 46:return this.popState(),e.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),e.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),e.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:case 50:return this.popState(),e.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),e.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),e.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),e.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),e.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return e.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return e.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return e.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:case 60:case 61:case 62:case 65:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return e.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 63:return e.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return e.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 66:case 67:case 68:case 69:case 70:case 71:case 72:return this.pushState("NODE"),36;case 73:return e.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),e.getLogger().debug("LEX ARR START"),38;case 75:return e.getLogger().debug("Lex: NODE_ID",t.yytext),32;case 76:return e.getLogger().debug("Lex: EOF",t.yytext),8;case 79:return"NODE_DESCR";case 81:e.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:e.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return e.getLogger().debug("LEX: NODE_DESCR:",t.yytext),"NODE_DESCR";case 84:e.getLogger().debug("LEX POPPING"),this.popState();break;case 85:e.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (right): dir:",t.yytext),"DIR";case 87:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (left):",t.yytext),"DIR";case 88:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (x):",t.yytext),"DIR";case 89:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (y):",t.yytext),"DIR";case 90:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (up):",t.yytext),"DIR";case 91:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (down):",t.yytext),"DIR";case 92:return t.yytext="]>",e.getLogger().debug("Lex (ARROW_DIR end):",t.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return e.getLogger().debug("Lex: LINK","#"+t.yytext+"#"),15;case 94:case 95:case 96:return e.getLogger().debug("Lex: LINK",t.yytext),15;case 97:case 98:case 99:return e.getLogger().debug("Lex: START_LINK",t.yytext),this.pushState("LLABEL"),16;case 101:return e.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),e.getLogger().debug("Lex: LINK","#"+t.yytext+"#"),15;case 103:case 104:return this.popState(),e.getLogger().debug("Lex: LINK",t.yytext),15;case 105:return e.getLogger().debug("Lex: COLON",t.yytext),t.yytext=t.yytext.slice(1),27}},rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}},x.prototype=b,b.Parser=x,new x}();d.parser=d;let g={},y=[],p={},b="color",x="fill",S=(0,l.c)(),f={},L=e=>l.e.sanitizeText(e,S),_=function(e,t=""){void 0===f[e]&&(f[e]={id:e,styles:[],textStyles:[]});let i=f[e];null!=t&&t.split(",").forEach(e=>{let t=e.replace(/([^;]*);/,"$1").trim();if(e.match(b)){let e=t.replace(x,"bgFill").replace(b,x);i.textStyles.push(e)}i.styles.push(t)})},m=function(e,t=""){let i=g[e];null!=t&&(i.styles=t.split(","))},k=function(e,t){e.split(",").forEach(function(e){let i=g[e];if(void 0===i){let t=e.trim();g[t]={id:t,type:"na",children:[]},i=g[t]}i.classes||(i.classes=[]),i.classes.push(t)})},E=(e,t)=>{let i=e.flat(),s=[];for(let e of i){if(e.label&&(e.label=L(e.label)),"classDef"===e.type){_(e.id,e.css);continue}if("applyClass"===e.type){k(e.id,(null==e?void 0:e.styleClass)||"");continue}if("applyStyles"===e.type){(null==e?void 0:e.stylesStr)&&m(e.id,null==e?void 0:e.stylesStr);continue}if("column-setting"===e.type)t.columns=e.columns||-1;else if("edge"===e.type)p[e.id]?p[e.id]++:p[e.id]=1,e.id=p[e.id]+"-"+e.id,y.push(e);else{e.label||("composite"===e.type?e.label="":e.label=e.id);let t=!g[e.id];if(t?g[e.id]=e:("na"!==e.type&&(g[e.id].type=e.type),e.label!==e.id&&(g[e.id].label=e.label)),e.children&&E(e.children,e),"space"===e.type){let t=e.width||1;for(let i=0;i{let i=o.Z,s=i(e,"r"),r=i(e,"g"),l=i(e,"b");return a.Z(s,r,l,t)};function N(e,t,i=!1){var s,r,n;let o;let a="default";((null==(s=null==e?void 0:e.classes)?void 0:s.length)||0)>0&&(a=((null==e?void 0:e.classes)||[]).join(" ")),a+=" flowchart-label";let c=0,u="";switch(e.type){case"round":c=5,u="rect";break;case"composite":c=0,u="composite",o=0;break;case"square":case"group":default:u="rect";break;case"diamond":u="question";break;case"hexagon":u="hexagon";break;case"block_arrow":u="block_arrow";break;case"odd":case"rect_left_inv_arrow":u="rect_left_inv_arrow";break;case"lean_right":u="lean_right";break;case"lean_left":u="lean_left";break;case"trapezoid":u="trapezoid";break;case"inv_trapezoid":u="inv_trapezoid";break;case"circle":u="circle";break;case"ellipse":u="ellipse";break;case"stadium":u="stadium";break;case"subroutine":u="subroutine";break;case"cylinder":u="cylinder";break;case"doublecircle":u="doublecircle"}let h=(0,l.k)((null==e?void 0:e.styles)||[]),d=e.label,g=e.size||{width:0,height:0,x:0,y:0};return{labelStyle:h.labelStyle,shape:u,labelText:d,rx:c,ry:c,class:a,style:h.style,id:e.id,directions:e.directions,width:g.width,height:g.height,x:g.x,y:g.y,positioned:i,intersect:void 0,type:e.type,padding:o??((null==(n=null==(r=(0,l.F)())?void 0:r.block)?void 0:n.padding)||0)}}async function I(e,t,i){let s=N(t,i,!1);if("group"===s.type)return;let r=await (0,c.e)(e,s),l=r.node().getBBox(),n=i.getBlock(s.id);n.size={width:l.width,height:l.height,x:0,y:0,node:r},i.setBlock(n),r.remove()}async function T(e,t,i){let s=N(t,i,!0);"space"!==i.getBlock(s.id).type&&(await (0,c.e)(e,s),t.intersect=null==s?void 0:s.intersect,(0,c.p)(s))}async function z(e,t,i,s){for(let r of t)await s(e,r,i),r.children&&await z(e,r.children,i,s)}async function C(e,t,i){await z(e,t,i,I)}async function O(e,t,i){await z(e,t,i,T)}async function A(e,t,i,s,r){let l=new u.k({multigraph:!0,compound:!0});for(let e of(l.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8}),i))e.size&&l.setNode(e.id,{width:e.size.width,height:e.size.height,intersect:e.intersect});for(let i of t)if(i.start&&i.end){let t=s.getBlock(i.start),n=s.getBlock(i.end);if((null==t?void 0:t.size)&&(null==n?void 0:n.size)){let s=t.size,o=n.size,a=[{x:s.x,y:s.y},{x:s.x+(o.x-s.x)/2,y:s.y+(o.y-s.y)/2},{x:o.x,y:o.y}];await (0,c.h)(e,{v:i.start,w:i.end,name:i.id},{...i,arrowTypeEnd:i.arrowTypeEnd,arrowTypeStart:i.arrowTypeStart,points:a,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",l,r),i.label&&(await (0,c.f)(e,{...i,label:i.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:i.arrowTypeEnd,arrowTypeStart:i.arrowTypeStart,points:a,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await (0,c.j)({...i,x:a[1].x,y:a[1].y},{originalPath:a}))}}}let R=(null==(r=null==(s=(0,l.c)())?void 0:s.block)?void 0:r.padding)||8,B=e=>{let t=0,i=0;for(let s of e.children){let{width:r,height:n,x:o,y:a}=s.size||{width:0,height:0,x:0,y:0};l.l.debug("getMaxChildSize abc95 child:",s.id,"width:",r,"height:",n,"x:",o,"y:",a,s.type),"space"!==s.type&&(r>t&&(t=r/(e.widthInColumns||1)),n>i&&(i=n))}return{width:t,height:i}},F={parser:d,db:{getConfig:()=>(0,l.F)().block,typeStr2Type:function(e){switch(l.l.debug("typeStr2Type",e),e){case"[]":return"square";case"()":return l.l.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}},edgeTypeStr2Type:function(e){return(l.l.debug("typeStr2Type",e),"=="===e)?"thick":"normal"},edgeStrToEdgeData:function(e){switch(e.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}},getLogger:()=>console,getBlocksFlat:()=>[...Object.values(g)],getBlocks:()=>w||[],getEdges:()=>y,setHierarchy:e=>{v.children=e,E(e,v),w=v.children},getBlock:e=>g[e],setBlock:e=>{g[e.id]=e},getColumns:e=>{let t=g[e];return t?t.columns?t.columns:t.children?t.children.length:-1:-1},getClasses:function(){return f},clear:()=>{l.l.debug("Clear called"),(0,l.v)(),g={root:v={id:"root",type:"composite",children:[],columns:-1}},w=[],f={},y=[],p={}},generateId:()=>(D++,"id-"+Math.random().toString(36).substr(2,12)+"-"+D)},renderer:{draw:async function(e,t,i,s){let r;let{securityLevel:n,block:o}=(0,l.F)(),a=s.db;"sandbox"===n&&(r=(0,h.Ys)("#i"+t));let u="sandbox"===n?(0,h.Ys)(r.nodes()[0].contentDocument.body):(0,h.Ys)("body"),d="sandbox"===n?u.select(`[id="${t}"]`):(0,h.Ys)(`[id="${t}"]`);(0,c.a)(d,["point","circle","cross"],s.type,t);let g=a.getBlocks(),y=a.getBlocksFlat(),p=a.getEdges(),b=d.insert("g").attr("class","block");await C(b,g,a);let x=function(e){let t=e.getBlock("root");if(!t)return;!function e(t,i,s=0,r=0){var n,o,a,c,u,h,d,g,y,p,b;l.l.debug("setBlockSizes abc95 (start)",t.id,null==(n=null==t?void 0:t.size)?void 0:n.x,"block width =",null==t?void 0:t.size,"sieblingWidth",s),(null==(o=null==t?void 0:t.size)?void 0:o.width)||(t.size={width:s,height:r,x:0,y:0});let x=0,S=0;if((null==(a=t.children)?void 0:a.length)>0){for(let s of t.children)e(s,i);let n=B(t);for(let e of(x=n.width,S=n.height,l.l.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",x,S),t.children))e.size&&(l.l.debug(`abc95 Setting size of children of ${t.id} id=${e.id} ${x} ${S} ${e.size}`),e.size.width=x*(e.widthInColumns||1)+R*((e.widthInColumns||1)-1),e.size.height=S,e.size.x=0,e.size.y=0,l.l.debug(`abc95 updating size of ${t.id} children child:${e.id} maxWidth:${x} maxHeight:${S}`));for(let s of t.children)e(s,i,x,S);let o=t.columns||-1,a=0;for(let e of t.children)a+=e.widthInColumns||1;let g=t.children.length;o>0&&o0?Math.min(t.children.length,o):t.children.length;if(e>0){let i=(p-e*R-R)/e;for(let e of(l.l.debug("abc95 (growing to fit) width",t.id,p,null==(d=t.size)?void 0:d.width,i),t.children))e.size&&(e.size.width=i)}}t.size={width:p,height:b,x:0,y:0}}l.l.debug("setBlockSizes abc94 (done)",t.id,null==(g=null==t?void 0:t.size)?void 0:g.x,null==(y=null==t?void 0:t.size)?void 0:y.width,null==(p=null==t?void 0:t.size)?void 0:p.y,null==(b=null==t?void 0:t.size)?void 0:b.height)}(t,e,0,0),function e(t,i){var s,r,n,o,a,c,u,h,d,g,y,p,b,x,S,f,L;l.l.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${null==(s=null==t?void 0:t.size)?void 0:s.x} y: ${null==(r=null==t?void 0:t.size)?void 0:r.y} width: ${null==(n=null==t?void 0:t.size)?void 0:n.width}`);let _=t.columns||-1;if(l.l.debug("layoutBlocks columns abc95",t.id,"=>",_,t),t.children&&t.children.length>0){let i=(null==(a=null==(o=null==t?void 0:t.children[0])?void 0:o.size)?void 0:a.width)||0,s=t.children.length*i+(t.children.length-1)*R;l.l.debug("widthOfChildren 88",s,"posX");let r=0;l.l.debug("abc91 block?.size?.x",t.id,null==(c=null==t?void 0:t.size)?void 0:c.x);let n=(null==(u=null==t?void 0:t.size)?void 0:u.x)?(null==(h=null==t?void 0:t.size)?void 0:h.x)+(-(null==(d=null==t?void 0:t.size)?void 0:d.width)/2||0):-R,S=0;for(let i of t.children){if(!i.size)continue;let{width:s,height:o}=i.size,{px:a,py:c}=function(e,t){if(0===e||!Number.isInteger(e))throw Error("Columns must be an integer !== 0.");if(t<0||!Number.isInteger(t))throw Error("Position must be a non-negative integer."+t);return e<0?{px:t,py:0}:1===e?{px:0,py:t}:{px:t%e,py:Math.floor(t/e)}}(_,r);if(c!=S&&(S=c,n=(null==(g=null==t?void 0:t.size)?void 0:g.x)?(null==(y=null==t?void 0:t.size)?void 0:y.x)+(-(null==(p=null==t?void 0:t.size)?void 0:p.width)/2||0):-R,l.l.debug("New row in layout for block",t.id," and child ",i.id,S)),l.l.debug(`abc89 layout blocks (child) id: ${i.id} Pos: ${r} (px, py) ${a},${c} (${null==(b=null==t?void 0:t.size)?void 0:b.x},${null==(x=null==t?void 0:t.size)?void 0:x.y}) parent: ${t.id} width: ${s}${R}`),t.size){let e=s/2;i.size.x=n+R+e,l.l.debug(`abc91 layout blocks (calc) px, pyid:${i.id} startingPos=X${n} new startingPosX${i.size.x} ${e} padding=${R} width=${s} halfWidth=${e} => x:${i.size.x} y:${i.size.y} ${i.widthInColumns} (width * (child?.w || 1)) / 2 ${s*((null==i?void 0:i.widthInColumns)||1)/2}`),n=i.size.x+e,i.size.y=t.size.y-t.size.height/2+c*(o+R)+o/2+R,l.l.debug(`abc88 layout blocks (calc) px, pyid:${i.id}startingPosX${n}${R}${e}=>x:${i.size.x}y:${i.size.y}${i.widthInColumns}(width * (child?.w || 1)) / 2${s*((null==i?void 0:i.widthInColumns)||1)/2}`)}i.children&&e(i),r+=(null==i?void 0:i.widthInColumns)||1,l.l.debug("abc88 columnsPos",i,r)}}l.l.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${null==(S=null==t?void 0:t.size)?void 0:S.x} y: ${null==(f=null==t?void 0:t.size)?void 0:f.y} width: ${null==(L=null==t?void 0:t.size)?void 0:L.width}`)}(t),l.l.debug("getBlocks",JSON.stringify(t,null,2));let{minX:i,minY:s,maxX:r,maxY:n}=function e(t,{minX:i,minY:s,maxX:r,maxY:l}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&"root"!==t.id){let{x:e,y:n,width:o,height:a}=t.size;e-o/2r&&(r=e+o/2),n+a/2>l&&(l=n+a/2)}if(t.children)for(let n of t.children)({minX:i,minY:s,maxX:r,maxY:l}=e(n,{minX:i,minY:s,maxX:r,maxY:l}));return{minX:i,minY:s,maxX:r,maxY:l}}(t);return{x:i,y:s,width:r-i,height:n-s}}(a);if(await O(b,g,a),await A(b,p,y,a,t),x){let e=Math.max(1,Math.round(x.width/x.height*.125)),t=x.height+e+10,i=x.width+10,{useMaxWidth:s}=o;(0,l.i)(d,t,i,!!s),l.l.debug("Here Bounds",x,x),d.attr("viewBox",`${x.x-5} ${x.y-5} ${x.width+10} ${x.height+10}`)}(0,h.PKp)(h.K2I)},getClasses:function(e,t){return t.db.getClasses()}},styles:e=>`.label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span,p { + color: ${e.titleColor}; + } + + + + .label text,span,p { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${e.arrowheadColor}; + } + + .edgePath .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${$(e.edgeLabelBackground,.5)}; + // background-color: + } + + .node .cluster { + // fill: ${$(e.mainBkg,.5)}; + fill: ${$(e.clusterBkg,.5)}; + stroke: ${$(e.clusterBorder,.2)}; + box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; + stroke-width: 1px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span,p { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } +`}},9753:function(e,t,i){var s=i(6938);t.Z=function(e){return(0,s.Z)(e,4)}}}]); \ No newline at end of file diff --git a/_next/static/chunks/72fdc299.d9e5cd8953ecb144.js b/_next/static/chunks/72fdc299.d9e5cd8953ecb144.js new file mode 100644 index 0000000..0b0d571 --- /dev/null +++ b/_next/static/chunks/72fdc299.d9e5cd8953ecb144.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5987],{7295:function(n,t,e){var i;i=function(){return(function n(t,e,i){function r(c,u){if(!e[c]){if(!t[c]){if(a)return a(c,!0);var o=Error("Cannot find module '"+c+"'");throw o.code="MODULE_NOT_FOUND",o}var s=e[c]={exports:{}};t[c][0].call(s.exports,function(n){return r(t[c][1][n]||n)},s,s.exports,n,t,e,i)}return e[c].exports}for(var a=void 0,c=0;c0&&void 0!==arguments[0]?arguments[0]:{},i=e.defaultLayoutOptions,a=e.algorithms,u=e.workerFactory,o=e.workerUrl;if(r(this,n),this.defaultLayoutOptions=void 0===i?{}:i,this.initialized=!1,void 0===o&&void 0===u)throw Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var s=u;void 0!==o&&void 0===u&&(s=function(n){return new Worker(n)});var h=s(o);if("function"!=typeof h.postMessage)throw TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new c(h),this.worker.postMessage({cmd:"register",algorithms:void 0===a?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:a}).then(function(n){return t.initialized=!0}).catch(console.err)}return i(n,[{key:"layout",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.layoutOptions,i=void 0===e?this.defaultLayoutOptions:e,r=t.logging,a=t.measureExecutionTime;return n?this.worker.postMessage({cmd:"layout",graph:n,layoutOptions:i,options:{logging:void 0!==r&&r,measureExecutionTime:void 0!==a&&a}}):Promise.reject(Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker&&this.worker.terminate()}}]),n}();e.default=a;var c=function(){function n(t){var e=this;if(r(this,n),void 0===t)throw Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=t,this.worker.onmessage=function(n){setTimeout(function(){e.receive(e,n)},0)}}return i(n,[{key:"postMessage",value:function(n){var t=this.id||0;this.id=t+1,n.id=t;var e=this;return new Promise(function(i,r){e.resolvers[t]=function(n,t){n?(e.convertGwtStyleError(n),r(n)):i(t)},e.worker.postMessage(n)})}},{key:"receive",value:function(n,t){var e=t.data,i=n.resolvers[e.id];i&&(delete n.resolvers[e.id],e.error?i(e.error):i(null,e.data))}},{key:"terminate",value:function(){this.worker&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(n){if(n){var t=n.__java$exception;t&&(t.cause&&t.cause.backingJsObject&&(n.cause=t.cause.backingJsObject,this.convertGwtStyleError(n.cause)),delete n.__java$exception)}}}]),n}()},{}],2:[function(n,t,i){(function(n){(function(){"use strict";function e(){}function r(){}function a(){}function c(){}function u(){}function o(){}function s(){}function h(){}function f(){}function l(){}function b(){}function w(){}function d(){}function g(){}function p(){}function m(){}function v(){}function k(){}function y(){}function M(){}function j(){}function T(){}function E(){}function S(){}function P(){}function C(){}function O(){}function I(){}function A(){}function L(){}function N(){}function $(){}function D(){}function x(){}function R(){}function K(){}function F(){}function _(){}function B(){}function H(){}function U(){}function G(){}function q(){}function X(){}function z(){}function V(){}function W(){}function Q(){}function J(){}function Y(){}function Z(){}function nn(){}function nt(){}function ne(){}function ni(){}function nr(){}function na(){}function nc(){}function nu(){}function no(){}function ns(){}function nh(){}function nf(){}function nl(){}function nb(){}function nw(){}function nd(){}function ng(){}function np(){}function nm(){}function nv(){}function nk(){}function ny(){}function nM(){}function nj(){}function nT(){}function nE(){}function nS(){}function nP(){}function nC(){}function nO(){}function nI(){}function nA(){}function nL(){}function nN(){}function n$(){}function nD(){}function nx(){}function nR(){}function nK(){}function nF(){}function n_(){}function nB(){}function nH(){}function nU(){}function nG(){}function nq(){}function nX(){}function nz(){}function nV(){}function nW(){}function nQ(){}function nJ(){}function nY(){}function nZ(){}function n1(){}function n0(){}function n2(){}function n3(){}function n4(){}function n6(){}function n5(){}function n8(){}function n9(){}function n7(){}function tn(){}function tt(){}function te(){}function ti(){}function tr(){}function ta(){}function tc(){}function tu(){}function to(){}function ts(){}function th(){}function tf(){}function tl(){}function tb(){}function tw(){}function td(){}function tg(){}function tp(){}function tm(){}function tv(){}function tk(){}function ty(){}function tM(){}function tj(){}function tT(){}function tE(){}function tS(){}function tP(){}function tC(){}function tO(){}function tI(){}function tA(){}function tL(){}function tN(){}function t$(){}function tD(){}function tx(){}function tR(){}function tK(){}function tF(){}function t_(){}function tB(){}function tH(){}function tU(){}function tG(){}function tq(){}function tX(){}function tz(){}function tV(){}function tW(){}function tQ(){}function tJ(){}function tY(){}function tZ(){}function t1(){}function t0(){}function t2(){}function t3(){}function t4(){}function t6(){}function t5(){}function t8(){}function t9(){}function t7(){}function en(){}function et(){}function ee(){}function ei(){}function er(){}function ea(){}function ec(){}function eu(){}function eo(){}function es(){}function eh(){}function ef(){}function el(){}function eb(){}function ew(){}function ed(){}function eg(){}function ep(){}function em(){}function ev(){}function ek(){}function ey(){}function eM(){}function ej(){}function eT(){}function eE(){}function eS(){}function eP(){}function eC(){}function eO(){}function eI(){}function eA(){}function eL(){}function eN(){}function e$(){}function eD(){}function ex(){}function eR(){}function eK(){}function eF(){}function e_(){}function eB(){}function eH(){}function eU(){}function eG(){}function eq(){}function eX(){}function ez(){}function eV(){}function eW(){}function eQ(){}function eJ(){}function eY(){}function eZ(){}function e1(){}function e0(){}function e2(){}function e3(){}function e4(){}function e6(){}function e5(){}function e8(){}function e9(){}function e7(){}function it(){}function ie(){}function ii(){}function ir(){}function ia(){}function ic(){}function iu(){}function io(){}function is(){}function ih(){}function il(){}function ib(){}function iw(){}function id(){}function ig(){}function ip(){}function im(){}function iv(){}function ik(){}function iy(){}function iM(){}function ij(){}function iT(){}function iE(){}function iS(){}function iP(){}function iC(){}function iO(){}function iI(){}function iA(){}function iL(){}function iN(){}function i$(){}function iD(){}function ix(){}function iR(){}function iK(){}function iF(){}function i_(){}function iB(){}function iH(){}function iU(){}function iG(){}function iq(){}function iX(){}function iz(){}function iV(){}function iW(){}function iQ(){}function iJ(){}function iY(){}function iZ(){}function i1(){}function i0(){}function i2(){}function i3(){}function i4(){}function i6(){}function i5(){}function i8(){}function i9(){}function i7(){}function rn(){}function rt(){}function re(){}function ri(){}function rr(){}function ra(){}function rc(){}function ru(){}function ro(){}function rs(){}function rh(){}function rf(){}function rl(){}function rb(){}function rw(){}function rd(){}function rg(){}function rp(){}function rm(){}function rv(){}function rk(){}function ry(){}function rM(){}function rj(){}function rT(){}function rE(){}function rS(){}function rP(){}function rC(){}function rO(){}function rI(){}function rA(){}function rL(){}function rN(){}function r$(){}function rD(){}function rx(){}function rR(){}function rK(){}function rF(){}function r_(){}function rB(){}function rH(){}function rU(){}function rG(){}function rq(){}function rX(){}function rz(){}function rV(){}function rW(){}function rQ(){}function rJ(){}function rY(){}function rZ(){}function r1(){}function r0(){}function r2(){}function r3(){}function r4(){}function r6(){}function r5(){}function r8(){}function r9(){}function r7(){}function an(){}function at(){}function ae(){}function ai(){}function ar(){}function aa(){}function ac(){}function au(){}function ao(){}function as(){}function ah(){}function af(){}function al(){}function ab(){}function aw(){}function ad(){}function ag(){}function ap(){}function am(){}function av(){}function ak(){}function ay(){}function aM(){}function aj(){}function aT(){}function aE(){}function aS(){}function aP(){}function aC(){}function aO(){}function aI(){}function aA(){}function aL(){}function aN(){}function a$(){}function aD(){}function ax(){}function aR(){}function aK(){}function aF(){}function a_(){}function aB(){}function aH(){}function aU(){}function aG(){}function aq(){}function aX(){}function az(){}function aV(){}function aW(){}function aQ(){}function aJ(){}function aY(){}function aZ(){}function a1(){}function a0(){}function a2(){}function a3(){}function a4(){}function a6(){}function a5(){}function a8(){}function a9(){}function a7(){}function cn(){}function ct(){}function ce(){}function ci(){}function cr(){}function ca(){}function cc(){}function cu(){}function co(){}function cs(){}function ch(){}function cf(){}function cl(){}function cb(){}function cw(){}function cd(){}function cg(){}function cp(){}function cm(){}function cv(){}function ck(){}function cy(){}function cM(){}function cj(){}function cT(){}function cE(){}function cS(){}function cP(){}function cC(){}function cO(){}function cI(){}function cA(){}function cL(){}function cN(){}function c$(){}function cD(){}function cx(){}function cR(){}function cK(){}function cF(){}function c_(){}function cB(){}function cH(){}function cU(){}function cG(){}function cq(){}function cX(){}function cz(){}function cV(){}function cW(){}function cQ(){}function cJ(){}function cY(){}function cZ(){}function c1(){}function c0(){}function c2(){}function c3(){}function c4(){}function c6(){}function c5(){}function c8(){}function c9(){}function c7(){}function un(){}function ut(){}function ue(){}function ui(){}function ur(){}function ua(){}function uc(){}function uu(){}function uo(){}function us(){}function uh(){}function uf(){}function ul(){}function ub(){}function uw(){}function ud(){}function ug(){}function up(){}function um(){}function uv(){}function uk(){}function uy(){}function uM(){}function uj(){}function uT(){}function uE(){}function uS(){}function uP(){}function uC(){}function uO(){}function uI(){}function uA(){}function uL(){}function uN(){}function u$(){}function uD(){}function ux(){}function uR(){}function uK(){}function uF(){}function u_(){}function uB(){}function uH(){}function uU(){}function uG(){}function uq(){}function uX(){}function uz(){}function uV(){}function uW(){}function uQ(){}function uJ(){}function uY(){}function uZ(){}function u1(){}function u0(){}function u2(){}function u3(){}function u4(){}function u6(){}function u5(){}function u8(){}function u9(){}function u7(){}function on(){}function ot(){}function oe(){}function oi(){}function or(){}function oa(){}function oc(){}function ou(){}function oo(){}function os(){}function oh(){}function of(){}function ol(){}function ob(){}function ow(){}function od(){}function og(){}function op(){}function om(){}function ov(){}function ok(){}function oy(){}function oM(){}function oj(){}function oT(){}function oE(){}function oS(){}function oP(){}function oC(){}function oO(){}function oI(){}function oA(){}function oL(){}function oN(){}function o$(){}function oD(){}function ox(){}function oR(){}function oK(){}function oF(){}function o_(){}function oB(){}function oH(){}function oU(){}function oG(){}function oq(){}function oX(){}function oz(){}function oV(){}function oW(){}function oQ(){}function oJ(){}function oY(){}function oZ(){}function o1(){}function o0(){}function o2(){}function o3(){}function o4(){}function o6(){}function o5(){}function o8(){}function o9(){}function o7(){}function sn(){}function st(){}function se(){}function si(){}function sr(){}function sa(){}function sc(){}function su(){}function so(){}function ss(){}function sh(){}function sf(){}function sl(){}function sb(){}function sw(){}function sd(){}function sg(){}function sp(){}function sm(){}function sv(){}function sk(){}function sy(){}function sM(){}function sj(){}function sT(){}function sE(){}function sS(){}function sP(){}function sC(){}function sO(){}function sI(){}function sA(){}function sL(){}function sN(){}function s$(){}function sD(){}function sx(){}function sR(){}function sK(){}function sF(){}function s_(){}function sB(){}function sH(){}function sU(){}function sG(){}function sq(){}function sX(){}function sz(){}function sV(){}function sW(){}function sQ(){}function sJ(){}function sY(){}function sZ(){gY()}function s1(){ki()}function s0(){nel()}function s2(){WQ()}function s3(){nne()}function s4(){nro()}function s6(){ns_()}function s5(){ntB()}function s8(){nt2()}function s9(){kr()}function s7(){OE()}function hn(){ka()}function ht(){X6()}function he(){Bp()}function hi(){qF()}function hr(){Re()}function ha(){qB()}function hc(){Ht()}function hu(){Rn()}function ho(){Wj()}function hs(){qU()}function hh(){qH()}function hf(){KU()}function hl(){qG()}function hb(){ni0()}function hw(){ku()}function hd(){nlG()}function hg(){nl$()}function hp(){qq()}function hm(){X8()}function hv(){Ri()}function hk(){ntq()}function hy(){Ra()}function hM(){nsE()}function hj(){ncd()}function hT(){GK()}function hE(){Jb()}function hS(){nhe()}function hP(){RN()}function hC(){GR()}function hO(){nsi()}function hI(){nrb()}function hA(){nsa()}function hL(){nof()}function hN(){niG()}function h$(){noI()}function hD(){nnz()}function hx(){Os()}function hR(){Hk()}function hK(){niq()}function hF(){nlH()}function h_(){WT()}function hB(){Y0()}function hH(){X9()}function hU(){nhA()}function hG(){nsQ()}function hq(n){this.a=n}function hX(n){this.a=n}function hz(n){this.a=n}function hV(n){this.a=n}function hW(n){this.a=n}function hQ(n){this.a=n}function hJ(n){this.a=n}function hY(n){this.a=n}function hZ(n){this.a=n}function h1(n){this.a=n}function h0(n){this.a=n}function h2(n){this.a=n}function h3(n){this.a=n}function h4(n){this.a=n}function h6(n){this.a=n}function h5(n){this.a=n}function h8(n){this.a=n}function h9(n){this.a=n}function h7(n){this.a=n}function fn(n){this.a=n}function ft(n){this.a=n}function fe(n){this.a=n}function fi(n){this.b=n}function fr(n){this.c=n}function fa(n){this.a=n}function fc(n){this.a=n}function fu(n){this.a=n}function fo(n){this.a=n}function fs(n){this.a=n}function fh(n){this.a=n}function ff(n){this.a=n}function fl(n){this.a=n}function fb(n){this.a=n}function fw(n){this.a=n}function fd(n){this.a=n}function fg(n){this.a=n}function fp(n){this.a=n}function fm(n){this.a=n}function fv(n){this.a=n}function fk(n){this.a=n}function fy(n){this.a=n}function fM(){this.a=[]}function fj(n){this.a=n}function fT(n){this.a=n}function fE(n){this.a=n}function fS(n){this.a=n}function fP(n){this.a=n}function fC(n){this.a=n}function fO(n){this.a=n}function fI(n){this.a=n}function fA(n){this.a=n}function fL(n){this.a=n}function fN(n){this.a=n}function f$(n){this.a=n}function fD(n){this.a=n}function fx(n){this.a=n}function fR(n){this.b=n}function fK(n){this.b=n}function fF(n){this.b=n}function f_(n){this.a=n}function fB(n){this.a=n}function fH(n){this.c=n}function fU(n){this.c=n}function fG(n){this.c=n}function fq(n){this.d=n}function fX(n){this.a=n}function fz(n){this.a=n}function fV(n){this.a=n}function fW(n){this.a=n}function fQ(n){this.a=n}function fJ(n){this.a=n}function fY(n){this.a=n}function fZ(n){this.a=n}function f1(n){this.a=n}function f0(n){this.a=n}function f2(n){this.a=n}function f3(n){this.a=n}function f4(n){this.a=n}function f6(n){this.a=n}function f5(n){this.a=n}function f8(n){this.a=n}function f9(n){this.a=n}function f7(n){this.a=n}function ln(n){this.a=n}function lt(n){this.a=n}function le(n){this.a=n}function li(n){this.a=n}function lr(n){this.a=n}function la(n){this.a=n}function lc(n){this.a=n}function lu(n){this.a=n}function lo(n){this.a=n}function ls(n){this.a=n}function lh(n){this.a=n}function lf(n){this.a=n}function ll(n){this.a=n}function lb(n){this.a=n}function lw(n){this.a=n}function ld(n){this.a=n}function lg(n){this.a=n}function lp(n){this.a=n}function lm(n){this.a=n}function lv(n){this.a=n}function lk(n){this.a=n}function ly(n){this.a=n}function lM(n){this.a=n}function lj(n){this.a=n}function lT(n){this.a=n}function lE(n){this.a=n}function lS(n){this.a=n}function lP(n){this.a=n}function lC(n){this.a=n}function lO(n){this.a=n}function lI(n){this.e=n}function lA(n){this.a=n}function lL(n){this.a=n}function lN(n){this.a=n}function l$(n){this.a=n}function lD(n){this.a=n}function lx(n){this.a=n}function lR(n){this.a=n}function lK(n){this.a=n}function lF(n){this.a=n}function l_(n){this.a=n}function lB(n){this.a=n}function lH(n){this.a=n}function lU(n){this.a=n}function lG(n){this.a=n}function lq(n){this.a=n}function lX(n){this.a=n}function lz(n){this.a=n}function lV(n){this.a=n}function lW(n){this.a=n}function lQ(n){this.a=n}function lJ(n){this.a=n}function lY(n){this.a=n}function lZ(n){this.a=n}function l1(n){this.a=n}function l0(n){this.a=n}function l2(n){this.a=n}function l3(n){this.a=n}function l4(n){this.a=n}function l6(n){this.a=n}function l5(n){this.a=n}function l8(n){this.a=n}function l9(n){this.a=n}function l7(n){this.a=n}function bn(n){this.a=n}function bt(n){this.a=n}function be(n){this.a=n}function bi(n){this.a=n}function br(n){this.a=n}function ba(n){this.a=n}function bc(n){this.a=n}function bu(n){this.a=n}function bo(n){this.a=n}function bs(n){this.a=n}function bh(n){this.a=n}function bf(n){this.a=n}function bl(n){this.a=n}function bb(n){this.a=n}function bw(n){this.a=n}function bd(n){this.a=n}function bg(n){this.a=n}function bp(n){this.a=n}function bm(n){this.a=n}function bv(n){this.a=n}function bk(n){this.a=n}function by(n){this.c=n}function bM(n){this.b=n}function bj(n){this.a=n}function bT(n){this.a=n}function bE(n){this.a=n}function bS(n){this.a=n}function bP(n){this.a=n}function bC(n){this.a=n}function bO(n){this.a=n}function bI(n){this.a=n}function bA(n){this.a=n}function bL(n){this.a=n}function bN(n){this.a=n}function b$(n){this.a=n}function bD(n){this.a=n}function bx(n){this.a=n}function bR(n){this.a=n}function bK(n){this.a=n}function bF(n){this.a=n}function b_(n){this.a=n}function bB(n){this.a=n}function bH(n){this.a=n}function bU(n){this.a=n}function bG(n){this.a=n}function bq(n){this.a=n}function bX(n){this.a=n}function bz(n){this.a=n}function bV(n){this.a=n}function bW(n){this.a=n}function bQ(n){this.a=n}function bJ(n){this.a=n}function bY(n){this.a=n}function bZ(n){this.a=n}function b1(n){this.a=n}function b0(n){this.a=n}function b2(n){this.a=n}function b3(n){this.a=n}function b4(n){this.a=n}function b6(n){this.a=n}function b5(n){this.a=n}function b8(n){this.a=n}function b9(n){this.a=n}function b7(n){this.a=n}function wn(n){this.a=n}function wt(n){this.a=n}function we(n){this.a=n}function wi(n){this.a=n}function wr(n){this.a=n}function wa(n){this.a=n}function wc(n){this.a=n}function wu(n){this.a=n}function wo(n){this.a=n}function ws(n){this.a=n}function wh(n){this.a=n}function wf(n){this.a=n}function wl(n){this.a=n}function wb(n){this.a=n}function ww(n){this.a=n}function wd(n){this.f=n}function wg(n){this.a=n}function wp(n){this.a=n}function wm(n){this.a=n}function wv(n){this.a=n}function wk(n){this.a=n}function wy(n){this.a=n}function wM(n){this.a=n}function wj(n){this.a=n}function wT(n){this.a=n}function wE(n){this.a=n}function wS(n){this.a=n}function wP(n){this.a=n}function wC(n){this.a=n}function wO(n){this.a=n}function wI(n){this.a=n}function wA(n){this.a=n}function wL(n){this.a=n}function wN(n){this.a=n}function w$(n){this.a=n}function wD(n){this.a=n}function wx(n){this.a=n}function wR(n){this.a=n}function wK(n){this.a=n}function wF(n){this.a=n}function w_(n){this.a=n}function wB(n){this.a=n}function wH(n){this.a=n}function wU(n){this.a=n}function wG(n){this.a=n}function wq(n){this.a=n}function wX(n){this.b=n}function wz(n){this.a=n}function wV(n){this.a=n}function wW(n){this.a=n}function wQ(n){this.a=n}function wJ(n){this.a=n}function wY(n){this.a=n}function wZ(n){this.a=n}function w1(n){this.b=n}function w0(n){this.a=n}function w2(n){this.a=n}function w3(n){this.a=n}function w4(n){this.a=n}function w6(n){this.c=n}function w5(n){this.e=n}function w8(n){this.a=n}function w9(n){this.a=n}function w7(n){this.a=n}function dn(n){this.d=n}function dt(n){this.a=n}function de(n){this.a=n}function di(n){this.a=n}function dr(n){this.e=n}function da(){this.a=0}function dc(){LX(this)}function du(){TQ(this)}function ds(){$f(this)}function dh(){}function df(){this.c=n2R}function dl(n){return n.a}function db(n){return n.a}function dw(n){return n.a}function dd(n){return n.a}function dg(n){return n.a}function dp(){return null}function dm(){return null}function dv(n,t){n.b=t-n.b}function dk(n,t){n.a=t-n.a}function dy(n,t){n.push(t)}function dM(n,t){n.e=t,t.b=n}function dj(n){Of(),this.a=n}function dT(n){Of(),this.a=n}function dE(n){Of(),this.a=n}function dS(n){ND(),this.a=n}function dP(){dP=T,new dc}function dC(){SS.call(this)}function dO(){SS.call(this)}function dI(){dC.call(this)}function dA(){dC.call(this)}function dL(){dC.call(this)}function dN(){dC.call(this)}function d$(){dC.call(this)}function dD(){dC.call(this)}function dx(){dC.call(this)}function dR(){dC.call(this)}function dK(){dC.call(this)}function dF(){dC.call(this)}function d_(){dC.call(this)}function dB(){this.a=this}function dH(){this.Bb|=256}function dU(){this.b=new Tn}function dG(n,t){n.length=t}function dq(n,t){zI(n.e,t)}function dX(n){na7(n.c,n.b)}function dz(n){var t;this.a=(t=nre(n))>34028234663852886e22?nwH:t<-34028234663852886e22?nwU:t}function dV(){this.a=new dc}function dW(){this.a=new dc}function dQ(){this.a=new vU}function dJ(){this.a=new du}function dY(){this.a=new du}function dZ(){this.a=new du}function d1(){this.a=new nm}function d0(){this.a=new Bn}function d2(){this.a=new tn}function d3(){this.a=new x9}function d4(){this.a=new Cw}function d6(){this.a=new du}function d5(){this.a=new du}function d8(){this.a=new du}function d9(){this.a=new du}function d7(){this.d=new du}function gn(){this.a=new R5}function gt(){this.a=new dV}function ge(){this.a=new dc}function gi(){this.b=new dc}function gr(){this.b=new du}function ga(){this.e=new du}function gc(){this.a=new hb}function gu(){this.d=new du}function go(){D2.call(this)}function gs(){D2.call(this)}function gh(){du.call(this)}function gf(){dI.call(this)}function gl(){dJ.call(this)}function gb(){Cj.call(this)}function gw(){d9.call(this)}function gd(){dh.call(this)}function gg(){gd.call(this)}function gp(){dh.call(this)}function gm(){gp.call(this)}function gv(){gU.call(this)}function gk(){gU.call(this)}function gy(){gU.call(this)}function gM(){gX.call(this)}function gj(){uK.call(this)}function gT(){uK.call(this)}function gE(){vq.call(this)}function gS(){gQ.call(this)}function gP(){gQ.call(this)}function gC(){dc.call(this)}function gO(){dc.call(this)}function gI(){dc.call(this)}function gA(){qQ.call(this)}function gL(){dV.call(this)}function gN(){dH.call(this)}function g$(){E0.call(this)}function gD(){dc.call(this)}function gx(){E0.call(this)}function gR(){dc.call(this)}function gK(){dc.call(this)}function gF(){u1.call(this)}function g_(){gF.call(this)}function gB(){u1.call(this)}function gH(){sQ.call(this)}function gU(){this.a=new dV}function gG(){this.a=new dc}function gq(){this.a=new du}function gX(){this.a=new dc}function gz(){this.a=new vq}function gV(){this.j=new du}function gW(){this.a=new mz}function gQ(){this.a=new uZ}function gJ(){this.a=new cC}function gY(){gY=T,nPW=new r}function gZ(){gZ=T,nPQ=new g2}function g1(){g1=T,nPJ=new g0}function g0(){h5.call(this,"")}function g2(){h5.call(this,"")}function g3(n){GM.call(this,n)}function g4(n){GM.call(this,n)}function g6(n){hZ.call(this,n)}function g5(n){vC.call(this,n)}function g8(n){vC.call(this,n)}function g9(n){g5.call(this,n)}function g7(n){g5.call(this,n)}function pn(n){g5.call(this,n)}function pt(n){F_.call(this,n)}function pe(n){F_.call(this,n)}function pi(n){C0.call(this,n)}function pr(n){vL.call(this,n)}function pa(n){vD.call(this,n)}function pc(n){vD.call(this,n)}function pu(n){vD.call(this,n)}function po(n){nru.call(this,n)}function ps(n){po.call(this,n)}function ph(n){Lh.call(this,n)}function pf(n){ph.call(this,n)}function pl(){fy.call(this,{})}function pb(){pb=T,nCe=new M}function pw(){pw=T,nP0=new EO}function pd(){pd=T,nP4=new e}function pg(){pg=T,nP5=new g}function pp(){pp=T,nP7=new v}function pm(n){Sn(),this.a=n}function pv(n){X5(),this.a=n}function pk(n){AG(),this.f=n}function py(n){AG(),this.f=n}function pM(n){Oo(),this.a=n}function pj(n){n.b=null,n.c=0}function pT(n){return $d(n),n}function pE(n){return $d(n),n}function pS(n){return new fk(n)}function pP(n){return new NL(n)}function pC(n){ph.call(this,n)}function pO(n){ph.call(this,n)}function pI(n){ph.call(this,n)}function pA(n){Lh.call(this,n)}function pL(n){ph.call(this,n)}function pN(n){ph.call(this,n)}function p$(n){ph.call(this,n)}function pD(n){ph.call(this,n)}function px(n){ph.call(this,n)}function pR(n){ph.call(this,n)}function pK(n){ph.call(this,n)}function pF(n){ph.call(this,n)}function p_(n){ph.call(this,n)}function pB(n){ph.call(this,n)}function pH(n){ph.call(this,n)}function pU(n){$d(n),this.a=n}function pG(n){L2(n,n.length)}function pq(n){return n.b==n.c}function pX(n){return!!n&&n.b}function pz(n,t){n.be(t),t.ae(n)}function pV(n){Of(),this.a=NA(n)}function pW(){this.a=PA(NA(nbn))}function pQ(){throw(new dx).e}function pJ(){throw(new dx).e}function pY(){throw(new dx).e}function pZ(){pZ=T,DG()}function p1(){fC.call(this,"")}function p0(){fC.call(this,"")}function p2(){fC.call(this,"")}function p3(){fC.call(this,"")}function p4(n){pO.call(this,n)}function p6(n){pO.call(this,n)}function p5(n){pN.call(this,n)}function p8(n){fF.call(this,n)}function p9(n){p8.call(this,n)}function p7(n){Sj.call(this,n)}function mn(n){SX.call(this,n,0)}function mt(){RO.call(this,12,3)}function me(n,t){return n.c=t,n}function mi(n,t){return n.b=t,n}function mr(n,t){return n.d=t,n}function ma(n,t){return n.e=t,n}function mc(n,t){return n.g=t,n}function mu(n,t){return n.a=t,n}function mo(n,t){return n.i=t,n}function ms(n,t){return n.j=t,n}function mh(n){On.call(this,n)}function mf(n){Yt.call(this,n)}function ml(n){Da.call(this,n)}function mb(n){Da.call(this,n)}function mw(n){GT.call(this,n)}function md(n){DM.call(this,n)}function mg(n){DM.call(this,n)}function mp(){El.call(this,"")}function mm(){this.a=0,this.b=0}function mv(){this.b=0,this.a=0}function mk(){mk=T,nCJ=typeof Map===nl6&&Map.prototype.entries&&function(){try{return(new Map).entries().next().done}catch(n){return!1}}()?Map:function(){function n(){this.obj=this.createObject()}return n.prototype.createObject=function(n){return Object.create(null)},n.prototype.get=function(n){return this.obj[n]},n.prototype.set=function(n,t){this.obj[n]=t},n.prototype[nw7]=function(n){delete this.obj[n]},n.prototype.keys=function(){return Object.getOwnPropertyNames(this.obj)},n.prototype.entries=function(){var n=this.keys(),t=this,e=0;return{next:function(){if(e>=n.length)return{done:!0};var i=n[e++];return{value:[i,t.get(i)],done:!1}}}},!function(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var n="__proto__",t=Object.create(null);return void 0===t[n]&&0==Object.getOwnPropertyNames(t).length&&(t[n]=42,42===t[n]&&0!=Object.getOwnPropertyNames(t).length)}()&&(n.prototype.createObject=function(){return{}},n.prototype.get=function(n){return this.obj[":"+n]},n.prototype.set=function(n,t){this.obj[":"+n]=t},n.prototype[nw7]=function(n){delete this.obj[":"+n]},n.prototype.keys=function(){var n=[];for(var t in this.obj)58==t.charCodeAt(0)&&n.push(t.substring(1));return n}),n}()}function my(){my=T,n17=function(){var n,t;nhA();try{if(t=O2(neG((kM(),n2r),njU),2113))return t}catch(t){if(EM(t=Vr(t),103))n=t,Nw((T9(),n));else throw t.e}return new uB}()}function mM(){var n,t,e,i,r,a,c,u,o,s,h,f;mM=T,n0n=nNc?O2(ncQ((kM(),n2r),njU),2115):(n=O2(EM(xp((kM(),n2r),njU),569)?xp(n2r,njU):new ncg,569),nNc=!0,n.q||(n.q=!0,n.p=zD(n,0),n.a=zD(n,1),Xx(n.a,0),n.f=zD(n,2),Xx(n.f,1),XD(n.f,2),n.n=zD(n,3),XD(n.n,3),XD(n.n,4),XD(n.n,5),XD(n.n,6),n.g=zD(n,4),Xx(n.g,7),XD(n.g,8),n.c=zD(n,5),Xx(n.c,7),Xx(n.c,8),n.i=zD(n,6),Xx(n.i,9),Xx(n.i,10),Xx(n.i,11),Xx(n.i,12),XD(n.i,13),n.j=zD(n,7),Xx(n.j,9),n.d=zD(n,8),Xx(n.d,3),Xx(n.d,4),Xx(n.d,5),Xx(n.d,6),XD(n.d,7),XD(n.d,8),XD(n.d,9),XD(n.d,10),n.b=zD(n,9),XD(n.b,0),XD(n.b,1),n.e=zD(n,10),XD(n.e,1),XD(n.e,2),XD(n.e,3),XD(n.e,4),Xx(n.e,5),Xx(n.e,6),Xx(n.e,7),Xx(n.e,8),Xx(n.e,9),Xx(n.e,10),XD(n.e,11),n.k=zD(n,11),XD(n.k,0),XD(n.k,1),n.o=zx(n,12),n.s=zx(n,13)),n.r||(n.r=!0,XL(n,"graph"),XN(n,"graph"),X$(n,njU),Vn(n.o,"T"),Hi(xi(n.a),n.p),Hi(xi(n.f),n.a),Hi(xi(n.n),n.f),Hi(xi(n.g),n.n),Hi(xi(n.c),n.n),Hi(xi(n.i),n.c),Hi(xi(n.j),n.c),Hi(xi(n.d),n.f),Hi(xi(n.e),n.a),Kv(n.p,nOC,ngm,!0,!0,!1),f=Vw(h=WO(n.p,n.p,"setProperty")),a=Dw(n.o),c=new df,Hi((a.d||(a.d=new EU(n03,a,1)),a.d),c),ne1(c,u=Dd(f)),neU(h,a,njG),neU(h,a=Dd(f),njq),f=Vw(h=WO(n.p,null,"getProperty")),a=Dw(n.o),c=Dd(f),Hi((a.d||(a.d=new EU(n03,a,1)),a.d),c),neU(h,a,njG),(s=niE(h,a=Dd(f),null))&&s.oj(),h=WO(n.p,n.wb.e,"hasProperty"),a=Dw(n.o),c=new df,Hi((a.d||(a.d=new EU(n03,a,1)),a.d),c),neU(h,a,njG),ntK(h=WO(n.p,n.p,"copyProperties"),n.p,njX),h=WO(n.p,null,"getAllProperties"),a=Dw(n.wb.P),c=Dw(n.o),Hi((a.d||(a.d=new EU(n03,a,1)),a.d),c),u=new df,Hi((c.d||(c.d=new EU(n03,c,1)),c.d),u),c=Dw(n.wb.M),Hi((a.d||(a.d=new EU(n03,a,1)),a.d),c),(o=niE(h,a,null))&&o.oj(),Kv(n.a,nL2,njw,!0,!1,!0),ntx(O2(GA(DK(n.a),0),19),n.k,null,njz,0,-1,nL2,!1,!1,!0,!0,!1,!1,!1),Kv(n.f,nL4,njg,!0,!1,!0),ntx(O2(GA(DK(n.f),0),19),n.g,O2(GA(DK(n.g),0),19),"labels",0,-1,nL4,!1,!1,!0,!0,!1,!1,!1),XY(O2(GA(DK(n.f),1),35),n.wb._,njV,null,0,1,nL4,!1,!1,!0,!1,!0,!1),Kv(n.n,nL6,"ElkShape",!0,!1,!0),XY(O2(GA(DK(n.n),0),35),n.wb.t,njW,nwZ,1,1,nL6,!1,!1,!0,!1,!0,!1),XY(O2(GA(DK(n.n),1),35),n.wb.t,njQ,nwZ,1,1,nL6,!1,!1,!0,!1,!0,!1),XY(O2(GA(DK(n.n),2),35),n.wb.t,"x",nwZ,1,1,nL6,!1,!1,!0,!1,!0,!1),XY(O2(GA(DK(n.n),3),35),n.wb.t,"y",nwZ,1,1,nL6,!1,!1,!0,!1,!0,!1),ntK(h=WO(n.n,null,"setDimensions"),n.wb.t,njQ),ntK(h,n.wb.t,njW),ntK(h=WO(n.n,null,"setLocation"),n.wb.t,"x"),ntK(h,n.wb.t,"y"),Kv(n.g,nNi,njM,!1,!1,!0),ntx(O2(GA(DK(n.g),0),19),n.f,O2(GA(DK(n.f),0),19),njJ,0,1,nNi,!1,!1,!0,!1,!1,!1,!1),XY(O2(GA(DK(n.g),1),35),n.wb._,njY,"",0,1,nNi,!1,!1,!0,!1,!0,!1),Kv(n.c,nL5,njp,!0,!1,!0),ntx(O2(GA(DK(n.c),0),19),n.d,O2(GA(DK(n.d),1),19),"outgoingEdges",0,-1,nL5,!1,!1,!0,!1,!0,!1,!1),ntx(O2(GA(DK(n.c),1),19),n.d,O2(GA(DK(n.d),2),19),"incomingEdges",0,-1,nL5,!1,!1,!0,!1,!0,!1,!1),Kv(n.i,nNr,njj,!1,!1,!0),ntx(O2(GA(DK(n.i),0),19),n.j,O2(GA(DK(n.j),0),19),"ports",0,-1,nNr,!1,!1,!0,!0,!1,!1,!1),ntx(O2(GA(DK(n.i),1),19),n.i,O2(GA(DK(n.i),2),19),njZ,0,-1,nNr,!1,!1,!0,!0,!1,!1,!1),ntx(O2(GA(DK(n.i),2),19),n.i,O2(GA(DK(n.i),1),19),njJ,0,1,nNr,!1,!1,!0,!1,!1,!1,!1),ntx(O2(GA(DK(n.i),3),19),n.d,O2(GA(DK(n.d),0),19),"containedEdges",0,-1,nNr,!1,!1,!0,!0,!1,!1,!1),XY(O2(GA(DK(n.i),4),35),n.wb.e,nj1,null,0,1,nNr,!0,!0,!1,!1,!0,!0),Kv(n.j,nNa,njT,!1,!1,!0),ntx(O2(GA(DK(n.j),0),19),n.i,O2(GA(DK(n.i),0),19),njJ,0,1,nNa,!1,!1,!0,!1,!1,!1,!1),Kv(n.d,nL8,njm,!1,!1,!0),ntx(O2(GA(DK(n.d),0),19),n.i,O2(GA(DK(n.i),3),19),"containingNode",0,1,nL8,!1,!1,!0,!1,!1,!1,!1),ntx(O2(GA(DK(n.d),1),19),n.c,O2(GA(DK(n.c),0),19),nj0,0,-1,nL8,!1,!1,!0,!1,!0,!1,!1),ntx(O2(GA(DK(n.d),2),19),n.c,O2(GA(DK(n.c),1),19),nj2,0,-1,nL8,!1,!1,!0,!1,!0,!1,!1),ntx(O2(GA(DK(n.d),3),19),n.e,O2(GA(DK(n.e),5),19),nj3,0,-1,nL8,!1,!1,!0,!0,!1,!1,!1),XY(O2(GA(DK(n.d),4),35),n.wb.e,"hyperedge",null,0,1,nL8,!0,!0,!1,!1,!0,!0),XY(O2(GA(DK(n.d),5),35),n.wb.e,nj1,null,0,1,nL8,!0,!0,!1,!1,!0,!0),XY(O2(GA(DK(n.d),6),35),n.wb.e,"selfloop",null,0,1,nL8,!0,!0,!1,!1,!0,!0),XY(O2(GA(DK(n.d),7),35),n.wb.e,"connected",null,0,1,nL8,!0,!0,!1,!1,!0,!0),Kv(n.b,nL3,njd,!1,!1,!0),XY(O2(GA(DK(n.b),0),35),n.wb.t,"x",nwZ,1,1,nL3,!1,!1,!0,!1,!0,!1),XY(O2(GA(DK(n.b),1),35),n.wb.t,"y",nwZ,1,1,nL3,!1,!1,!0,!1,!0,!1),ntK(h=WO(n.b,null,"set"),n.wb.t,"x"),ntK(h,n.wb.t,"y"),Kv(n.e,nL9,njv,!1,!1,!0),XY(O2(GA(DK(n.e),0),35),n.wb.t,"startX",null,0,1,nL9,!1,!1,!0,!1,!0,!1),XY(O2(GA(DK(n.e),1),35),n.wb.t,"startY",null,0,1,nL9,!1,!1,!0,!1,!0,!1),XY(O2(GA(DK(n.e),2),35),n.wb.t,"endX",null,0,1,nL9,!1,!1,!0,!1,!0,!1),XY(O2(GA(DK(n.e),3),35),n.wb.t,"endY",null,0,1,nL9,!1,!1,!0,!1,!0,!1),ntx(O2(GA(DK(n.e),4),19),n.b,null,nj4,0,-1,nL9,!1,!1,!0,!0,!1,!1,!1),ntx(O2(GA(DK(n.e),5),19),n.d,O2(GA(DK(n.d),3),19),njJ,0,1,nL9,!1,!1,!0,!1,!1,!1,!1),ntx(O2(GA(DK(n.e),6),19),n.c,null,nj6,0,1,nL9,!1,!1,!0,!1,!0,!1,!1),ntx(O2(GA(DK(n.e),7),19),n.c,null,nj5,0,1,nL9,!1,!1,!0,!1,!0,!1,!1),ntx(O2(GA(DK(n.e),8),19),n.e,O2(GA(DK(n.e),9),19),nj8,0,-1,nL9,!1,!1,!0,!1,!0,!1,!1),ntx(O2(GA(DK(n.e),9),19),n.e,O2(GA(DK(n.e),8),19),nj9,0,-1,nL9,!1,!1,!0,!1,!0,!1,!1),XY(O2(GA(DK(n.e),10),35),n.wb._,njV,null,0,1,nL9,!1,!1,!0,!1,!0,!1),ntK(h=WO(n.e,null,"setStartLocation"),n.wb.t,"x"),ntK(h,n.wb.t,"y"),ntK(h=WO(n.e,null,"setEndLocation"),n.wb.t,"x"),ntK(h,n.wb.t,"y"),Kv(n.k,nPw,"ElkPropertyToValueMapEntry",!1,!1,!1),a=Dw(n.o),c=new df,Hi((a.d||(a.d=new EU(n03,a,1)),a.d),c),nci(O2(GA(DK(n.k),0),35),a,"key",nPw,!1,!1,!0,!1),XY(O2(GA(DK(n.k),1),35),n.s,njq,null,0,1,nPw,!1,!1,!0,!1,!0,!1),$G(n.o,nLI,"IProperty",!0),$G(n.s,nPu,"PropertyValue",!0),Qd(n,njU)),ntD(n),Ro(n2r,njU,n),n)}function mj(){mj=T,n0C=qT()}function mT(){mT=T,n2u=function(){var n,t;nhA();try{if(t=O2(neG((kM(),n2r),nEW),2040))return t}catch(t){if(EM(t=Vr(t),103))n=t,Nw((T9(),n));else throw t.e}return new ob}()}function mE(){mE=T,n3l=function(){var n,t;HA();try{if(t=O2(neG((kM(),n2r),nSd),2122))return t}catch(t){if(EM(t=Vr(t),103))n=t,Nw((T9(),n));else throw t.e}return new o5}()}function mS(){var n,t,e,i;mS=T,n3b=n24?O2(ncQ((kM(),n2r),nSd),2044):(Tf(n21,new ss),Tf(n20,new sk),Tf(n22,new sA),Tf(n23,new sH),Tf(nP$,new sX),Tf(x2(n4w,1),new sz),Tf(nPE,new sV),Tf(nPS,new sW),Tf(nP$,new o9),Tf(nP$,new o7),Tf(nP$,new sn),Tf(nPC,new st),Tf(nP$,new se),Tf(nPb,new si),Tf(nPb,new sr),Tf(nP$,new sa),Tf(nPO,new su),Tf(nP$,new so),Tf(nP$,new sh),Tf(nP$,new sf),Tf(nP$,new sl),Tf(nP$,new sb),Tf(x2(n4w,1),new sw),Tf(nP$,new sd),Tf(nP$,new sg),Tf(nPb,new sp),Tf(nPb,new sm),Tf(nP$,new sv),Tf(nPI,new sy),Tf(nP$,new sM),Tf(nPA,new sj),Tf(nP$,new sT),Tf(nP$,new sE),Tf(nP$,new sS),Tf(nP$,new sP),Tf(nPb,new sC),Tf(nPb,new sO),Tf(nP$,new sI),Tf(nP$,new sL),Tf(nP$,new sN),Tf(nP$,new s$),Tf(nP$,new sD),Tf(nP$,new sx),Tf(nPL,new sR),Tf(nP$,new sK),Tf(nP$,new sF),Tf(nP$,new s_),Tf(nPL,new sB),Tf(nPA,new sU),Tf(nP$,new sG),Tf(nPI,new sq),n=O2(EM(xp((kM(),n2r),nSd),594)?xp(n2r,nSd):new $T,594),n24=!0,n.N||(n.N=!0,n.b=zD(n,0),XD(n.b,0),XD(n.b,1),XD(n.b,2),n.bb=zD(n,1),XD(n.bb,0),XD(n.bb,1),n.fb=zD(n,2),XD(n.fb,3),XD(n.fb,4),Xx(n.fb,5),n.qb=zD(n,3),XD(n.qb,0),Xx(n.qb,1),Xx(n.qb,2),XD(n.qb,3),XD(n.qb,4),Xx(n.qb,5),XD(n.qb,6),n.a=zx(n,4),n.c=zx(n,5),n.d=zx(n,6),n.e=zx(n,7),n.f=zx(n,8),n.g=zx(n,9),n.i=zx(n,10),n.j=zx(n,11),n.k=zx(n,12),n.n=zx(n,13),n.o=zx(n,14),n.p=zx(n,15),n.q=zx(n,16),n.s=zx(n,17),n.r=zx(n,18),n.t=zx(n,19),n.u=zx(n,20),n.v=zx(n,21),n.w=zx(n,22),n.B=zx(n,23),n.A=zx(n,24),n.C=zx(n,25),n.D=zx(n,26),n.F=zx(n,27),n.G=zx(n,28),n.H=zx(n,29),n.J=zx(n,30),n.I=zx(n,31),n.K=zx(n,32),n.M=zx(n,33),n.L=zx(n,34),n.P=zx(n,35),n.Q=zx(n,36),n.R=zx(n,37),n.S=zx(n,38),n.T=zx(n,39),n.U=zx(n,40),n.V=zx(n,41),n.X=zx(n,42),n.W=zx(n,43),n.Y=zx(n,44),n.Z=zx(n,45),n.$=zx(n,46),n._=zx(n,47),n.ab=zx(n,48),n.cb=zx(n,49),n.db=zx(n,50),n.eb=zx(n,51),n.gb=zx(n,52),n.hb=zx(n,53),n.ib=zx(n,54),n.jb=zx(n,55),n.kb=zx(n,56),n.lb=zx(n,57),n.mb=zx(n,58),n.nb=zx(n,59),n.ob=zx(n,60),n.pb=zx(n,61)),(t=n).O||(t.O=!0,XL(t,"type"),XN(t,"ecore.xml.type"),X$(t,nSd),e=O2(ncQ((kM(),n2r),nSd),2044),Hi(xi(t.fb),t.b),Kv(t.b,n21,"AnyType",!1,!1,!0),XY(O2(GA(DK(t.b),0),35),t.wb.D,nEF,null,0,-1,n21,!1,!1,!0,!1,!1,!1),XY(O2(GA(DK(t.b),1),35),t.wb.D,"any",null,0,-1,n21,!0,!0,!0,!1,!1,!0),XY(O2(GA(DK(t.b),2),35),t.wb.D,"anyAttribute",null,0,-1,n21,!1,!1,!0,!1,!1,!1),Kv(t.bb,n20,nSk,!1,!1,!0),XY(O2(GA(DK(t.bb),0),35),t.gb,"data",null,0,1,n20,!1,!1,!0,!1,!0,!1),XY(O2(GA(DK(t.bb),1),35),t.gb,nTo,null,1,1,n20,!1,!1,!0,!1,!0,!1),Kv(t.fb,n22,nSy,!1,!1,!0),XY(O2(GA(DK(t.fb),0),35),e.gb,"rawValue",null,0,1,n22,!0,!0,!0,!1,!0,!0),XY(O2(GA(DK(t.fb),1),35),e.a,njq,null,0,1,n22,!0,!0,!0,!1,!0,!0),ntx(O2(GA(DK(t.fb),2),19),t.wb.q,null,"instanceType",1,1,n22,!1,!1,!0,!1,!1,!1,!1),Kv(t.qb,n23,nSM,!1,!1,!0),XY(O2(GA(DK(t.qb),0),35),t.wb.D,nEF,null,0,-1,null,!1,!1,!0,!1,!1,!1),ntx(O2(GA(DK(t.qb),1),19),t.wb.ab,null,"xMLNSPrefixMap",0,-1,null,!0,!1,!0,!0,!1,!1,!1),ntx(O2(GA(DK(t.qb),2),19),t.wb.ab,null,"xSISchemaLocation",0,-1,null,!0,!1,!0,!0,!1,!1,!1),XY(O2(GA(DK(t.qb),3),35),t.gb,"cDATA",null,0,-2,null,!0,!0,!0,!1,!1,!0),XY(O2(GA(DK(t.qb),4),35),t.gb,"comment",null,0,-2,null,!0,!0,!0,!1,!1,!0),ntx(O2(GA(DK(t.qb),5),19),t.bb,null,nSz,0,-2,null,!0,!0,!0,!0,!1,!1,!0),XY(O2(GA(DK(t.qb),6),35),t.gb,njY,null,0,-2,null,!0,!0,!0,!1,!1,!0),$G(t.a,nPu,"AnySimpleType",!0),$G(t.c,nP$,"AnyURI",!0),$G(t.d,x2(n4w,1),"Base64Binary",!0),$G(t.e,n4l,"Boolean",!0),$G(t.f,nPE,"BooleanObject",!0),$G(t.g,n4w,"Byte",!0),$G(t.i,nPS,"ByteObject",!0),$G(t.j,nP$,"Date",!0),$G(t.k,nP$,"DateTime",!0),$G(t.n,nPD,"Decimal",!0),$G(t.o,n4d,"Double",!0),$G(t.p,nPC,"DoubleObject",!0),$G(t.q,nP$,"Duration",!0),$G(t.s,nPb,"ENTITIES",!0),$G(t.r,nPb,"ENTITIESBase",!0),$G(t.t,nP$,nSP,!0),$G(t.u,n4g,"Float",!0),$G(t.v,nPO,"FloatObject",!0),$G(t.w,nP$,"GDay",!0),$G(t.B,nP$,"GMonth",!0),$G(t.A,nP$,"GMonthDay",!0),$G(t.C,nP$,"GYear",!0),$G(t.D,nP$,"GYearMonth",!0),$G(t.F,x2(n4w,1),"HexBinary",!0),$G(t.G,nP$,"ID",!0),$G(t.H,nP$,"IDREF",!0),$G(t.J,nPb,"IDREFS",!0),$G(t.I,nPb,"IDREFSBase",!0),$G(t.K,n4f,"Int",!0),$G(t.M,nPx,"Integer",!0),$G(t.L,nPI,"IntObject",!0),$G(t.P,nP$,"Language",!0),$G(t.Q,n4b,"Long",!0),$G(t.R,nPA,"LongObject",!0),$G(t.S,nP$,"Name",!0),$G(t.T,nP$,nSC,!0),$G(t.U,nPx,"NegativeInteger",!0),$G(t.V,nP$,nSK,!0),$G(t.X,nPb,"NMTOKENS",!0),$G(t.W,nPb,"NMTOKENSBase",!0),$G(t.Y,nPx,"NonNegativeInteger",!0),$G(t.Z,nPx,"NonPositiveInteger",!0),$G(t.$,nP$,"NormalizedString",!0),$G(t._,nP$,"NOTATION",!0),$G(t.ab,nP$,"PositiveInteger",!0),$G(t.cb,nP$,"QName",!0),$G(t.db,n4p,"Short",!0),$G(t.eb,nPL,"ShortObject",!0),$G(t.gb,nP$,nb4,!0),$G(t.hb,nP$,"Time",!0),$G(t.ib,nP$,"Token",!0),$G(t.jb,n4p,"UnsignedByte",!0),$G(t.kb,nPL,"UnsignedByteObject",!0),$G(t.lb,n4b,"UnsignedInt",!0),$G(t.mb,nPA,"UnsignedIntObject",!0),$G(t.nb,nPx,"UnsignedLong",!0),$G(t.ob,n4f,"UnsignedShort",!0),$G(t.pb,nPI,"UnsignedShortObject",!0),Qd(t,nSd),nc0((i=t).a,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"anySimpleType"])),nc0(i.b,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"anyType",nEB,nEF])),nc0(O2(GA(DK(i.b),0),35),nE_,Vp(x2(nP$,1),nbj,2,6,[nEB,nSo,nTl,":mixed"])),nc0(O2(GA(DK(i.b),1),35),nE_,Vp(x2(nP$,1),nbj,2,6,[nEB,nSo,nSw,nSg,nTl,":1",nST,"lax"])),nc0(O2(GA(DK(i.b),2),35),nE_,Vp(x2(nP$,1),nbj,2,6,[nEB,nSc,nSw,nSg,nTl,":2",nST,"lax"])),nc0(i.c,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"anyURI",nSb,nSs])),nc0(i.d,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"base64Binary",nSb,nSs])),nc0(i.e,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nl2,nSb,nSs])),nc0(i.f,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"boolean:Object",nEJ,nl2])),nc0(i.g,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nEP])),nc0(i.i,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"byte:Object",nEJ,nEP])),nc0(i.j,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"date",nSb,nSs])),nc0(i.k,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"dateTime",nSb,nSs])),nc0(i.n,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"decimal",nSb,nSs])),nc0(i.o,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nEO,nSb,nSs])),nc0(i.p,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"double:Object",nEJ,nEO])),nc0(i.q,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"duration",nSb,nSs])),nc0(i.s,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"ENTITIES",nEJ,nSE,nSS,"1"])),nc0(i.r,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nSE,nSh,nSP])),nc0(i.t,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nSP,nEJ,nSC])),nc0(i.u,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nEI,nSb,nSs])),nc0(i.v,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"float:Object",nEJ,nEI])),nc0(i.w,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"gDay",nSb,nSs])),nc0(i.B,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"gMonth",nSb,nSs])),nc0(i.A,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"gMonthDay",nSb,nSs])),nc0(i.C,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"gYear",nSb,nSs])),nc0(i.D,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"gYearMonth",nSb,nSs])),nc0(i.F,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"hexBinary",nSb,nSs])),nc0(i.G,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"ID",nEJ,nSC])),nc0(i.H,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"IDREF",nEJ,nSC])),nc0(i.J,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"IDREFS",nEJ,nSO,nSS,"1"])),nc0(i.I,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nSO,nSh,"IDREF"])),nc0(i.K,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nEA])),nc0(i.M,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nSI])),nc0(i.L,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"int:Object",nEJ,nEA])),nc0(i.P,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"language",nEJ,nSA,nSL,nSN])),nc0(i.Q,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nEL])),nc0(i.R,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"long:Object",nEJ,nEL])),nc0(i.S,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"Name",nEJ,nSA,nSL,nS$])),nc0(i.T,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nSC,nEJ,"Name",nSL,nSD])),nc0(i.U,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"negativeInteger",nEJ,nSx,nSR,"-1"])),nc0(i.V,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nSK,nEJ,nSA,nSL,"\\c+"])),nc0(i.X,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"NMTOKENS",nEJ,nSF,nSS,"1"])),nc0(i.W,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nSF,nSh,nSK])),nc0(i.Y,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nS_,nEJ,nSI,nSB,"0"])),nc0(i.Z,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nSx,nEJ,nSI,nSR,"0"])),nc0(i.$,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nSH,nEJ,nl4,nSb,"replace"])),nc0(i._,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"NOTATION",nSb,nSs])),nc0(i.ab,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"positiveInteger",nEJ,nS_,nSB,"1"])),nc0(i.bb,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"processingInstruction_._type",nEB,"empty"])),nc0(O2(GA(DK(i.bb),0),35),nE_,Vp(x2(nP$,1),nbj,2,6,[nEB,nSa,nTl,"data"])),nc0(O2(GA(DK(i.bb),1),35),nE_,Vp(x2(nP$,1),nbj,2,6,[nEB,nSa,nTl,nTo])),nc0(i.cb,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"QName",nSb,nSs])),nc0(i.db,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nEN])),nc0(i.eb,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"short:Object",nEJ,nEN])),nc0(i.fb,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"simpleAnyType",nEB,nSr])),nc0(O2(GA(DK(i.fb),0),35),nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,":3",nEB,nSr])),nc0(O2(GA(DK(i.fb),1),35),nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,":4",nEB,nSr])),nc0(O2(GA(DK(i.fb),2),19),nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,":5",nEB,nSr])),nc0(i.gb,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nl4,nSb,"preserve"])),nc0(i.hb,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"time",nSb,nSs])),nc0(i.ib,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nSA,nEJ,nSH,nSb,nSs])),nc0(i.jb,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nSU,nSR,"255",nSB,"0"])),nc0(i.kb,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"unsignedByte:Object",nEJ,nSU])),nc0(i.lb,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nSG,nSR,"4294967295",nSB,"0"])),nc0(i.mb,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"unsignedInt:Object",nEJ,nSG])),nc0(i.nb,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"unsignedLong",nEJ,nS_,nSR,nSq,nSB,"0"])),nc0(i.ob,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,nSX,nSR,"65535",nSB,"0"])),nc0(i.pb,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"unsignedShort:Object",nEJ,nSX])),nc0(i.qb,nE_,Vp(x2(nP$,1),nbj,2,6,[nTl,"",nEB,nEF])),nc0(O2(GA(DK(i.qb),0),35),nE_,Vp(x2(nP$,1),nbj,2,6,[nEB,nSo,nTl,":mixed"])),nc0(O2(GA(DK(i.qb),1),19),nE_,Vp(x2(nP$,1),nbj,2,6,[nEB,nSa,nTl,"xmlns:prefix"])),nc0(O2(GA(DK(i.qb),2),19),nE_,Vp(x2(nP$,1),nbj,2,6,[nEB,nSa,nTl,"xsi:schemaLocation"])),nc0(O2(GA(DK(i.qb),3),35),nE_,Vp(x2(nP$,1),nbj,2,6,[nEB,nSu,nTl,"cDATA",nSf,nSl])),nc0(O2(GA(DK(i.qb),4),35),nE_,Vp(x2(nP$,1),nbj,2,6,[nEB,nSu,nTl,"comment",nSf,nSl])),nc0(O2(GA(DK(i.qb),5),19),nE_,Vp(x2(nP$,1),nbj,2,6,[nEB,nSu,nTl,nSz,nSf,nSl])),nc0(O2(GA(DK(i.qb),6),35),nE_,Vp(x2(nP$,1),nbj,2,6,[nEB,nSu,nTl,njY,nSf,nSl]))),$S((kp(),n2c),n,new o8),ntD(n),Ro(n2r,nSd,n),n)}function mP(n){return n.e&&n.e()}function mC(n){return n.l|n.m<<22}function mO(n){return n?n.d:null}function mI(n){return PL(n),n.o}function mA(n,t){return n.a+=t,n}function mL(n,t){return n.a+=t,n}function mN(n,t){return n.a+=t,n}function m$(n,t){for(;n.Bd(t););}function mD(n){this.a=new vH(n)}function mx(){throw(new dx).e}function mR(){throw(new dx).e}function mK(){throw(new dx).e}function mF(){throw(new dx).e}function m_(){throw(new dx).e}function mB(){throw(new dx).e}function mH(n){this.a=new Ls(n)}function mU(){this.a=new nuE(nLa)}function mG(){this.b=new nuE(nA9)}function mq(){this.a=new nuE(nLf)}function mX(){this.b=new nuE(nLk)}function mz(){this.b=new nuE(nLk)}function mV(n){this.a=0,this.b=n}function mW(n){nf4(),function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b;if(e=0,c=0,a=t.length,u=null,s=new p3,c1?Kg(h.a[0],h.a[1]):Kg(h.a[0],0),K$(h.e>0?f:H9(f))));for(r=0,n.d=s.a.length;r=0}function jU(n,t){return 0!=QM(n,t)}function jG(n,t){return function(n,t){for(NA(t);n.Ob();)if(!z5(O2(n.Pb(),10)))return!1;return!0}(n.Kc(),t)}function jq(n,t){return n.Rd().Xb(t)}function jX(n){return Yn(n),n.d.gc()}function jz(n){return IY(null==n),n}function jV(n,t){return n.a+=""+t,n}function jW(n,t){return n.a+=""+t,n}function jQ(n,t){return n.a+=""+t,n}function jJ(n,t){return n.a+=""+t,n}function jY(n,t){return n.a+=""+t,n}function jZ(n,t){return n.a+=""+t,n}function j1(n){LX(this),ze(this,n)}function j0(){Rt(),AH.call(this)}function j2(n,t){Lo.call(this,n,t)}function j3(n,t){Lo.call(this,n,t)}function j4(n,t){Lo.call(this,n,t)}function j6(n,t){FG(n,t,n.c.b,n.c)}function j5(n,t){FG(n,t,n.a,n.a.a)}function j8(n){return RR(n,0),null}function j9(){this.b=0,this.a=!1}function j7(){this.b=0,this.a=!1}function Tn(){this.b=new vH(Go(12))}function Tt(){Tt=T,nIF=W8(ZW())}function Te(){Te=T,nxI=W8(nuT())}function Ti(){Ti=T,nXl=W8(zk())}function Tr(){Tr=T,dP(),nP9=new dc}function Ta(n){return n.a=0,n.b=0,n}function Tc(n,t){CB.call(this,n,t)}function Tu(n,t){P7.call(this,n,t)}function To(n,t){jN.call(this,n,t)}function Ts(n,t){SU.call(this,n,t)}function Th(n,t){zQ.call(this,n,t)}function Tf(n,t){kj(),$S(n0A,n,t)}function Tl(n,t){n.q.setTime(K$(t))}function Tb(n,t){return xu(n.a,0,t)}function Tw(n){var t;return t=O2(n,74),D$(),xY(niX(t))==xY(niW(t))}function Td(n){return xT(($d(n),n))}function Tg(n){return Es(n.l,n.m,n.h)}function Tp(n,t){return n.indexOf(t)}function Tm(n,t){return n==t?0:n?1:-1}function Tv(n){return n<10?"0"+n:""+n}function Tk(n){return typeof n===nl3}function Ty(n){return H7(n.b.b,n,0)}function TM(){Ah.call(this,0,0,0,0)}function Tj(){fW.call(this,new FU)}function TT(n,t){HS(n,0,n.length,t)}function TE(n){this.a=(mk(),new nCJ),this.b=n}function TS(n){this.a=(mk(),new nCJ),this.b=n}function TP(n){this.a=n.a,this.b=n.b}function TC(n){this.a=n,sZ.call(this)}function TO(n){this.a=n,sZ.call(this)}function TI(){$9.call(this,0,0,0,0)}function TA(n){return zP(new $M,n)}function TL(n){return $K(O2(n,123))}function TN(n){return n.vh()&&n.wh()}function T$(n){return n!=nZ2&&n!=nZ3}function TD(n){return n==nY7||n==nZn}function Tx(n){return n==nZe||n==nY9}function TR(n){var t,e;return t=n.b.Kc(),e=n.a,NA(t),NA(e),new vy(t,e)}function TK(n,t){Wq(n,t),qt(n,n.D)}function TF(n,t,e){G8(n,t),GY(n,e)}function T_(n,t,e){G0(n,t),G1(n,e)}function TB(n,t,e){G2(n,t),G3(n,e)}function TH(n,t,e){GZ(n,t),G6(n,e)}function TU(n,t,e){G4(n,t),G5(n,e)}function TG(n,t,e){PU.call(this,n,t,e)}function Tq(n){jM.call(this,n,!0)}function TX(){kF.call(this,"Tail",3)}function Tz(){kF.call(this,"Head",1)}function TV(n){no0(),zr.call(this,n)}function TW(n){Ah.call(this,n,n,n,n)}function TQ(n){n.c=B0(nPu,nbe,1,0,5,1)}function TJ(n){return n.b&&nhD(n),n.a}function TY(n){return n.b&&nhD(n),n.c}function TZ(n,t){P7.call(this,n.b,t)}function T1(n,t,e){NH(n.c[t.g],t.g,e)}function T0(n){Gm(n.Sf(),new lw(n))}function T2(n){return null!=n?XO(n):0}function T3(n){nlq(),dr.call(this,n)}function T4(n){this.a=n,OW.call(this,n)}function T6(){T6=T,nPH.Math.log(2)}function T5(){T5=T,kk(),n2_=n0l}function T8(){T8=T,nq$=new J4(nLF)}function T9(){T9=T,new T7,new du}function T7(){new dc,new dc,new dc}function En(n){this.a=n,v$.call(this,n)}function Et(n){this.a=n,v$.call(this,n)}function Ee(n,t){ND(),this.a=n,this.b=t}function Ei(n,t){AL(n.c,n.c.length,t)}function Er(n){return n.at?1:0}function Eo(n,t){return QM(n,t)>0?n:t}function Es(n,t,e){return{l:n,m:t,h:e}}function Eh(n,t,e){return Zn(t,e,n.c)}function Ef(n){D3.call(this),this.b=n}function El(n){Cb.call(this),this.a=n}function Eb(){kF.call(this,"Range",2)}function Ew(n){this.b=n,this.a=new du}function Ed(n){this.b=new nZ,this.a=n}function Eg(n){n.a=new x,n.c=new x}function Ep(n){n.a=new dc,n.d=new dc}function Em(n){Rb(n,null),Rw(n,null)}function Ev(n){return new MH(n.a,n.b)}function Ek(n){return new MH(n.c,n.d)}function Ey(n,t){return function(n,t,e){var i,r,a,c,u,o,s,h;if(0==e.gc())return!1;if(kP(),a=(u=O2(t,69).xk())?e:new GT(e.gc()),nuQ(n.e,t)){if(t.Si())for(s=e.Kc();s.Ob();)!nho(n,t,o=s.Pb(),EM(t,102)&&(O2(t,19).Bb&nwz)!=0)&&(r=FT(t,o),a.Hc(r)||a.Fc(r));else if(!u)for(s=e.Kc();s.Ob();)r=FT(t,o=s.Pb()),a.Fc(r)}else{if(e.gc()>1)throw new pN(nSm).e;for(c=0,h=nuR(n.e.Dh(),t),i=O2(n.g,124);c0&&(n.a/=e,n.b/=e),n.a*=t,n.b*=t,n}function Ib(n,t,e){Gy.call(this,t,e),this.d=n}function Iw(n,t,e){j$.call(this,n,t),this.c=e}function Id(n,t,e){j$.call(this,n,t),this.c=e}function Ig(n){Oh(),u1.call(this),this.ci(n)}function Ip(){Bl(),N8.call(this,(kM(),n2r))}function Im(n){return nlq(),++n4o,new Av(0,n)}function Iv(){Iv=T,DL(),n3c=new f_(nSg)}function Ik(){Ik=T,new nnj((g1(),nPJ),(gZ(),nPQ))}function Iy(){Iy=T,nCd=B0(nPI,nbj,17,256,0,1)}function IM(){this.b=pE(PI(Z8((ns_(),n$d))))}function Ij(n){this.b=n,this.a=A4(this.b.a).Od()}function IT(n,t){this.b=n,this.a=t,sZ.call(this)}function IE(n,t){this.a=n,this.b=t,sZ.call(this)}function IS(n,t,e){this.a=n,To.call(this,t,e)}function IP(n,t,e){this.a=n,To.call(this,t,e)}function IC(n,t,e){Ge(n,t,new NL(e))}function IO(n,t,e){var i;return i=n[t],n[t]=e,i}function II(n){return HE(n.slice(),n)}function IA(n){var t;return t=n.n,n.a.b+t.d+t.a}function IL(n){var t;return t=n.n,n.e.b+t.d+t.a}function IN(n){var t;return t=n.n,n.e.a+t.b+t.c}function I$(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function ID(n,t){return FG(n,t,n.c.b,n.c),!0}function Ix(n,t){return nep(n,new yp(t.a,t.b))}function IR(n){return n.b.c.length-n.e.c.length}function IK(n){return n.e.c.length-n.g.c.length}function IF(n){return n.e.c.length+n.g.c.length}function I_(n){return 0==n||isNaN(n)?n:n<0?-1:1}function IB(n,t,e,i){Zl.call(this,n,t,e,i,0,0)}function IH(n){Oh(),Ig.call(this,n),this.a=-1}function IU(n,t){Lu.call(this,t,1040),this.a=n}function IG(){M8.call(this,"COUNT_CHILDREN",0)}function Iq(n,t){jL.call(this,n,t),this.a=this}function IX(n,t){var e;return(e=NI(n,t)).i=2,e}function Iz(n,t){return++n.j,n.Cj(t)}function IV(n,t,e){return n.a=-1,S3(n,t.g,e),n}function IW(n){return GR(),B0(nLn,nk5,40,n,0,1)}function IQ(n){return n.e.Rd().gc()*n.c.Rd().gc()}function IJ(n,t,e){var i;return new CZ((0>=n?new vJ:0>(i=n-1)?new vJ:new PH(null,new _g(i+1,i)))._e(),e,t)}function IY(n){if(!n)throw new pL(null).e}function IZ(n){if(n.c.e!=n.a)throw(new dR).e}function I1(n){if(n.e.c!=n.b)throw(new dR).e}function I0(n){for(NA(n);n.Ob();)n.Pb(),n.Qb()}function I2(n){ND(),this.a=(DL(),new f_(NA(n)))}function I3(n){this.c=n,this.b=this.c.d.vc().Kc()}function I4(n,t){return n.a+=Zo(t,0,t.length),n}function I6(n,t){return RR(t,n.c.length),n.c[t]}function I5(n,t){return RR(t,n.a.length),n.a[t]}function I8(n,t,e,i,r,a){return function n(t,e,i,r,a,c,u){var o,s,h,f,l;if(f=a[c],l=ntw(o=(h=c==u-1)?r:0,f),10!=r&&Vp(x2(t,u-c),e[c],i[c],o,l),!h)for(++c,s=0;s>>i,c=e.m>>i|r<<22-i,a=e.l>>i|e.m<<22-i):i<44?(u=0,c=r>>>i-22,a=e.m>>i-22|e.h<<44-i):(u=0,c=0,a=r>>>i-44),Es(a&nwA,c&nwA,u&nwL)))}function Lr(n,t){return JC(($d(n),n),($d(t),t))}function La(n){this.b=new Bd(11),this.a=(DA(),n)}function Lc(n){this.a=(Aq(),nP1),this.d=O2(NA(n),51)}function Lu(n,t){this.c=0,this.d=n,this.b=64|t|nbT}function Lo(n,t){this.e=n,this.d=(64&t)!=0?t|nbT:t}function Ls(n){this.b=null,this.a=(DA(),n||nCX)}function Lh(n){EZ(this),this.g=n,Dm(this),this.je()}function Lf(n){kC(),this.a=0,this.b=n-1,this.c=1}function Ll(n,t,e,i){this.a=n,Bh.call(this,n,t,e,i)}function Lb(n){n.d||(n.d=n.b.Kc(),n.c=n.b.gc())}function Lw(n,t){if(n<0||n>=t)throw(new gf).e}function Ld(n,t){return QY(n,($d(t),new f2(t)))}function Lg(n,t){return QY(n,($d(t),new f3(t)))}function Lp(n,t,e){return function(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k;if(i=t,o=e,n.b&&i.j==(nf9(),n1M)&&o.j==(nf9(),n1M)&&(m=i,i=o,o=m),LB(n.a,i)){if(vF(O2(NB(n.a,i),49),o))return 1}else $S(n.a,i,new dV);if(LB(n.a,o)){if(vF(O2(NB(n.a,o),49),i))return -1}else $S(n.a,o,new dV);if(LB(n.d,i)){if(vF(O2(NB(n.d,i),49),o))return -1}else $S(n.d,i,new dV);if(LB(n.d,o)){if(vF(O2(NB(n.a,o),49),i))return 1}else $S(n.d,o,new dV);if(i.j!=o.j)return v=i.j,k=o.j,-1==(p=Eu(v.g,k.g))?no5(n,o,i):no5(n,i,o),p;if(0!=i.e.c.length&&0!=o.e.c.length){if(n.b&&0!=(p=Qn(i,o)))return -1==p?no5(n,o,i):1==p&&no5(n,i,o),p;if((a=O2(I6(i.e,0),18).c.i)==(h=O2(I6(o.e,0),18).c.i))return(r=O2(niB(O2(I6(i.e,0),18),(nlB(),nK5)),17).a)>(s=O2(niB(O2(I6(o.e,0),18),nK5),17).a)?no5(n,i,o):no5(n,o,i),rs?1:0;for(w=n.c,d=0,g=w.length;d(s=O2(niB(l,nK5),17).a)?no5(n,i,o):no5(n,o,i),rs?1:0):n.b&&0!=(p=Qn(i,o))?(-1==p?no5(n,o,i):1==p&&no5(n,i,o),p):(c=0,f=0,Pn(O2(I6(i.g,0),18),nK5)&&(c=O2(niB(O2(I6(i.g,0),18),nK5),17).a),Pn(O2(I6(o.g,0),18),nK5)&&(f=O2(niB(O2(I6(i.g,0),18),nK5),17).a),u&&u==l)?pT(PO(niB(O2(I6(i.g,0),18),nFh)))&&!pT(PO(niB(O2(I6(o.g,0),18),nFh)))?(no5(n,i,o),1):!pT(PO(niB(O2(I6(i.g,0),18),nFh)))&&pT(PO(niB(O2(I6(o.g,0),18),nFh)))?(no5(n,o,i),-1):(c>f?no5(n,i,o):no5(n,o,i),cf?1:0):(n.f&&(n.f._b(u)&&(c=O2(n.f.xc(u),17).a),n.f._b(l)&&(f=O2(n.f.xc(l),17).a)),c>f?no5(n,i,o):no5(n,o,i),cf?1:0):0!=i.e.c.length&&0!=o.g.c.length?(no5(n,i,o),1):0!=i.g.c.length&&0!=o.e.c.length?(no5(n,o,i),-1):Pn(i,(nlB(),nK5))&&Pn(o,nK5)?((r=O2(niB(i,nK5),17).a)>(s=O2(niB(o,nK5),17).a)?no5(n,i,o):no5(n,o,i),rs?1:0):(no5(n,o,i),-1)}(n,O2(t,12),O2(e,12))}function Lm(n){return zn(),0!=O2(n,12).g.c.length}function Lv(n){return zn(),0!=O2(n,12).e.c.length}function Lk(n,t,e){return noa(),zo(n,t)&&zo(n,e)}function Ly(n){return nak(),!n.Hc(nZ8)&&!n.Hc(nZ7)}function LM(n){return Tk(n)?""+n:function n(t){var e,i,r,a;if(0==t.l&&0==t.m&&0==t.h)return"0";if(t.h==nwN&&0==t.m&&0==t.l)return"-9223372036854775808";if(t.h>>19!=0)return"-"+n(VD(t));for(i=t,r="";!(0==i.l&&0==i.m&&0==i.h);){if(i=nff(i,_B(nwx),!0),e=""+mC(nCr),!(0==i.l&&0==i.m&&0==i.h))for(a=9-e.length;a>0;a--)e="0"+e;r=e+r}return r}(n)}function Lj(n){var t;for(t=n;t.f;)t=t.f;return t}function LT(n,t,e,i){var r;(r=n.i).i=t,r.a=e,r.b=i}function LE(n,t,e,i){EU.call(this,n,t,e),this.b=i}function LS(n,t,e,i,r){Hw.call(this,n,t,e,i,r,-1)}function LP(n,t,e,i,r){Hd.call(this,n,t,e,i,r,-1)}function LC(n,t,e,i){Iw.call(this,n,t,e),this.b=i}function LO(n){jM.call(this,n,!1),this.a=!1}function LI(){M8.call(this,"LOOKAHEAD_LAYOUT",1)}function LA(n){this.b=n,SW.call(this,n),St(this)}function LL(n){this.b=n,SJ.call(this,n),Se(this)}function LN(n,t,e){this.a=n,CI.call(this,t,e,5,6)}function L$(n,t,e,i){this.b=n,EU.call(this,t,e,i)}function LD(n,t){this.b=n,fr.call(this,n.b),this.a=t}function Lx(n){this.a=nnv(n.a),this.b=new Ot(n.b)}function LR(n,t){ND(),vO.call(this,n,Qx(new pU(t)))}function LK(n,t){return nlq(),++n4o,new N4(n,t,0)}function LF(n,t){return nlq(),++n4o,new N4(6,n,t)}function L_(n,t){for($d(t);n.Ob();)t.Cd(n.Pb())}function LB(n,t){return jK(t)?DV(n,t):!!AO(n.f,t)}function LH(n,t){return t.Vh()?QT(n.b,O2(t,54)):t}function LU(n){return new Lc(new So(n.a.length,n.a))}function LG(n){return new MH(n.c+n.b/2,n.d+n.a/2)}function Lq(n){return typeof n===nl0||typeof n===nl6}function LX(n){n.f=new TE(n),n.i=new TS(n),++n.g}function Lz(n){if(!n)throw(new dF).e;return n.d}function LV(n){var t;return P$(null!=(t=V1(n))),t}function LW(n,t){var e;return _J(t,e=n.a.gc()),e-t}function LQ(n,t){return null==n.a.zc(t,n)}function LJ(n,t){return null==n.a.zc(t,(SB(),nCs))}function LY(n){var t;return new As(null,(function(n,t){if(0>n||n>t)throw new p6("fromIndex: 0, toIndex: "+n+ndc+t).e}(t=n.length,n.length),new IU(n,t)))}function LZ(n,t,e){return function n(t,e,i){var r,a,c,u,o,s,h,f;return Q0(i,t.b)||(t.b=i,c=new nW,u=O2(Fq($J(new As(null,new RF(i.f,16)),c),H3(new V,new W,new ne,new ni,Vp(x2(nOa,1),nbz,108,0,[(W1(),nOF),nOK]))),21),t.e=!0,t.f=!0,t.c=!0,t.d=!0,a=u.Hc((nnh(),nIV)),r=u.Hc(nIW),a&&!r&&(t.f=!1),!a&&r&&(t.d=!1),a=u.Hc(nIz),r=u.Hc(nIQ),a&&!r&&(t.c=!1),a||!r||(t.e=!1)),f=O2(t.a.Ve(e,i),42),s=O2(f.a,17).a,h=O2(f.b,17).a,o=!1,s<0?t.c||(o=!0):t.e||(o=!0),h<0?t.d||(o=!0):t.f||(o=!0),o?n(t,f,i):f}(n,O2(t,42),O2(e,176))}function L1(n,t,e){return Xw(n.a,t),IO(n.b,t.g,e)}function L0(n,t,e,i){WG(t,e,n.length),function(n,t,e,i){var r;for(r=t;rQM(n,t)?-1:QM(n,t)>0?1:0}function Ne(n,t){EN(n,EM(t,160)?t:O2(t,2036).Rl())}function Ni(n,t){if(null==n)throw new px(t).e}function Nr(n,t){return!!t&&XR(n,t)}function Na(n){return 0==n.e?n:new L3(-n.e,n.d,n.a)}function Nc(n,t){FG(n.d,t,n.b.b,n.b),++n.a,n.c=null}function Nu(n,t,e){var i;for(i=0;i=0;t--)if(Cq(n[t].d,"gA")||Cq(n[t].d,"vz")){n.length>=t+1&&n.splice(0,t+1);break}return n}(nP8.me(n)))),t=n.j,e=0,i=t.length;e0){Zz(n,e,0),e.a+=String.fromCharCode(i),Zz(n,e,r=function(n,t){var e,i;for(RK(t,n.length),e=n.charCodeAt(t),i=t+1;i=14&&e<=16);case 11:return null!=t&&typeof t===nl6;case 12:return null!=t&&(typeof t===nl0||typeof t==nl6);case 0:return nnd(t,n.__elementTypeId$);case 2:return Lq(t)&&t.Tm!==j;case 1:return Lq(t)&&t.Tm!==j||nnd(t,n.__elementTypeId$);default:return!0}}(n,e)),n[t]=e}function NU(n,t){return RK(t,n.length+1),n.substr(t)}function NG(n,t){for($d(t);n.c0;)n=n<<1|(n<0?1:0);return n}function $$(n,t){var e;return e=new Nz(n),dy(t.c,e),e}function $D(n,t){var e;n.u.Hc((nak(),nZ8))&&function(n,t){var e,i,r,a;for(e=(a=O2($R(n.b,t),127)).a,r=O2(O2(_V(n.r,t),21),87).Kc();r.Ob();)(i=O2(r.Pb(),117)).c&&(e.a=nPH.Math.max(e.a,IN(i.c)));if(e.a>0)switch(t.g){case 2:a.n.c=n.s;break;case 4:a.n.b=n.s}}(n,t),n.C&&((e=O2($R(n.b,t),127).n).d=n.C.d,e.a=n.C.a)}function $x(n,t){return jR(n)===jR(t)||null!=n&&Q0(n,t)}function $R(n,t){return AP(n.a,t)?n.b[O2(t,22).g]:null}function $K(n){return n.n||(n.n=new LE(nNi,n,1,7)),n.n}function $F(n){return n.c||(n.c=new LE(nNa,n,9,9)),n.c}function $_(n){return n.c||(n.c=new CK(nL5,n,5,8)),n.c}function $B(n){var t;return n.j.c.length=0,$0(n.c),dG((t=n.a).j.c,0),t.a=-1,n}function $H(n){var t,e,i,r,a;return n.e==nSp&&(e=n.g,t=(r=(i=n.b).qi(e.a))&&null!=(a=PA(Yq((r.b||(r.b=new Pd((nlz(),n2C),n2t,r)),r.b),nTl)))?a:i.xe(),n.e=t),n.e}function $U(n){var t,e,i,r,a;return n.f==nSp&&(e=n.g,t=(r=(i=n.b).qi(e.a))?Cq(nSl,a=PA(Yq((r.b||(r.b=new Pd((nlz(),n2C),n2t,r)),r.b),nSf)))?A5(e,GP(i.qk())):a:null,n.f=t),n.f}function $G(n,t,e,i){return zR(n,t,e,!1),Q9(n,i),n}function $q(n,t){this.b=n,L6.call(this,n,t),St(this)}function $X(n,t){this.b=n,CQ.call(this,n,t),Se(this)}function $z(n){this.d=n,this.a=this.d.b,this.b=this.d.c}function $V(n,t){this.b=n,this.c=t,this.a=new vG(this.b)}function $W(n,t){return RK(t,n.length),n.charCodeAt(t)}function $Q(n,t){return JL(n),new As(n,new Hz(t,n.a))}function $J(n,t){return JL(n),new As(n,new _6(t,n.a))}function $Y(n,t){return JL(n),new PB(n,new _3(t,n.a))}function $Z(n,t){return JL(n),new PH(n,new _4(t,n.a))}function $1(n,t,e){e.a?G3(n,t.b-n.f/2):G2(n,t.a-n.g/2)}function $0(n){var t;for(t=n.Kc();t.Ob();)t.Pb(),t.Qb()}function $2(n){var t;return(t=n.b)||(n.b=t=new h0(n)),t}function $3(n){var t,e;return(t=EM(e=niB(n,(nlB(),nK8)),167)?function n(t){var e,i,r;return(i=t.jh())?EM(e=t.Eh(),167)&&null!=(r=n(O2(e,167)))?r+"."+i:i:null}(O2(e,167)):null)?t:null}function $4(n,t){var e,i;return i=xT(e=n/t),e>i&&++i,i}function $6(n,t,e,i){this.a=n,this.c=t,this.b=e,this.d=i}function $5(n,t,e,i){this.c=n,this.b=t,this.a=e,this.d=i}function $8(n,t,e,i){this.c=n,this.b=t,this.d=e,this.a=i}function $9(n,t,e,i){this.c=n,this.d=t,this.b=e,this.a=i}function $7(n,t,e,i){this.a=n,this.d=t,this.c=e,this.b=i}function Dn(n,t,e,i){this.a=n,this.e=t,this.d=e,this.c=i}function Dt(n,t,e,i){this.a=n,this.c=t,this.d=e,this.b=i}function De(n,t,e){this.a=nb9,this.d=n,this.b=t,this.c=e}function Di(n,t,e,i){vS.call(this,n,t),this.a=e,this.b=i}function Dr(n,t){this.d=($d(n),n),this.a=16449,this.c=t}function Da(n){this.a=new du,this.e=B0(n4f,nbj,53,n,0,2)}function Dc(){ph.call(this,"There is no more element.")}function Du(n,t,e,i){this.a=n,this.b=t,this.c=e,this.d=i}function Do(n,t,e,i){this.a=n,this.b=t,this.c=e,this.d=i}function Ds(n,t,e,i){this.e=n,this.a=t,this.c=e,this.d=i}function Dh(n,t,e,i){this.a=n,this.c=t,this.d=e,this.b=i}function Df(n,t,e,i){T5(),_5.call(this,t,e,i),this.a=n}function Dl(n,t,e,i){T5(),_5.call(this,t,e,i),this.a=n}function Db(n,t,e){var i;return i=nli(n),t.ti(e,i)}function Dw(n){var t;return GC(t=new df,n),t}function Dd(n){var t;return ni1(t=new df,n),t}function Dg(n){return n.b||(n.b=new LE(nL8,n,12,3)),n.b}function Dp(n){return IY(null==n||Lq(n)&&n.Tm!==j),n}function Dm(n){return n.n&&(n.e!==nb0&&n.je(),n.j=null),n}function Dv(n){if(Yn(n.d),n.d.d!=n.c)throw(new dR).e}function Dk(n){return P$(n.b0&&ney(this)}function Dj(n,t){this.a=n,P_.call(this,n,O2(n.d,15).fd(t))}function DT(n,t){return n.b=t.b,n.c=t.c,n.d=t.d,n.a=t.a,n}function DE(n,t,e,i){this.b=n,this.c=i,j4.call(this,t,e)}function DS(n){return n.f||(n.f=new vg(n,n.c))}function DP(n,t){return QH(n.j,t.s,t.c)+QH(t.e,n.s,n.c)}function DC(){ni9(this,new hU),this.wb=(NR(),n2o),mT()}function DO(n){this.b=new du,Vs(this.b,this.b),this.a=n}function DI(n,t){new vq,this.a=new gE,this.b=n,this.c=t}function DA(){DA=T,nCX=new L,nCz=new L,nCV=new N}function DL(){DL=T,nCH=new P,nCU=new O,nCG=new I}function DN(){DN=T,nOU=new nb,nOq=new AB,nOG=new nw}function D$(){D$=T,nNX=new du,nNq=new dc,nNG=new du}function DD(n,t){if(null==n)throw new px(t).e;return n}function Dx(n){return n.a||(n.a=new LE(nNr,n,10,11)),n.a}function DR(n){return n.q||(n.q=new LE(n04,n,11,10)),n.q}function DK(n){return n.s||(n.s=new LE(n0Q,n,21,17)),n.s}function DF(n,t,e){Ge(n,t,new fk(C9(e)))}function D_(n,t,e,i,r,a){Hd.call(this,n,t,e,i,r,a?-2:-1)}function DB(n,t,e,i){j$.call(this,t,e),this.b=n,this.a=i}function DH(n,t){g9.call(this,new Ls(n)),this.a=n,this.b=t}function DU(n){this.b=n,this.c=n,n.e=null,n.c=null,this.a=1}function DG(){var n,t;DG=T,t=!(Error.stackTraceLimit>0?(nPH.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in Error()),n=new m,nP8=t?new p:n}function Dq(n){return DL(),EM(n,59)?new p7(n):new Sj(n)}function DX(n){var t,e;return EM(n,16)?new Aa(O2(n,16)):(t=n.Kc(),UA(e=new dV,t),e)}function Dz(n){return n&&n.hashCode?n.hashCode():SK(n)}function DV(n,t){return null==t?!!AO(n.f,null):void 0!==n.i.a.get(t)}function DW(n,t,e){return!!n.f&&n.f.ef(t,e)}function DQ(n,t,e,i){NH(n.c[t.g],e.g,i),NH(n.c[e.g],t.g,i)}function DJ(n,t,e,i){NH(n.c[t.g],t.g,e),NH(n.b[t.g],t.g,i)}function DY(n,t){this.g=n,this.d=Vp(x2(nAc,1),npX,10,0,[t])}function DZ(n){this.c=n,this.b=new mH(O2(NA(new nd),50))}function D1(n){this.c=n,this.b=new mH(O2(NA(new tl),50))}function D0(n){this.b=n,this.a=new mH(O2(NA(new nY),50))}function D2(){this.b=new dV,this.d=new vq,this.e=new gl}function D3(){this.c=new mm,this.d=new mm,this.e=new mm}function D4(){this.a=new gE,this.b=(qD(3,nbX),new Bd(3))}function D6(n,t){this.e=n,this.a=nPu,this.b=noU(t),this.c=t}function D5(n){this.c=n.c,this.d=n.d,this.b=n.b,this.a=n.a}function D8(n,t,e,i,r,a){this.a=n,qW.call(this,t,e,i,r,a)}function D9(n,t,e,i,r,a){this.a=n,qW.call(this,t,e,i,r,a)}function D7(n,t,e,i,r,a,c){return new FK(n.e,t,e,i,r,a,c)}function xn(n,t){return EM(t,149)&&Cq(n.b,O2(t,149).Pg())}function xt(n,t){var e;return FX(e=n.b.Qc(t),n.b.gc()),e}function xe(n,t){if(null==n)throw new px(t).e;return n}function xi(n){return n.u||(_j(n),n.u=new P8(n,n)),n.u}function xr(n){this.a=(DL(),EM(n,59)?new p7(n):new Sj(n))}function xa(n){return O2(z$(n,16),29)||n.ii()}function xc(n,t){var e;return e=mI(n.Rm),null==t?e:e+": "+t}function xu(n,t,e){return B5(t,e,n.length),n.substr(t,e-t)}function xo(n,t){Cj.call(this),GN(this),this.a=n,this.c=t}function xs(n,t,e,i){return e>=0?n.Uh(t,e,i):n.Ch(null,e,i)}function xh(n){return 0==n.b.b?n.a.sf():OY(n.b)}function xf(n){return jR(n.a)===jR((X9(),n2x))&&function(n){var t,e,i,r,a,c,u,o,s,h;for(o=0,t=new u4,e=new u4,s=Cq(nEF,(r=nsN(n.b,nE_))?PA(Yq((r.b||(r.b=new Pd((nlz(),n2C),n2t,r)),r.b),nEB)):null);o>16!=3?null:O2(n.Cb,27)}function xA(n){return n.Db>>16!=9?null:O2(n.Cb,27)}function xL(n){return n.Db>>16!=6?null:O2(n.Cb,74)}function xN(){xN=T,nq3=new Ml(nd3,0),nq4=new Ml(nd4,1)}function x$(){x$=T,nqC=new y9(nd4,0),nqP=new y9(nd3,1)}function xD(){xD=T,nqI=new y7(nga,0),nqA=new y7("UP",1)}function xx(){xx=T,nP2=W8((pw(),Vp(x2(nPp,1),nbz,549,0,[nP0])))}function xR(n){var t;return VY(t=new mD(Go(n.length)),n),t}function xK(n,t){return n.b+=t.b,n.c+=t.c,n.d+=t.d,n.a+=t.a,n}function xF(n,t){var e,i,r,a;if(null==t)throw(new dD).e;return e=t,r=n.a,e=String(e),r.hasOwnProperty(e)&&(i=r[e]),(a=(VX(),nCi)[typeof i])?a(i):Qh(typeof i)}function x_(n,t){var e;e=n.q.getHours(),n.q.setDate(t),nhv(n,e)}function xB(n,t,e){var i;(i=n.Ih(t))>=0?n.bi(i,e):nue(n,t,e)}function xH(n,t){var e;return(e=n.Ih(t))>=0?n.Wh(e):nax(n,t)}function xU(n,t){var e;for(NA(t),e=n.a;e;e=e.c)t.Yd(e.g,e.i)}function xG(n,t,e){var i;i=V5(n,t,e),n.b=new XT(i.c.length)}function xq(n,t,e){x7(),n&&$S(n0P,n,t),n&&$S(n0S,n,e)}function xX(n,t){return nPH.Math.abs(n)>16!=7?null:O2(n.Cb,241)}function xQ(n){return n.Db>>16!=6?null:O2(n.Cb,241)}function xJ(n){return n.Db>>16!=7?null:O2(n.Cb,167)}function xY(n){return n.Db>>16!=11?null:O2(n.Cb,27)}function xZ(n){return n.Db>>16!=17?null:O2(n.Cb,29)}function x1(n){return n.Db>>16!=3?null:O2(n.Cb,155)}function x0(n){return JL(n),$Q(n,new lc(new dV))}function x2(n,t){var e=n.a=n.a||[];return e[t]||(e[t]=n.ve(t))}function x3(n,t){EZ(this),this.f=t,this.g=n,Dm(this),this.je()}function x4(n,t){this.a=n,this.c=Ev(this.a),this.b=new D5(t)}function x6(n,t,e){this.a=t,this.c=n,this.b=(NA(e),new Ot(e))}function x5(n,t,e){this.a=t,this.c=n,this.b=(NA(e),new Ot(e))}function x8(n){this.a=n,this.b=B0(nAJ,nbj,2043,n.e.length,0,2)}function x9(){this.a=new Tj,this.e=new dV,this.g=0,this.i=0}function x7(){var n;x7=T,n0P=new dc,n0S=new dc,n=new uV,nPK&&$S(n0S,nPK,n)}function Rn(){Rn=T,nG8=AQ(new $M,(niH(),n$1),(nlU(),nxy))}function Rt(){Rt=T,nG9=AQ(new $M,(niH(),n$1),(nlU(),nxy))}function Re(){Re=T,nqn=AQ(new $M,(niH(),n$1),(nlU(),nxy))}function Ri(){Ri=T,nqy=IV(new $M,(niH(),n$1),(nlU(),nD3))}function Rr(){Rr=T,nqE=IV(new $M,(niH(),n$1),(nlU(),nD3))}function Ra(){Ra=T,nqS=IV(new $M,(niH(),n$1),(nlU(),nD3))}function Rc(){Rc=T,nqN=IV(new $M,(niH(),n$1),(nlU(),nD3))}function Ru(n,t,e,i,r,a){return new Uw(n.e,t,n.Lj(),e,i,r,a)}function Ro(n,t,e){return null==t?nr5(n.f,null,e):JN(n.i,t,e)}function Rs(n,t){n.c&&H6(n.c.g,n),n.c=t,n.c&&EB(n.c.g,n)}function Rh(n,t){n.c&&H6(n.c.a,n),n.c=t,n.c&&EB(n.c.a,n)}function Rf(n,t){n.i&&H6(n.i.j,n),n.i=t,n.i&&EB(n.i.j,n)}function Rl(n,t){n.d&&H6(n.d.e,n),n.d=t,n.d&&EB(n.d.e,n)}function Rb(n,t){n.a&&H6(n.a.k,n),n.a=t,n.a&&EB(n.a.k,n)}function Rw(n,t){n.b&&H6(n.b.f,n),n.b=t,n.b&&EB(n.b.f,n)}function Rd(n,t){var e,i;e=n.b,i=n.c,O2(e.b,68),Gm(e.a,new ON(n,i,e)),O2(n.b.b,68),t&&O2(t.b,68).b}function Rg(n,t){EM(n.Cb,184)&&(O2(n.Cb,184).tb=null),XL(n,t)}function Rp(n,t){EM(n.Cb,90)&&nau(_j(O2(n.Cb,90)),4),XL(n,t)}function Rm(n){var t;return mT(),GC(t=new df,n),t}function Rv(n){var t;return mT(),GC(t=new df,n),t}function Rk(n){for(var t;;)if(t=n.Pb(),!n.Ob())return t}function Ry(n,t){return kP(),UC(t)?new Iq(t,n):new jL(t,n)}function RM(n){return no0(),QM(n,0)>=0?YV(n):Na(YV(H9(n)))}function Rj(n,t){var e;return(e=O2(Qq(DS(n.a),t),16))?e.gc():0}function RT(n,t,e){var i;Q3(t,e,n.c.length),i=e-t,mY(n.c,t,i)}function RE(n,t,e){Q3(t,e,n.gc()),this.c=n,this.a=t,this.b=e-t}function RS(n){this.c=new vq,this.b=n.b,this.d=n.c,this.a=n.a}function RP(n){this.a=nPH.Math.cos(n),this.b=nPH.Math.sin(n)}function RC(n,t,e,i){this.c=n,this.d=i,Rb(this,t),Rw(this,e)}function RO(n,t){g8.call(this,new vH(Go(n))),qD(t,nbM),this.a=t}function RI(n,t,e){return new nrm(n,(HO(),nOA),null,!1,t,e)}function RA(n,t,e){return new nrm(n,(HO(),nON),t,e,null,!1)}function RL(n){return V8(Vp(x2(nLN,1),nbj,8,0,[n.i.n,n.n,n.a]))}function RN(){RN=T,nzO=AQ(new $M,(ntX(),nq9),(nsc(),nXe))}function R$(){R$=T,nzP=new Mp("DFS",0),nzS=new Mp("BFS",1)}function RD(n,t,e){var i;(i=new au).b=t,i.a=e,++t.b,EB(n.d,i)}function Rx(n,t){if(n<0||n>t)throw new pO(ndk+n+ndy+t).e}function RR(n,t){if(n<0||n>=t)throw new pO(ndk+n+ndy+t).e}function RK(n,t){if(n<0||n>=t)throw new p4(ndk+n+ndy+t).e}function RF(n,t){this.b=($d(n),n),this.a=(t&nwG)==0?64|t|nbT:t}function R_(n){return JL(n),DA(),DA(),Gl(n,nCz)}function RB(n){return NA(n),EM(n,16)?new Ot(O2(n,16)):OZ(n.Kc())}function RH(n,t){return n&&n.equals?n.equals(t):jR(n)===jR(t)}function RU(n,t){var e,i;return zL((e=Tk(n)?zG(n):n,i=Tk(t)?zG(t):t,Es(e.l&i.l,e.m&i.m,e.h&i.h)))}function RG(n,t){var e,i;return zL((e=Tk(n)?zG(n):n,i=Tk(t)?zG(t):t,Es(e.l|i.l,e.m|i.m,e.h|i.h)))}function Rq(n,t){var e,i;return zL((e=Tk(n)?zG(n):n,i=Tk(t)?zG(t):t,Es(e.l^i.l,e.m^i.m,e.h^i.h)))}function RX(n,t){var e,i;return i=LW(n,t),e=n.a.fd(i),new vP(n,e)}function Rz(n){return P$(n.a0&&0==n.a[--n.d];);0==n.a[n.d++]&&(n.e=0)}function KP(n){return P$(n.b.b!=n.d.a),n.c=n.b=n.b.b,--n.a,n.c.c}function KC(n,t){var e;n.e=new gJ,Ei(e=nu5(t),n.c),function n(t,e,i){var r,a,c,u,o,s;for(a=i,c=0,o=new fU(e);o.anyH?Ei(s,t.b):r<=nyH&&r>nyU?Ei(s,t.d):r<=nyU&&r>nyG?Ei(s,t.c):r<=nyG&&Ei(s,t.a),c=n(t,s,c);return a}(n,e,0)}function KO(n,t,e,i){var r;(r=new c7).a=t,r.b=e,r.c=i,ID(n.a,r)}function KI(n,t,e,i){var r;(r=new c7).a=t,r.b=e,r.c=i,ID(n.b,r)}function KA(n,t,e){if(n<0||te){var i,r,a;throw new pO((i=n,r=t,a=e,i<0||i>a?nan(i,a,"start index"):r<0||r>a?nan(r,a,"end index"):noB("end index (%s) must not be less than start index (%s)",Vp(x2(nPu,1),nbe,1,5,[QR(r),QR(i)])))).e}}function KL(n,t){if(n<0||n>=t)throw new pO(function(n,t){if(n<0)return noB(nbt,Vp(x2(nPu,1),nbe,1,5,["index",QR(n)]));if(t<0)throw new pN(nbi+t).e;return noB("%s (%s) must be less than size (%s)",Vp(x2(nPu,1),nbe,1,5,["index",QR(n),QR(t)]))}(n,t)).e;return n}function KN(n){return(kc(),EM(n.g,10))?O2(n.g,10):null}function K$(n){return Tk(n)?-0==n?0:n:function(n){if(0>nef(n,(UP(),nCo))){var t;return-((t=VD(n)).l+t.m*nw$+t.h*nwD)}return n.l+n.m*nw$+n.h*nwD}(n)}function KD(n,t){return!!EM(t,44)&&nti(n.a,O2(t,44))}function Kx(n,t){return!!EM(t,44)&&nti(n.a,O2(t,44))}function KR(n,t){return!!EM(t,44)&&nti(n.a,O2(t,44))}function KK(n){var t;return $s(n),t=new $,mZ(n.a,new li(t)),t}function KF(){var n,t;return n=new df,EB(n2Q,n),n}function K_(n){var t;return $s(n),t=new D,mZ(n.a,new lr(t)),t}function KB(n){XW.call(this,n,(HO(),nOI),null,!1,null,!1)}function KH(){KH=T,nNS=W8((v5(),Vp(x2(nI2,1),nbz,489,0,[nNE])))}function KU(){KU=T,nqu=$C(QR(1),QR(4)),nqc=$C(QR(1),QR(2))}function KG(n){return new Bd((qD(n,nbW),Gu(JH(JH(5,n),n/10|0))))}function Kq(n){return O2(ZG(n,B0(nAs,npz,12,n.c.length,0,1)),2042)}function KX(n,t){(function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k;if(m=0,0==t.f.a)for(g=new fU(n);g.a0}function K6(n){return P$(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function K5(n,t){$d(t),NH(n.a,n.c,t),n.c=n.c+1&n.a.length-1,ntI(n)}function K8(n,t){$d(t),n.b=n.b-1&n.a.length-1,NH(n.a,n.b,t),ntI(n)}function K9(n){var t;t=n.Gh(),this.a=EM(t,71)?O2(t,71).Ii():t.Kc()}function K7(){K7=T,nWY=W8((ks(),Vp(x2(nLy,1),nbz,490,0,[nWJ])))}function Fn(){Fn=T,nW1=W8((kh(),Vp(x2(nLM,1),nbz,558,0,[nWZ])))}function Ft(){Ft=T,nQD=W8((kf(),Vp(x2(nLE,1),nbz,539,0,[nQ$])))}function Fe(n,t){var e;return(e=O2(UL(n.b,t),67))||(e=new vq),e}function Fi(n){return(kc(),EM(n.g,154))?O2(n.g,154):null}function Fr(){Fr=T,nKT=new yB(nd1,0),nKE=new yB("TOP_LEFT",1)}function Fa(){Fa=T,nqv=new y4("UPPER",0),nqm=new y4("LOWER",1)}function Fc(n,t){return O2(SC(Ld(O2(_V(n.k,t),15).Oc(),nRb)),113)}function Fu(n,t){return O2(SC(Lg(O2(_V(n.k,t),15).Oc(),nRb)),113)}function Fo(n,t,e){return t<0?nax(n,e):O2(e,69).wk().Bk(n,n.hi(),t)}function Fs(n){var t;return my(),t=new uF,n&&nuh(t,n),t}function Fh(n){var t;return t=n.aj(n.i),n.i>0&&ns7(n.g,0,t,0,n.i),t}function Ff(n,t){var e;for(e=n.j.c.length;et.d&&(o=t,t=e,e=o),e.d<63)?function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b;return(u=(i=n.d)+(a=t.d),o=n.e!=t.e?-1:1,2==u)?(l=AZ(h=JU(RU(n.a[0],nwY),RU(t.a[0],nwY))),0==(f=AZ(Li(h,32)))?new F$(o,l):new L3(o,2,Vp(x2(n4f,1),nwd,28,15,[l,f]))):(e=n.a,r=t.a,b=c=B0(n4f,nwd,28,u,15,1),0!=i&&0!=a&&(1==i?b[a]=nnI(b,r,a,e[0]):1==a?b[i]=nnI(b,e,i,r[0]):function(n,t,e,i,r){var a,c,u,o;if(jR(n)===jR(t)&&i==r){nsA(n,i,e);return}for(u=0;u"+RZ(n.d):"e_"+SK(n)}function _o(n,t){var e,i;for($d(t),i=n.Kc();i.Ob();)e=i.Pb(),t.Cd(e)}function _s(n,t){var e;for(e=t;e;)Po(n,-e.i,-e.j),e=xY(e);return n}function _h(n,t){var e,i;for(e=t,i=0;e>0;)i+=n.a[e],e-=e&-e;return i}function _f(n,t,e){var i;return RR(t,n.c.length),i=n.c[t],n.c[t]=e,i}function _l(n,t,e){n.a.c.length=0,function(n,t,e){var i,r,a,c,u,o,s,h,f;n.c=0,n.b=0,i=2*t.c.a.c.length+1;n:for(s=e.Kc();s.Ob();){if(c=(o=O2(s.Pb(),12)).j==(nf9(),n1i)||o.j==n1k,f=0,c){if(!(h=O2(niB(o,(nlB(),nFa)),10)))continue;f+=function(n,t,e,i){var r,a,c,u,o;for(r=!1,a=!1,u=new fU(i.j);u.a0?(n.f[o.p]=f/(o.e.c.length+o.g.c.length),n.c=nPH.Math.min(n.c,n.f[o.p]),n.b=nPH.Math.max(n.b,n.f[o.p])):c&&(n.f[o.p]=f)}}(n,t,e),0==n.a.c.length||function(n,t){var e,i,r,a,c,u,o,s,h,f,l;for(s=n.e[t.c.p][t.p]+1,o=t.c.a.c.length+1,u=new fU(n.a);u.a0?nuV(n,t):Y7(n,-t)}function _x(n,t){return 0==t||0==n.e?n:t>0?Y7(n,t):nuV(n,-t)}function _R(n){kL.call(this,null==n?nbc:J6(n),EM(n,82)?O2(n,82):null)}function _K(n){var t;return!n.c&&EM(t=n.r,90)&&(n.c=O2(t,29)),n.c}function _F(n){var t;return zX(t=new D4,n),VF(t,(nl$(),nHO),null),t}function __(n){var t,e;return t=n.c.i,e=n.d.i,t.k==(nrn(),nDm)&&e.k==nDm}function _B(n){return Es(n&nwA,n>>22&nwA,n<0?nwL:0)}function _H(n,t,e){var i;return(i=n.Ih(t))>=0?n.Lh(i,e,!0):naG(n,t,e)}function _U(n,t){n._i(n.i+1),EH(n,n.i,n.Zi(n.i,t)),n.Mi(n.i++,t),n.Ni()}function _G(n){var t,e;++n.j,t=n.g,e=n.i,n.g=null,n.i=0,n.Oi(e,t),n.Ni()}function _q(n,t,e){var i;ze(i=new ES(n.a),n.a.a),nr5(i.f,t,e),n.a.a=i}function _X(n,t,e,i){var r;for(r=0;rt)throw new pO(nan(n,t,"index")).e;return n}function _Y(n,t){var e;return RR(t,n.c.length),e=n.c[t],mY(n.c,t,1),e}function _Z(n,t){return $d(n),$d(t),n==t?0:n=0,"Initial capacity must not be negative")}function Bg(){Bg=T,nQ5=new wX("org.eclipse.elk.labels.labelManager")}function Bp(){Bp=T,nxN=new P7("separateLayerConnections",(Vm(),nxR))}function Bm(){Bm=T,nqQ=new Mf("REGULAR",0),nqW=new Mf("CRITICAL",1)}function Bv(){Bv=T,nW2=new ML("FIXED",0),nW0=new ML("CENTER_NODE",1)}function Bk(){Bk=T,nRy=new yP("QUADRATIC",0),nRM=new yP("SCANLINE",1)}function By(){By=T,nRP=W8((qK(),Vp(x2(nAy,1),nbz,322,0,[nRE,nRT,nRS])))}function BM(){BM=T,nRA=W8((qM(),Vp(x2(nAM,1),nbz,351,0,[nRC,nRI,nRO])))}function Bj(){Bj=T,nRi=W8((Xo(),Vp(x2(nAp,1),nbz,372,0,[nRe,nRt,nRn])))}function BT(){BT=T,nRG=W8((Vq(),Vp(x2(nAE,1),nbz,460,0,[nRH,nRB,nRU])))}function BE(){BE=T,nKv=W8((z1(),Vp(x2(nAA,1),nbz,299,0,[nKp,nKm,nKg])))}function BS(){BS=T,nKj=W8((UE(),Vp(x2(nAL,1),nbz,311,0,[nKy,nKM,nKk])))}function BP(){BP=T,nGc=W8((QO(),Vp(x2(nAx,1),nbz,390,0,[nGi,nGr,nGa])))}function BC(){BC=T,nGG=W8((zd(),Vp(x2(nAU,1),nbz,387,0,[nGB,nGH,nGU])))}function BO(){BO=T,nGV=W8((Wy(),Vp(x2(nAG,1),nbz,349,0,[nGz,nGq,nGX])))}function BI(){BI=T,nG_=W8((qj(),Vp(x2(nAH,1),nbz,463,0,[nGF,nGR,nGK])))}function BA(){BA=T,nGY=W8((WZ(),Vp(x2(nAq,1),nbz,350,0,[nGW,nGQ,nGJ])))}function BL(){BL=T,nG2=W8((qy(),Vp(x2(nAX,1),nbz,352,0,[nG0,nGZ,nG1])))}function BN(){BN=T,nG5=W8((Vy(),Vp(x2(nAz,1),nbz,388,0,[nG4,nG6,nG3])))}function B$(){B$=T,nXg=W8((WM(),Vp(x2(nLe,1),nbz,392,0,[nXd,nXw,nXb])))}function BD(){BD=T,nzW=W8((WY(),Vp(x2(nLo,1),nbz,393,0,[nzX,nzz,nzV])))}function Bx(){Bx=T,nVI=W8((zw(),Vp(x2(nLh,1),nbz,300,0,[nVC,nVO,nVP])))}function BR(){BR=T,nV$=W8((Y3(),Vp(x2(nLf,1),nbz,445,0,[nVA,nVL,nVN])))}function BK(){BK=T,nVK=W8((nnC(),Vp(x2(nLl,1),nbz,456,0,[nVD,nVR,nVx])))}function BF(){BF=T,nVZ=W8((JV(),Vp(x2(nLb,1),nbz,394,0,[nVJ,nVY,nVQ])))}function B_(){B_=T,nWR=W8((H2(),Vp(x2(nLg,1),nbz,439,0,[nW$,nWx,nWD])))}function BB(){BB=T,nqw=W8((qk(),Vp(x2(nAQ,1),nbz,464,0,[nqf,nql,nqb])))}function BH(){BH=T,nIl=W8((HI(),Vp(x2(nOM,1),nbz,471,0,[nIh,nIs,nIf])))}function BU(){BU=T,nIo=W8((GD(),Vp(x2(nOv,1),nbz,237,0,[nIa,nIc,nIu])))}function BG(){BG=T,nIg=W8((UT(),Vp(x2(nOT,1),nbz,472,0,[nId,nIw,nIb])))}function Bq(){Bq=T,nO_=W8((W1(),Vp(x2(nOa,1),nbz,108,0,[nOR,nOK,nOF])))}function BX(){BX=T,n$X=W8((Uj(),Vp(x2(nI6,1),nbz,391,0,[n$G,n$U,n$q])))}function Bz(){Bz=T,nZI=W8((QA(),Vp(x2(nLB,1),nbz,346,0,[nZC,nZP,nZO])))}function BV(){BV=T,nWQ=W8((Jl(),Vp(x2(nLk,1),nbz,444,0,[nWz,nWV,nWW])))}function BW(){BW=T,nZu=W8((Gx(),Vp(x2(nLK,1),nbz,278,0,[nZr,nZa,nZc])))}function BQ(){BQ=T,n1z=W8((QI(),Vp(x2(nLQ,1),nbz,280,0,[n1q,n1G,n1X])))}function BJ(n,t){return n.o||(n.o=new Hb((nlM(),n0s),nNo,n,0)),Y$(n.o,t)}function BY(n){var t,e,i,r;r=n.d,t=n.a,e=n.b,i=n.c,n.d=e,n.a=i,n.b=r,n.c=t}function BZ(n){return n.g||(n.g=new uY),n.g.c||(n.g.c=new wJ(n)),n.g.c}function B1(n,t,e,i){var r;return function(n,t,e,i,r){var a,c;if(a=JH(RU(t[0],nwY),RU(i[0],nwY)),n[0]=AZ(a),a=Le(a,32),e>=r){for(c=1;ce||t=0?n.Lh(e,!0,!0):naG(n,t,!0)}function Hv(n){return(NA(n),EM(n,204))?O2(n,204):new fe(n)}function Hk(){var n,t,e,i;Hk=T,nQB=new c3,nQU=new c4,n=(nlH(),nYT),t=nQB,e=nYi,i=nQU,$O(),nQH=new ps(Vp(x2(nPw,1),nbD,44,0,[(nnJ(n,t),new vE(n,t)),(nnJ(e,i),new vE(e,i))]))}function Hy(){Hy=T,nzU=new Mk("LEAF_NUMBER",0),nzG=new Mk("NODE_SIZE",1)}function HM(n){n.a=B0(n4f,nwd,28,n.b+1,15,1),n.c=B0(n4f,nwd,28,n.b,15,1),n.d=0}function Hj(n,t){if(null==n.g||t>=n.i)throw new Tc(t,n.i).e;return n.g[t]}function HT(n,t,e){if(Wd(n,e),null!=e&&!n.fk(e))throw(new dA).e;return e}function HE(n,t){return 10!=U_(t)&&Vp(W2(t),t.Sm,t.__elementTypeId$,U_(t),n),n}function HS(n,t,e,i){DA(),i=i||nCX,function n(t,e,i,r,a,c){var u,o,s;if(r-i<7){!function(n,t,e,i){var r,a,c;for(r=t+1;rt&&i.Ne(n[a-1],n[a])>0;--a)c=n[a],NH(n,a,n[a-1]),NH(n,a-1,c)}(e,i,r,c);return}if(s=(o=i+a)+((u=r+a)-o>>1),n(e,t,o,s,-a,c),n(e,t,s,u,-a,c),0>=c.Ne(t[s-1],t[s])){for(;i=i||t=u.Ne(n[t],n[o])?NH(r,a++,n[t++]):NH(r,a++,n[o++])}(t,o,s,u,e,i,r,c)}(n.slice(t,e),n,t,e,-t,i)}function HP(n,t,e,i,r){return t<0?naG(n,e,i):O2(e,69).wk().yk(n,n.hi(),t,i,r)}function HC(){HC=T,nO$=W8((HO(),Vp(x2(nC8,1),nbz,304,0,[nOI,nOA,nOL,nON])))}function HO(){HO=T,nOI=new kF("All",0),nOA=new Tz,nOL=new Eb,nON=new TX}function HI(){HI=T,nIh=new k1(nd3,0),nIs=new k1(nd1,1),nIf=new k1(nd4,2)}function HA(){HA=T,nhA(),n3F=nwH,n3K=nwU,n3B=new fA(nwH),n3_=new fA(nwU)}function HL(){HL=T,nIX=W8((zZ(),Vp(x2(nOS,1),nbz,417,0,[nIq,nIH,nIU,nIG])))}function HN(){HN=T,nNT=W8((nns(),Vp(x2(nI0,1),nbz,406,0,[nNy,nNk,nNM,nNj])))}function H$(){H$=T,nIJ=W8((nnh(),Vp(x2(nOP,1),nbz,332,0,[nIV,nIz,nIW,nIQ])))}function HD(){HD=T,nDb=W8((ZP(),Vp(x2(nAe,1),nbz,389,0,[nDl,nDh,nDs,nDf])))}function Hx(){Hx=T,nDt=W8((Vk(),Vp(x2(nAt,1),nbz,416,0,[n$8,nDn,n$9,n$7])))}function HR(){HR=T,nxZ=W8((Vv(),Vp(x2(nAd,1),nbz,421,0,[nxW,nxQ,nxJ,nxY])))}function HK(){HK=T,nxK=W8((Vm(),Vp(x2(nAb,1),nbz,371,0,[nxR,nxD,nxx,nx$])))}function HF(){HF=T,nGf=W8((nnP(),Vp(x2(nAR,1),nbz,203,0,[nGs,nGh,nGo,nGu])))}function H_(){H_=T,nGN=W8((Zf(),Vp(x2(nA_,1),nbz,284,0,[nGI,nGO,nGA,nGL])))}function HB(){HB=T,nRZ=new yD(npD,0),nRY=new yD("IMPROVE_STRAIGHTNESS",1)}function HH(n,t){var e,i;return i=t/n.c.Rd().gc()|0,e=t%n.c.Rd().gc(),Bo(n,i,e)}function HU(n){var t;if(n.nl())for(t=n.i-1;t>=0;--t)GA(n,t);return Fh(n)}function HG(n){var t,e;if(!n.b)return null;for(e=n.b;t=e.a[0];)e=t;return e}function Hq(n){var t,e;if(!n.b)return null;for(e=n.b;t=e.a[1];)e=t;return e}function HX(n,t){if(t.a)throw new ph(ndP).e;LQ(n.a,t),t.a=n,n.j||(n.j=t)}function Hz(n,t){j4.call(this,t.zd(),-16449&t.yd()),$d(n),this.a=n,this.c=t}function HV(){HV=T,nVS=W8((ntc(),Vp(x2(nLs,1),nbz,354,0,[nVE,nVj,nVT,nVM])))}function HW(){HW=T,nzE=W8((WJ(),Vp(x2(nLi,1),nbz,353,0,[nzT,nzM,nzj,nzy])))}function HQ(){HQ=T,nXn=W8((ntX(),Vp(x2(nA9,1),nbz,405,0,[nq5,nq8,nq9,nq7])))}function HJ(){HJ=T,nZl=W8((Jz(),Vp(x2(nLF,1),nbz,223,0,[nZf,nZs,nZo,nZh])))}function HY(){HY=T,nZD=W8((ntz(),Vp(x2(nLH,1),nbz,291,0,[nZ$,nZA,nZL,nZN])))}function HZ(){HZ=T,n1N=W8((Y2(),Vp(x2(nLV,1),nbz,386,0,[n1A,n1L,n1I,n1O])))}function H1(){H1=T,n10=W8((Yp(),Vp(x2(nLY,1),nbz,320,0,[n11,n1J,n1Z,n1Y])))}function H0(){H0=T,n15=W8((Wk(),Vp(x2(nL1,1),nbz,415,0,[n13,n14,n12,n16])))}function H2(){H2=T,nW$=new MC(nyv,0),nWx=new MC(nk$,1),nWD=new MC(npD,2)}function H3(n,t,e,i,r){return $d(n),$d(t),$d(e),$d(i),$d(r),new L4(n,t,i)}function H4(n,t){var e;return(e=O2(_2(n.e,t),400))?(I$(e),e.e):null}function H6(n,t){var e;return -1!=(e=H7(n,t,0))&&(_Y(n,e),!0)}function H5(n,t,e){var i;return $s(n),(i=new nc).a=t,n.a.Nb(new kV(i,e)),i.a}function H8(n){var t;if(!Xe(n))throw(new dF).e;return n.e=1,t=n.d,n.d=null,t}function H9(n){var t;return Tk(n)&&!isNaN(t=0-n)?t:zL(VD(n))}function H7(n,t,e){for(;e=0?nnm(n,e,!0,!0):naG(n,t,!0)}function Uy(n){var t;return null==(t=qu(z$(n,32)))&&(Zy(n),t=qu(z$(n,32))),t}function UM(n){var t;return n.Oh()||(t=NF(n.Dh())-n.ji(),n.$h().Mk(t)),n.zh()}function Uj(){Uj=T,n$G=new k7("XY",0),n$U=new k7("X",1),n$q=new k7("Y",2)}function UT(){UT=T,nId=new k0("TOP",0),nIw=new k0(nd1,1),nIb=new k0(nd5,2)}function UE(){UE=T,nKy=new y_(npD,0),nKM=new y_("TOP",1),nKk=new y_(nd5,2)}function US(){US=T,nG$=new yW("INPUT_ORDER",0),nGD=new yW("PORT_DEGREE",1)}function UP(){UP=T,nCa=Es(nwA,nwA,524287),nCc=Es(0,0,nwN),nCu=_B(1),_B(2),nCo=_B(0)}function UC(n){var t;return n.d!=n.r&&(t=nes(n),n.e=!!t&&t.lk()==nET,n.d=t),n.e}function UO(n,t,e){var i;return i=n.g[t],EH(n,t,n.Zi(t,e)),n.Ri(t,e,i),n.Ni(),i}function UI(n,t){var e;return(e=n.dd(t))>=0&&(n.gd(e),!0)}function UA(n,t){var e;for(NA(n),NA(t),e=!1;t.Ob();)e|=n.Fc(t.Pb());return e}function UL(n,t){var e;return(e=O2(NB(n.e,t),400))?(E$(n,e),e.e):null}function UN(n){var t,e;return(t=n/60|0,0==(e=n%60))?""+t:""+t+":"+e}function U$(n,t){var e=n.a[t],i=(VX(),nCi)[typeof e];return i?i(e):Qh(typeof e)}function UD(n,t){var e;return JL(n),e=new CY(new _6(t,n.a)),new As(n,e)}function Ux(n){var t;return null!=(t=0==n.b.c.length?null:I6(n.b,0))&&Xm(n,0),t}function UR(n,t){var e;for(++n.d,++n.c[t],e=t+1;e=0;)++t[0]}function U_(n){return null==n.__elementTypeCategory$?10:n.__elementTypeCategory$}function UB(n,t){return t==(Ou(),Ou(),nCZ)?n.toLocaleLowerCase():n.toLowerCase()}function UH(n){if(!n.e)throw(new dF).e;return n.c=n.a=n.e,n.e=n.e.e,--n.d,n.a.f}function UU(n){if(!n.c)throw(new dF).e;return n.e=n.a=n.c,n.c=n.c.c,++n.d,n.a.f}function UG(n){var t;for(++n.a,t=n.c.a.length;n.a=0&&t0?nl5:0>QM(n,nb1)?nb1:AZ(n)}function Go(n){return n<3?(qD(n,nbU),n+1):n=-.01&&n.a<=nd7&&(n.a=0),n.b>=-.01&&n.b<=nd7&&(n.b=0),n}function Gd(n){var t,e;for(noa(),e=nk3,t=0;te&&(e=n[t]);return e}function Gg(n,t){var e;if(!(e=nuO(n.Dh(),t)))throw new pN(njP+t+njI).e;return e}function Gp(n,t){var e;for(e=n;xY(e);)if((e=xY(e))==t)return!0;return!1}function Gm(n,t){var e,i,r,a;for($d(t),i=n.c,r=0,a=i.length;r>16!=6?null:O2(ncl(n),241))&&!t.Vh()&&(n.w=t),t)}function GC(n,t){var e,i,r,a,c;i=n.a,r=null,c=n.a,n.a=t,(4&n.Db)!=0&&(1&n.Db)==0&&(a=new LS(n,1,5,c,n.a),r?ne8(r,a):r=a),e=r,i==t||n.e||(e=nfG(n,t,e)),e&&e.oj()}function GO(n,t,e){var i,r;i=t;do r=pE(n.p[i.p])+e,n.p[i.p]=r,i=n.a[i.p];while(i!=t)}function GI(n,t,e){var i=function(){return n.apply(i,arguments)};return t.apply(i,e),i}function GA(n,t){if(null==n.g||t>=n.i)throw new Tc(t,n.i).e;return n.Wi(t,n.g[t])}function GL(n){return JL(n),Ii(!0,"n may not be negative"),new As(n,new qJ(n.a))}function GN(n){n.b=(HI(),nIs),n.f=(UT(),nIw),n.d=(qD(2,nbX),new Bd(2)),n.e=new mm}function G$(n){this.b=(NA(n),new Ot(n)),this.a=new du,this.d=new du,this.e=new mm}function GD(){GD=T,nIa=new kZ("BEGIN",0),nIc=new kZ(nd1,1),nIu=new kZ("END",2)}function Gx(){Gx=T,nZr=new MV(nd1,0),nZa=new MV("HEAD",1),nZc=new MV("TAIL",2)}function GR(){GR=T,nzI=Zv(Zv(Zv(kg(new $M,(ntX(),nq8)),(nsc(),nXf)),nXr),nXo)}function GK(){GK=T,nzL=Zv(Zv(Zv(kg(new $M,(ntX(),nq7)),(nsc(),nXc)),nXt),nXa)}function GF(){GF=T,nRk=W8((nrU(),Vp(x2(nAv,1),nbz,232,0,[nRg,nRm,nRd,nRp,nRv,nRw])))}function G_(){G_=T,nRJ=W8((nrr(),Vp(x2(nAS,1),nbz,283,0,[nRX,nRq,nRV,nRz,nRQ,nRW])))}function GB(){GB=T,nR8=W8((ne_(),Vp(x2(nAC,1),nbz,281,0,[nR4,nR3,nR5,nR2,nR6,nR0])))}function GH(){GH=T,nKr=W8((ni6(),Vp(x2(nAO,1),nbz,282,0,[nKe,nR7,nKi,nKt,nKn,nR9])))}function GU(){GU=T,nDj=W8((nrn(),Vp(x2(nAu,1),nbz,273,0,[nDy,nDk,nDm,nDM,nDv,nDp])))}function GG(){GG=T,nJr=W8((nnO(),Vp(x2(nLD,1),nbz,255,0,[nQ9,nJt,nJe,nJi,nQ7,nJn])))}function Gq(){Gq=T,nJj=W8((neY(),Vp(x2(nLx,1),nbz,298,0,[nJM,nJy,nJk,nJm,nJp,nJv])))}function GX(){GX=T,nZv=W8((niC(),Vp(x2(nL_,1),nbz,321,0,[nZp,nZd,nZm,nZb,nZg,nZw])))}function Gz(){Gz=T,nZ4=W8((nia(),Vp(x2(nLq,1),nbz,101,0,[nZ3,nZ2,nZ0,nZY,nZ1,nZZ])))}function GV(){GV=T,n1t=W8((nak(),Vp(x2(nLX,1),nbz,279,0,[nZ7,nZ8,nZ9,nZ5,nZ6,n1n])))}function GW(){GW=T,nOk=nOy=(GD(),Vp(x2(nOv,1),nbz,237,0,[nIa,nIc,nIu])).length}function GQ(n,t){var e;return(e=Xz(n,t,AZ(JU(nb_,$N(AZ(JU(null==t?0:XO(t),nbB)),15)))))?e.i:null}function GJ(n,t){return T6(),qE(nbZ),nPH.Math.abs(n-t)<=nbZ||n==t||isNaN(n)&&isNaN(t)}function GY(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new Fx(n,1,e,n.b))}function GZ(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new Fx(n,3,e,n.b))}function G1(n,t){var e;e=n.f,n.f=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new Fx(n,3,e,n.f))}function G0(n,t){var e;e=n.g,n.g=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new Fx(n,4,e,n.g))}function G2(n,t){var e;e=n.i,n.i=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new Fx(n,5,e,n.i))}function G3(n,t){var e;e=n.j,n.j=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new Fx(n,6,e,n.j))}function G4(n,t){var e;e=n.j,n.j=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new Fx(n,1,e,n.j))}function G6(n,t){var e;e=n.c,n.c=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new Fx(n,4,e,n.c))}function G5(n,t){var e;e=n.k,n.k=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new Fx(n,2,e,n.k))}function G8(n,t){var e;e=n.a,n.a=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new Fx(n,0,e,n.a))}function G9(n,t){var e;e=n.s,n.s=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new FR(n,4,e,n.s))}function G7(n,t){var e;e=n.t,n.t=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new FR(n,5,e,n.t))}function qn(n,t){var e;e=n.d,n.d=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new FR(n,2,e,n.d))}function qt(n,t){var e;e=n.F,n.F=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,5,e,t))}function qe(n,t){var e;return(e=O2(NB((kj(),n0A),n),57))?e.gk(t):B0(nPu,nbe,1,t,5,1)}function qi(n,t){var e;return t in n.a&&(e=xF(n,t).re())?e.a:null}function qr(n,t,e){if(Wd(n,e),!n.kl()&&null!=e&&!n.fk(e))throw(new dA).e;return e}function qa(n,t){return n.n=t,n.n?(n.f=new du,n.e=new du):(n.f=null,n.e=null),n}function qc(n,t){if(n){t.n=n;var e=t.Ae()?null:nPG[t.n];if(!e){nPG[n]=[t];return}e.Rm=t}}function qu(n){var t;return IY(null==n||Array.isArray(n)&&!((t=U_(n))>=14&&t<=16)),n}function qo(n,t){var e;return $d(t),Ie(!!(e=n[":"+t]),"Enum constant undefined: "+t),e}function qs(n,t,e,i,r,a){var c;return qc(e,c=NI(n,t)),c.i=r?8:0,c.f=i,c.e=r,c.g=a,c}function qh(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=n,this.a=e}function qf(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=n,this.a=e}function ql(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=n,this.a=e}function qb(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=n,this.a=e}function qw(n,t,e,i,r){this.d=t,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=n,this.a=e}function qd(n,t){var e,i,r;for(i=0,r=t.length;i=0))throw new pN("tolerance ("+n+") must be >= 0").e;return n}function qS(n,t){var e;return EM(t,44)?n.c.Mc(t):(e=Y$(n,t),Zd(n,t),e)}function qP(n,t,e){return Qi(n,t),XL(n,e),G9(n,0),G7(n,1),Q7(n,!0),Q5(n,!0),n}function qC(n,t){var e;if(e=n.gc(),t<0||t>e)throw new CB(t,e).e;return new CQ(n,t)}function qO(n,t){n.b=nPH.Math.max(n.b,t.d),n.e+=t.r+(0==n.a.c.length?0:n.c),EB(n.a,t)}function qI(n){var t,e,i,r,a;PD(n.c>=0),0>(t=n.d,e=n.c,(r=t.a.length-1,i=e-t.b&r,a=t.c-e&r,Px(i<(t.c-t.b&r)),i>=a)?(function(n,t){var e,i;for(e=n.a.length-1,n.c=n.c-1&e;t!=n.c;)i=t+1&e,NH(n.a,t,n.a[i]),t=i;NH(n.a,n.c,null)}(t,e),-1):(function(n,t){var e,i;for(e=n.a.length-1;t!=n.b;)i=t-1&e,NH(n.a,t,n.a[i]),t=i;NH(n.a,n.b,null),n.b=n.b+1&e}(t,e),1))&&(n.a=n.a-1&n.d.a.length-1,n.b=n.d.c),n.c=-1}function qA(n){var t;for(t=n.c.Cc().Kc();t.Ob();)O2(t.Pb(),16).$b();n.c.$b(),n.d=0}function qL(n,t){var e,i;for(e=0,i=t.length;e0&&n.c0&&0!=n.g&&qY(n.i,t/n.r*n.i.d))}function qZ(n,t){var e;e=n.c,n.c=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,1,e,n.c))}function q1(n,t){var e;e=n.c,n.c=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,4,e,n.c))}function q0(n,t){var e;e=n.k,n.k=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,2,e,n.k))}function q2(n,t){var e;e=n.D,n.D=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,2,e,n.D))}function q3(n,t){var e;e=n.f,n.f=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,8,e,n.f))}function q4(n,t){var e;e=n.i,n.i=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,7,e,n.i))}function q6(n,t){var e;e=n.a,n.a=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,8,e,n.a))}function q5(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,0,e,n.b))}function q8(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,0,e,n.b))}function q9(n,t){var e;e=n.c,n.c=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,1,e,n.c))}function q7(n,t){var e;e=n.d,n.d=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,1,e,n.d))}function Xn(n,t){return nuQ(n.e,t)?(kP(),UC(t)?new Iq(t,n):new jL(t,n)):new jO(t,n)}function Xt(n){var t;return(t=Vx(n=nPH.Math.max(n,2)),n>t)?(t<<=1)>0?t:nbq:t}function Xe(n){switch(E8(3!=n.e),n.e){case 2:return!1;case 0:return!0}return n.e=3,n.d=n.Yb(),2!=n.e&&(n.e=0,!0)}function Xi(n,t){var e;return!!EM(t,8)&&(e=O2(t,8),n.a==e.a&&n.b==e.b)}function Xr(n,t){var e,i;for(i=t.vc().Kc();i.Ob();)neC(n,(e=O2(i.Pb(),44)).ld(),e.md())}function Xa(n,t){var e;e=n.d,n.d=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,11,e,n.d))}function Xc(n,t){var e;e=n.j,n.j=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,13,e,n.j))}function Xu(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,21,e,n.b))}function Xo(){Xo=T,nRe=new yS("START",0),nRt=new yS("MIDDLE",1),nRn=new yS("END",2)}function Xs(){Xs=T,nz$=new Mm("P1_NODE_PLACEMENT",0),nzD=new Mm("P2_EDGE_ROUTING",1)}function Xh(){Xh=T,n$j=new wX(npd),n$T=new wX(npg),n$M=new wX(npp),n$y=new wX(npm)}function Xf(n){var t;return Ow(n.f.g,n.d),P$(n.b),n.c=n.a,t=O2(n.a.Pb(),44),n.b=Vc(n),t}function Xl(n){return null==n.b?(kE(),kE(),n2F):n.ul()?n.tl():n.sl()}function Xb(n,t){var e;return!((e=null==t?-1:H7(n.b,t,0))<0)&&(Xm(n,e),!0)}function Xw(n,t){var e;return $d(t),e=t.g,!n.b[e]&&(NH(n.b,e,t),++n.c,!0)}function Xd(n,t){var e,i;return e=1-t,i=n.a[e],n.a[e]=i.a[t],i.a[t]=n,n.b=!0,i.b=!1,i}function Xg(n,t,e){var i,r;return r=t>>5,i=31&t,RU(Li(n.n[e][r],AZ(Lt(i,1))),3)}function Xp(n,t,e){var i,r,a;for(a=n.a.length-1,r=n.b,i=0;i0?1:0:(n.c||(n.c=RM(zH(n.f))),n.c).e}function XH(n,t){t?null==n.B&&(n.B=n.D,n.D=null):null!=n.B&&(n.D=n.B,n.B=null)}function XU(n,t){return T6(),qE(nd7),nPH.Math.abs(0-t)<=nd7||0==t||isNaN(0)&&isNaN(t)?0:n/t}function XG(n,t){return pE(PI(SC(QY($J(new As(null,new RF(n.c.b,16)),new bw(n)),t))))}function Xq(n,t){return pE(PI(SC(QY($J(new As(null,new RF(n.c.b,16)),new bb(n)),t))))}function XX(n,t,e){var i,r;for(r=ZZ(n,0);r.b!=r.d.c;)i=O2(K6(r),8),i.a+=t,i.b+=e;return n}function Xz(n,t,e){var i;for(i=n.b[e&n.f];i;i=i.b)if(e==i.a&&$i(t,i.g))return i;return null}function XV(n,t,e){var i;for(i=n.c[e&n.f];i;i=i.d)if(e==i.f&&$i(t,i.i))return i;return null}function XW(n,t,e,i,r,a){var c;this.c=n,function n(t,e,i,r,a,c,u,o){var s,h;r&&((s=r.a[0])&&n(t,e,i,s,a,c,u,o),ntR(t,i,r.d,a,c,u,o)&&e.Fc(r),(h=r.a[1])&&n(t,e,i,h,a,c,u,o))}(n,c=new du,t,n.b,e,i,r,a),this.a=new Ky(c,0)}function XQ(){this.c=new mV(0),this.b=new mV(nkZ),this.d=new mV(nkY),this.a=new mV(ng_)}function XJ(n,t,e,i,r,a,c){vS.call(this,n,t),this.d=e,this.e=i,this.c=r,this.b=a,this.a=_W(c)}function XY(n,t,e,i,r,a,c,u,o,s,h,f,l){return nr7(n,t,e,i,r,a,c,u,o,s,h,f,l),JR(n,!1),n}function XZ(n){return n.b.d.i.k==(nrn(),nDm)?O2(niB(n.b.d.i,(nlB(),nK8)),12):n.b.d}function X1(n){var t;return jB((t=KK(n)).a,0)?(vV(),vV(),nC0):(vV(),new S5(t.b))}function X0(n){var t;return jB((t=KK(n)).a,0)?(vV(),vV(),nC0):(vV(),new S5(t.c))}function X2(n){switch(n.g){case 2:return nf9(),n1M;case 4:return nf9(),n1e;default:return n}}function X3(n){switch(n.g){case 1:return nf9(),n1k;case 3:return nf9(),n1i;default:return n}}function X4(n){switch(n.g){case 0:return new cH;case 1:return new cU;default:return null}}function X6(){X6=T,nxL=new P7("edgelabelcenterednessanalysis.includelabel",(SB(),nCs))}function X5(){var n,t;X5=T,nqh=Zv((n=IV(IV(new $M,(niH(),n$Y),(nlU(),nxf)),n$Z,nxt),t=n$1,n.a=t.g+1,n),nxh)}function X8(){var n,t;X8=T,nqd=Zv((n=IV(IV(new $M,(niH(),n$Y),(nlU(),nxf)),n$Z,nxt),t=n$1,n.a=t.g+1,n),nxh)}function X9(){X9=T,n2$=new gL,n2x=Vp(x2(n0Q,1),nED,179,0,[]),n2D=Vp(x2(n04,1),nEx,62,0,[])}function X7(){X7=T,nDN=new ya("TO_INTERNAL_LTR",0),nDL=new ya("TO_INPUT_DIRECTION",1)}function zn(){zn=T,nDP=new tO,nDE=new tI,nDS=new tA,nDT=new tL,nDC=new tN,nDO=new t$}function zt(n,t){var e;return SB(),jK(n)?_Z(n,PA(t)):j_(n)?Lr(n,PI(t)):jF(n)?(e=PO(t),$d(n),$d(e),SB(),n==e?0:n?1:-1):n.Fd(t)}function ze(n,t){var e,i;for($d(t),i=t.vc().Kc();i.Ob();)e=O2(i.Pb(),44),n.zc(e.ld(),e.md())}function zi(n){var t;if(-2==n.b){if(0==n.e)t=-1;else for(t=0;0==n.a[t];t++);n.b=t}return n.b}function zr(n){if($d(n),0==n.length)throw new p5("Zero length BigInteger").e;(function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g;for(o=b=t.length,RK(0,t.length),45==t.charCodeAt(0)?(f=-1,l=1,--b):(f=1,l=0),r=b/(a=(nhB(),nCF)[10])|0,0!=(g=b%a)&&++r,u=B0(n4f,nwd,28,r,15,1),e=nCK[8],c=0,w=l+(0==g?a:g),d=l;d0&&(this.g=this.aj(this.i+(this.i/8|0)+1),n.Qc(this.g))}function zc(n,t,e){this.g=n,this.d=t,this.e=e,this.a=new du,function(n){var t,e,i,r;for(r=QX(n.d,n.e).Kc();r.Ob();)for(i=O2(r.Pb(),12),e=new fU(n.e==(nf9(),n1M)?i.e:i.g);e.ar&&t.aa&&t.b(r=n.a.length)?e=r:RK(t,e+1),n.a=xu(n.a,0,t)+""+i+NU(n.a,e)}function zO(n,t){n.a=JH(n.a,1),n.c=nPH.Math.min(n.c,t),n.b=nPH.Math.max(n.b,t),n.d=JH(n.d,t)}function zI(n,t){var e,i,r;if(null!=(e=n.th())&&n.wh())for(i=0,r=e.length;i1||n.Ob())return++n.a,n.g=0,t=n.i,n.Ob(),t;throw(new dF).e}function z_(n){switch(n.a.g){case 1:return new Mr;case 3:return new ntC;default:return new hM}}function zB(n,t){switch(t){case 1:return!!n.n&&0!=n.n.i;case 2:return null!=n.k}return Kb(n,t)}function zH(n){var t,e,i,r,a;return nwR=0x7fffffffffffffff?(UP(),nCa):(r=!1,t<0&&(r=!0,t=-t),i=0,t>=nwD&&(i=xT(t/nwD),t-=i*nwD),e=0,t>=nw$&&(e=xT(t/nw$),t-=e*nw$),a=Es(xT(t),e,i),r&&Wt(a),a))}function zU(n){var t;return n<128?(Ae(),(t=nCw[n])||(t=nCw[n]=new fI(n)),t):new fI(n)}function zG(n){var t,e,i;return e=0,(i=n)<0&&(i+=nwD,e=nwL),t=xT(i/nw$),Es(xT(i-t*nw$),t,e)}function zq(n){var t,e,i;for(i=0,e=new vG(n.a);e.aQM(n,0)&&(n=Ic(n)),64-(0!=(t=AZ(Li(n,32)))?naB(t):naB(AZ(n))+32)}function z7(n,t,e,i){return 1==e?(n.n||(n.n=new LE(nNi,n,1,7)),nnp(n.n,t,i)):ni8(n,t,e,i)}function Vn(n,t){var e;return XL(e=new ol,t),Hi((n.A||(n.A=new EV(n08,n,7)),n.A),e),e}function Vt(n){var t;return(!n.a||(1&n.Bb)==0&&n.a.Vh())&&EM(t=nes(n),156)&&(n.a=O2(t,156)),n.a}function Ve(n,t){var e,i;for($d(t),i=t.Kc();i.Ob();)if(e=i.Pb(),!n.Hc(e))return!1;return!0}function Vi(n,t){var e,i,r;return e=n.l-t.l,i=n.m-t.m+(e>>22),r=n.h-t.h+(i>>22),Es(e&nwA,i&nwA,r&nwL)}function Vr(n){var t,e;return EM(n,82)?n:((t=n&&n.__java$exception)||(e=t=new Qu(n),DG(),nP8.le(e)),t)}function Va(n){if(EM(n,193))return O2(n,123);if(n)return null;throw new px(nTb).e}function Vc(n){return!!n.a.Ob()||n.a==n.e&&(n.a=new Hn(n.f.f),n.a.Ob())}function Vu(n,t){if(null==t)return!1;for(;n.a!=n.b;)if(Q0(t,Qm(n)))return!0;return!1}function Vo(n,t){return!!n&&!!t&&n!=t&&Ze(n.d.c,t.d.c+t.d.b)&&Ze(t.d.c,n.d.c+n.d.b)}function Vs(n,t){var e;return 0!=(e=t.Pc()).length&&(O7(n.c,n.c.length,e),!0)}function Vh(n){var t,e;for(t=new vq,e=ZZ(n.d,0);e.b!=e.d.c;)ID(t,O2(K6(e),65).c);return t}function Vf(n,t){var e;for(e=new fU(n.b);e.a(i=n.gc()))throw new CB(t,i).e;return n.Si()&&(e=xV(n,e)),n.Ei(t,e)}function V$(n,t,e,i,r){var a,c;for(c=e;c<=r;c++)for(a=t;a<=i;a++)nn9(n,a,c)||noX(n,a,c,!0,!1)}function VD(n){var t,e,i;return t=~n.l+1&nwA,e=~n.m+(0==t?1:0)&nwA,i=~n.h+(0==t&&0==e?1:0)&nwL,Es(t,e,i)}function Vx(n){var t;if(n<0)return nb1;if(0==n)return 0;for(t=nbq;(t&n)==0;t>>=1);return t}function VR(n,t,e){return!(n>=128)&&(n<64?jU(RU(Lt(1,n),e),0):jU(RU(Lt(1,n-64),t),0))}function VK(n,t,e){return null==e?(n.q||(n.q=new dc),_2(n.q,t)):(n.q||(n.q=new dc),$S(n.q,t,e)),n}function VF(n,t,e){return null==e?(n.q||(n.q=new dc),_2(n.q,t)):(n.q||(n.q=new dc),$S(n.q,t,e)),n}function V_(n){var t,e;return zX(e=new _7,n),VF(e,(Xh(),n$j),n),function(n,t,e){var i,r,a,c,u;for(i=0,a=new E2((n.a||(n.a=new LE(nNr,n,10,11)),n.a));a.e!=a.i.gc();)r=O2(Z9(a),27),c="",0==(r.n||(r.n=new LE(nNi,r,1,7)),r.n).i||(c=O2(GA((r.n||(r.n=new LE(nNi,r,1,7)),r.n),0),135).a),zX(u=new Ef(c),r),VF(u,(Xh(),n$j),r),u.a=i++,u.d.a=r.i+r.g/2,u.d.b=r.j+r.f/2,u.e.a=nPH.Math.max(r.g,1),u.e.b=nPH.Math.max(r.f,1),EB(t.e,u),nr5(e.f,r,u),O2(ncR(r,(ns_(),n$c)),101),nia()}(n,e,t=new dc),function(n,t,e){var i,r,a,c,u,o,h,f,l,b;for(o=new E2((n.a||(n.a=new LE(nNr,n,10,11)),n.a));o.e!=o.i.gc();)for(r=new Lc(Sb(nc7(u=O2(Z9(o),27)).a.Kc(),new s));ncM(r);){if((i=O2(_$(r),74)).b||(i.b=new CK(nL5,i,4,7)),!(i.b.i<=1&&(i.c||(i.c=new CK(nL5,i,5,8)),i.c.i<=1)))throw new pF("Graph must not contain hyperedges.").e;if(!nch(i)&&u!=nip(O2(GA((i.c||(i.c=new CK(nL5,i,5,8)),i.c),0),84)))for(zX(h=new Cd,i),VF(h,(Xh(),n$j),i),l=O2(jx(AO(e.f,u)),153),h.c=l,b=O2(NB(e,nip(O2(GA((i.c||(i.c=new CK(nL5,i,5,8)),i.c),0),84))),153),h.d=b,EB(t.c,h),c=new E2((i.n||(i.n=new LE(nNi,i,1,7)),i.n));c.e!=c.i.gc();)zX(f=new Fm(h,(a=O2(Z9(c),135)).a),a),VF(f,n$j,a),f.e.a=nPH.Math.max(a.g,1),f.e.b=nPH.Math.max(a.f,1),nhC(f),EB(t.d,f)}}(n,e,t),e}function VB(n){var t,e;return t=n.t-n.k[n.o.p]*n.d+n.j[n.o.p]>n.f,e=n.u+n.e[n.o.p]*n.d>n.f*n.s*n.d,t||e}function VH(n,t){var e,i,r,a;for(a=0,e=!1,i=n.a[t].length;au)}(n.f,e,i)&&(function(n,t,e){var i,r;niD(n.e,t,e,(nf9(),n1M)),niD(n.i,t,e,n1e),n.a&&(r=O2(niB(t,(nlB(),nK8)),12),i=O2(niB(e,nK8),12),R3(n.g,r,i))}(n.f,n.a[t][e],n.a[t][i]),c=(a=n.a[t])[i],a[i]=a[e],a[e]=c,r=!0),r}(n,t,a,r);return e}function VU(){VU=T,nKd=W8((noe(),Vp(x2(nAI,1),nbz,259,0,[nKc,nKo,nKs,nKh,nKf,nKl,nKw,nKa,nKu,nKb])))}function VG(){VG=T,nGC=W8((nse(),Vp(x2(nAF,1),nbz,243,0,[nGS,nGy,nGT,nGM,nGj,nGm,nGE,nGP,nGv,nGk])))}function Vq(){Vq=T,nRH=new yN(npD,0),nRB=new yN("INCOMING_ONLY",1),nRU=new yN("OUTGOING_ONLY",2)}function VX(){VX=T,nCi={boolean:vB,number:pS,string:pP,object:nai,function:nai,undefined:dm}}function Vz(){++nPc,this.o=null,this.k=null,this.j=null,this.d=null,this.b=null,this.n=null,this.a=null}function VV(n,t){this.c=n,this.d=t,this.b=this.d/this.c.c.Rd().gc()|0,this.a=this.d%this.c.c.Rd().gc()}function VW(n,t){this.b=n,To.call(this,(O2(GA(DK((NR(),n2o).o),10),19),t.i),t.g),this.a=(X9(),n2x)}function VQ(n,t,e){this.q=new nPH.Date,this.q.setFullYear(n+nww,t,e),this.q.setHours(0,0,0,0),nhv(this,0)}function VJ(n,t){Ie(n>=0,"Negative initial capacity"),Ie(t>=0,"Non-positive load factor"),LX(this)}function VY(n,t){var e,i,r,a;for(DL(),a=!1,i=0,r=t.length;i1||t>=0&&n.b<3)}function Wt(n){var t,e,i;t=~n.l+1&nwA,e=~n.m+(0==t?1:0)&nwA,i=~n.h+(0==t&&0==e?1:0)&nwL,n.l=t,n.m=e,n.h=i}function We(n){var t,e,i;for(DL(),i=1,e=n.Kc();e.Ob();)i=31*i+(null!=(t=e.Pb())?XO(t):0)|0;return i}function Wi(n,t,e){n.g=nrH(n,t,(nf9(),n1e),n.b),n.d=nrH(n,e,n1e,n.b),0!=n.g.c&&0!=n.d.c&&ni3(n)}function Wr(n,t,e){n.g=nrH(n,t,(nf9(),n1M),n.j),n.d=nrH(n,e,n1M,n.j),0!=n.g.c&&0!=n.d.c&&ni3(n)}function Wa(n,t){switch(t){case 7:return!!n.e&&0!=n.e.i;case 8:return!!n.d&&0!=n.d.i}return Yl(n,t)}function Wc(n){if(0===n.g)return new cW;throw new pN(nMa+(null!=n.f?n.f:""+n.g)).e}function Wu(n){if(0===n.g)return new cz;throw new pN(nMa+(null!=n.f?n.f:""+n.g)).e}function Wo(n,t){return 0>=EK(ZQ(O2(niB(t,(nhe(),nX3)),88)),new MH(n.c.e.a-n.b.e.a,n.c.e.b-n.b.e.b))}function Ws(n){var t,e;for(t=new fU(n.a.b);t.a=0&&n[i]===t[i];i--);return i<0?0:0>QM(RU(n[i],nwY),RU(t[i],nwY))?-1:1}function WL(n,t,e){var i;this.g=n,this.c=t,this.a=this,this.d=this,i=B0(nPm,nbH,227,Xt(e),0,1),this.b=i}function WN(n,t,e,i,r){var a,c;for(c=e;c<=r;c++)for(a=t;a<=i;a++)if(nn9(n,a,c))return!0;return!1}function W$(n,t,e){var i,r,a,c;for($d(e),c=!1,a=n.fd(t),r=e.Kc();r.Ob();)i=r.Pb(),a.Rb(i),c=!0;return c}function WD(n,t){var e,i;return i=O2(z$(n.a,4),129),e=B0(nNw,nEr,424,t,0,1),null!=i&&ns7(i,0,e,0,i.length),e}function Wx(n,t){var e;return e=new noS((256&n.f)!=0,n.i,n.a,n.d,(16&n.f)!=0,n.j,n.g,t),null!=n.e||(e.c=n),e}function WR(n,t,e){var i,r;for(r=e.Kc();r.Ob();)if(i=O2(r.Pb(),44),n.Be(t,i.md()))return!0;return!1}function WK(n,t,e){return n.d[t.p][e.p]||(function(n,t,e){var i,r;if(n.e)switch(n.b){case 1:(i=n.c).i=0,i.e=0,t!=e&&Wi(i,t,e);break;case 0:(r=n.c).i=0,r.e=0,t!=e&&Wr(r,t,e)}else Fg(n.c,t,e);n.a[t.p][e.p]=n.c.i,n.a[e.p][t.p]=n.c.e}(n,t,e),n.d[t.p][e.p]=!0,n.d[e.p][t.p]=!0),n.a[t.p][e.p]}function WF(n){switch(n.i){case 2:return!0;case 1:return!1;case -1:++n.c;default:return n.$l()}}function W_(n){switch(n.i){case -2:return!0;case -1:return!1;case 1:--n.c;default:return n._l()}}function WB(n){x3.call(this,"The given string does not match the expected format for individual spacings.",n)}function WH(n,t,e){var i,r;for(i=new vq,r=ZZ(e,0);r.b!=r.d.c;)ID(i,new TP(O2(K6(r),8)));W$(n,t,i)}function WU(n){var t;if((t=n.a.c.length)>0)return Lw(t-1,n.a.c.length),_Y(n.a,t-1);throw(new dK).e}function WG(n,t,e){if(n>t)throw new pN(ndp+n+ndm+t).e;if(n<0||t>e)throw new p6(ndp+n+ndv+t+ndc+e).e}function Wq(n,t){null==n.D&&null!=n.B&&(n.D=n.B,n.B=null),q2(n,null==t?null:($d(t),t)),n.C&&n.hl(null)}function WX(n,t){var e,i;if(0!=(i=n.c[t]))for(n.c[t]=0,n.d-=i,e=t+1;enkJ?n-e>nkJ:e-n>nkJ)}function Ql(n,t){var e;for(e=0;er&&(neW(t.q,r),i=e!=t.q.d)),i}function Qw(n,t){var e,i,r,a,c,u,o;return u=t.i,o=t.j,i=(e=n.f).i,r=e.j,a=u-i,c=o-r,nPH.Math.sqrt(a*a+c*c)}function Qd(n,t){var e;return(e=Zj(n))||(n0g||(n0g=new on),nh3(),Hi((e=new dn(function n(t){var e,i,r,a,c,u,o;return(nh3(),e=-1==(r=Tp(t,niP(35)))?t:(B5(0,r,t.length),t.substr(0,r)),i=-1==r?null:(RK(r+1,t.length+1),t.substr(r+1)),c=n0$,a=O2(null==e?jx(AO(c.f,null)):kx(c.i,e),288))?null!=i&&(a=Wx(a,($d(i),i))):(a=function(t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d;if(u=!0,l=null,r=null,a=null,e=!1,w=n0L,h=null,c=null,(s=ZU(t,o=0,n0H,n0U))=0&&Cq(t.substr(o,2),"//")?(o+=2,s=ZU(t,o,n0G,n0q),B5(o,s,t.length),r=t.substr(o,s-o),o=s):null!=l&&(o==t.length||(RK(o,t.length),47!=t.charCodeAt(o)))&&(u=!1,-1==(s=Sd(t,niP(35),o))&&(s=t.length),B5(o,s,t.length),r=t.substr(o,s-o),o=s);if(!i&&o0&&58==$W(f,f.length-1)&&(a=f,o=s)),o0&&(RK(0,i.length),47!=i.charCodeAt(0))))throw new pN("invalid opaquePart: "+i).e;if(t&&!(null!=e&&vK(n0N,e.toLowerCase()))&&!(null==i||!Ye(i,n0G,n0q))||t&&null!=e&&vK(n0N,e.toLowerCase())&&!function(t){var e;if(null!=t&&t.length>0&&33==$W(t,t.length-1))try{return e=n(xu(t,0,t.length-1)),null==e.e}catch(n){if(!EM(n=Vr(n),33))throw n.e}return!1}(i))throw new pN(nEs+i).e;if(!(null==r||(u=r.length)>0&&(RK(u-1,r.length),58==r.charCodeAt(u-1))&&!Ye(r,n0G,n0q)))throw new pN("invalid device: "+r).e;if(!function(n){var t,e;if(null==n)return!1;for(t=0,e=n.length;t=0?t:-t;i>0;)i%2==0?(e*=e,i=i/2|0):(r*=e,i-=1);return t<0?1/r:r}function QT(n,t){var e,i,r;return(r=function n(t){var e,i,r,a,c;if(i=O2(t,54)._h())try{if(r=null,(e=ncQ((kM(),n2r),nsI(null==i.e?i:(i.c||(i.c=new noS((256&i.f)!=0,i.i,i.a,i.d,(16&i.f)!=0,i.j,i.g,null)),i.c))))&&(a=e.ai())&&(r=a.Fl((c=i.e,$d(c),c))),r&&r!=t)return n(r)}catch(n){if(!EM(n=Vr(n),63))throw n.e}return t}(((i=n?Zj(n):null)&&i.Gl(),t)))==t&&(e=Zj(n))&&e.Gl(),r}function QE(n,t,e){var i,r;return r=n.f,n.f=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LS(n,1,0,r,t),e?e.nj(i):e=i),e}function QS(n,t,e){var i,r;return r=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LS(n,1,3,r,t),e?e.nj(i):e=i),e}function QP(n,t,e){var i,r;return r=n.a,n.a=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LS(n,1,1,r,t),e?e.nj(i):e=i),e}function QC(n){var t,e,i,r;if(null!=n){for(e=0;e-129&&n<128?(Iy(),(e=nCd[t=n+128])||(e=nCd[t]=new fj(n)),e):new fj(n)}function QK(n){var t,e;return n>-129&&n<128?(An(),(e=nCM[t=n+128])||(e=nCM[t]=new fE(n)),e):new fE(n)}function QF(n,t){n.a.c.length>0&&WP(O2(I6(n.a,n.a.c.length-1),579),t)||EB(n.a,new _p(t))}function Q_(n){var t;return t=new p2,t.a+="VerticalSegment ",jJ(t,n.e),t.a+=" ",jY(t,E6(new pW,new fU(n.k))),t.a}function QB(n,t){var e,i;for(e=0,i=Jq(n,t).Kc();i.Ob();)e+=null!=niB(O2(i.Pb(),12),(nlB(),nFa))?1:0;return e}function QH(n,t,e){var i,r,a;for(i=0,a=ZZ(n,0);a.b!=a.d.c&&!((r=pE(PI(K6(a))))>e);)r>=t&&++i;return i}function QU(n,t){NA(n);try{return n._b(t)}catch(n){if(EM(n=Vr(n),212)||EM(n,169))return!1;throw n.e}}function QG(n,t){NA(n);try{return n.Hc(t)}catch(n){if(EM(n=Vr(n),212)||EM(n,169))return!1;throw n.e}}function Qq(n,t){NA(n);try{return n.xc(t)}catch(n){if(EM(n=Vr(n),212)||EM(n,169))return null;throw n.e}}function QX(n,t){switch(t.g){case 2:case 1:return Jq(n,t);case 3:case 4:return Yc(Jq(n,t))}return DL(),DL(),nCH}function Qz(n){var t;return(64&n.Db)!=0?ncz(n):(t=new Sm(ncz(n)),t.a+=" (name: ",jW(t,n.zb),t.a+=")",t.a)}function QV(n,t,e){var i,r;return r=n.sb,n.sb=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LS(n,1,4,r,t),e?e.nj(i):e=i),e}function QW(n,t,e){var i,r;return r=n.r,n.r=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LS(n,1,8,r,n.r),e?e.nj(i):e=i),e}function QQ(n,t){var e,i;return(i=(e=O2(t,691)).el())||e.fl(i=EM(t,90)?new jI(n,O2(t,29)):new Ks(n,O2(t,156))),i}function QJ(n,t,e){var i;n._i(n.i+1),i=n.Zi(t,e),t!=n.i&&ns7(n.g,t,n.g,t+1,n.i-t),NH(n.g,t,i),++n.i,n.Mi(t,e),n.Ni()}function QY(n,t){var e;return(e=new nc,n.a.Bd(e))?(Sn(),new pm($d(H5(n,e.a,t)))):($s(n),Sn(),Sn(),nC1)}function QZ(n,t){var e;0!=n.c.length&&(TT(e=O2(ZG(n,B0(nAc,npX,10,n.c.length,0,1)),199),new eo),naU(e,t))}function Q1(n,t){var e;0!=n.c.length&&(TT(e=O2(ZG(n,B0(nAc,npX,10,n.c.length,0,1)),199),new es),naU(e,t))}function Q0(n,t){return jK(n)?Cq(n,t):j_(n)?CG(n,t):jF(n)?($d(n),jR(n)===jR(t)):A7(n)?n.Fb(t):AS(n)?jR(n)===jR(t):RH(n,t)}function Q2(n,t,e){if(t<0)nag(n,e);else{if(!e.rk())throw new pN(njP+e.xe()+njC).e;O2(e,69).wk().Ek(n,n.hi(),t)}}function Q3(n,t,e){if(n<0||t>e)throw new pO(ndp+n+ndv+t+", size: "+e).e;if(n>t)throw new pN(ndp+n+ndm+t).e}function Q4(n){var t;return(64&n.Db)!=0?ncz(n):(t=new Sm(ncz(n)),t.a+=" (source: ",jW(t,n.d),t.a+=")",t.a)}function Q6(n){return n>=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:n>=48&&n<=57?n-48:0}function Q5(n,t){var e;e=(256&n.Bb)!=0,t?n.Bb|=256:n.Bb&=-257,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new _S(n,1,2,e,t))}function Q8(n,t){var e;e=(256&n.Bb)!=0,t?n.Bb|=256:n.Bb&=-257,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new _S(n,1,8,e,t))}function Q9(n,t){var e;e=(256&n.Bb)!=0,t?n.Bb|=256:n.Bb&=-257,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new _S(n,1,8,e,t))}function Q7(n,t){var e;e=(512&n.Bb)!=0,t?n.Bb|=512:n.Bb&=-513,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new _S(n,1,3,e,t))}function Jn(n,t){var e;e=(512&n.Bb)!=0,t?n.Bb|=512:n.Bb&=-513,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new _S(n,1,9,e,t))}function Jt(n,t){var e;return -1==n.b&&n.a&&(e=n.a.pk(),n.b=e?n.c.Hh(n.a.Lj(),e):Yy(n.c.Dh(),n.a)),n.c.yh(n.b,t)}function Je(n,t){var e,i;for(i=new E2(n);i.e!=i.i.gc();)if(e=O2(Z9(i),29),jR(t)===jR(e))return!0;return!1}function Ji(n){var t;return n.k==(nrn(),nDm)&&((t=O2(niB(n,(nlB(),nKH)),64))==(nf9(),n1i)||t==n1k)}function Jr(n){var t;return jB((t=KK(n)).a,0)?(vV(),vV(),nC0):(vV(),new S5(QM(t.a,0)>0?_1(t)/K$(t.a):0))}function Ja(n,t){this.e=t,this.a=z9(n),this.a<54?this.f=K$(n):this.c=(no0(),QM(n,0)>=0?YV(n):Na(YV(H9(n))))}function Jc(n,t,e,i,r,a){this.e=new du,this.f=(qj(),nGF),EB(this.e,n),this.d=t,this.a=e,this.b=i,this.f=r,this.c=a}function Ju(n){return n-=n>>1&1431655765,n=((n=(n>>2&858993459)+(858993459&n))>>4)+n&252645135,n+=n>>8,63&(n+=n>>16)}function Jo(n,t){var e,i;for(i=new E2(n);i.e!=i.i.gc();)if(e=O2(Z9(i),142),jR(t)===jR(e))return!0;return!1}function Js(n,t,e){var i,r;return(r=ncQ(n.b,t))&&(i=O2(nh0(Uo(n,r),""),29))?ncH(n,i,t,e):null}function Jh(n,t,e){var i;if(t>(i=n.gc()))throw new CB(t,i).e;if(n.Si()&&n.Hc(e))throw new pN(nTp).e;n.Gi(t,e)}function Jf(){Jf=T,nZt=new Mz(nd9,0),nZn=new Mz(nd4,1),nY7=new Mz(nd3,2),nY9=new Mz(nga,3),nZe=new Mz("UP",4)}function Jl(){Jl=T,nWz=new MA("P1_STRUCTURE",0),nWV=new MA("P2_PROCESSING_ORDER",1),nWW=new MA("P3_EXECUTION",2)}function Jb(){Jb=T,nzA=Zv(Zv(kg(Zv(Zv(kg(IV(new $M,(ntX(),nq8),(nsc(),nXf)),nq9),nXu),nXs),nq7),nXi),nXh)}function Jw(n){switch(n.g){case 2:return nZn;case 1:return nY7;case 4:return nY9;case 3:return nZe;default:return nZt}}function Jd(n,t){switch(n.b.g){case 0:case 1:return t;case 2:case 3:return new $9(t.d,0,t.a,t.b);default:return null}}function Jg(n){switch(n.g){case 1:return n1M;case 2:return n1i;case 3:return n1e;case 4:return n1k;default:return n1y}}function Jp(n){switch(n.g){case 1:return n1k;case 2:return n1M;case 3:return n1i;case 4:return n1e;default:return n1y}}function Jm(n){switch(n.g){case 1:return n1e;case 2:return n1k;case 3:return n1M;case 4:return n1i;default:return n1y}}function Jv(n,t,e,i){switch(t){case 1:return n.n||(n.n=new LE(nNi,n,1,7)),n.n;case 2:return n.k}return nt$(n,t,e,i)}function Jk(n,t,e){var i,r;return n.Pj()?(r=n.Qj(),i=naF(n,t,e),n.Jj(n.Ij(7,QR(e),i,t,r)),i):naF(n,t,e)}function Jy(n,t){var e,i,r,a;null==n.d?(++n.e,--n.f):(r=t.ld(),i=((e=t.Bi())&nl5)%n.d.length,a=ncW(n,i,e,r),++n.e,--n.f,O2(n.d[i].gd(a),136).md())}function JM(n,t){var e;e=(n.Bb&nbG)!=0,t?n.Bb|=nbG:n.Bb&=-1025,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new _S(n,1,10,e,t))}function Jj(n,t){var e;e=(n.Bb&nwG)!=0,t?n.Bb|=nwG:n.Bb&=-4097,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new _S(n,1,12,e,t))}function JT(n,t){var e;e=(n.Bb&nEE)!=0,t?n.Bb|=nEE:n.Bb&=-8193,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new _S(n,1,15,e,t))}function JE(n,t){var e;e=(n.Bb&nES)!=0,t?n.Bb|=nES:n.Bb&=-2049,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new _S(n,1,11,e,t))}function JS(n){var t,e;for(e=n.p.a.ec().Kc();e.Ob();)if((t=O2(e.Pb(),218)).f&&n.b[t.c]<-.0000000001)return t;return null}function JP(n,t){var e,i,r,a;for(i=new fU(t);i.at?1:n==t?0==n?JC(1/n,1/t):0:isNaN(n)?isNaN(t)?0:1:-1}function JO(n,t){var e,i,r;for($d(t),e=!1,i=new fU(n);i.a=1?nZn:nY9:t}function JL(n){if(n.c)JL(n.c);else if(n.d)throw new p$("Stream already terminated, can't be modified or used").e}function JN(n,t,e){var i;return i=n.a.get(t),n.a.set(t,void 0===e?null:e),void 0===i?(++n.c,++n.b.g):++n.d,i}function J$(n,t,e){var i;return i=0,t&&(Tx(n.a)?i+=t.f.a/2:i+=t.f.b/2),e&&(Tx(n.a)?i+=e.f.a/2:i+=e.f.b/2),i}function JD(n,t,e){var i;return my(),G8(i=new uR,t),GY(i,e),n&&Hi((n.a||(n.a=new EU(nL3,n,5)),n.a),i),i}function Jx(n){var t;return(64&n.Db)!=0?ncz(n):(t=new Sm(ncz(n)),t.a+=" (identifier: ",jW(t,n.k),t.a+=")",t.a)}function JR(n,t){var e;e=(n.Bb&njN)!=0,t?n.Bb|=njN:n.Bb&=-32769,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new _S(n,1,18,e,t))}function JK(n,t){var e;e=(n.Bb&njN)!=0,t?n.Bb|=njN:n.Bb&=-32769,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new _S(n,1,18,e,t))}function JF(n,t){var e;e=(n.Bb&nbT)!=0,t?n.Bb|=nbT:n.Bb&=-16385,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new _S(n,1,16,e,t))}function J_(n,t){var e;e=(n.Bb&nwz)!=0,t?n.Bb|=nwz:n.Bb&=-65537,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new _S(n,1,20,e,t))}function JB(n){var t;return t=B0(n4h,nb7,28,2,15,1),n-=nwz,t[0]=(n>>10)+nwV&nwt,t[1]=(1023&n)+56320&nwt,Zo(t,0,t.length)}function JH(n,t){var e,i,r,a,c,u;return Tk(n)&&Tk(t)&&nwR<(e=n+t)&&e>22),u=i.h+r.h+(c>>22),Es(a&nwA,c&nwA,u&nwL)))}function JU(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k,y,M;return Tk(n)&&Tk(t)&&nwR<(e=n*t)&&e>13|(15&i.m)<<9,u=i.m>>4&8191,o=i.m>>17|(255&i.h)<<5,s=(1048320&i.h)>>8,h=8191&r.l,f=r.l>>13|(15&r.m)<<9,l=r.m>>4&8191,b=r.m>>17|(255&r.h)<<5,w=(1048320&r.h)>>8,m=a*h,v=c*h,k=u*h,y=o*h,M=s*h,0!=f&&(v+=a*f,k+=c*f,y+=u*f,M+=o*f),0!=l&&(k+=a*l,y+=c*l,M+=u*l),0!=b&&(y+=a*b,M+=c*b),0!=w&&(M+=a*w),d=(m&nwA)+((511&v)<<13),g=(m>>22)+(v>>9)+((262143&k)<<4)+((31&y)<<17),p=(k>>18)+(y>>5)+((4095&M)<<8),g+=d>>22,d&=nwA,p+=g>>22,Es(d,g&=nwA,p&=nwL)))}function JG(n,t){var e;return Tk(n)&&Tk(t)&&nwR<(e=n-t)&&et?1:Tm(isNaN(n),isNaN(t))}function Jz(){Jz=T,nZf=new MW(nd9,0),nZs=new MW("POLYLINE",1),nZo=new MW("ORTHOGONAL",2),nZh=new MW("SPLINES",3)}function JV(){JV=T,nVJ=new MS("ASPECT_RATIO_DRIVEN",0),nVY=new MS("MAX_SCALE_DRIVEN",1),nVQ=new MS("AREA_DRIVEN",2)}function JW(n){var t,e;for(t=new du,e=new fU(n.j);e.at){KP(e);break}}Nc(e,t)}function J3(n,t){0==n.n.c.length&&EB(n.n,new xC(n.s,n.t,n.i)),EB(n.b,t),nn5(O2(I6(n.n,n.n.c.length-1),209),t),nhr(n,t)}function J4(n){var t;this.a=new Oe(t=O2(n.e&&n.e(),9),O2(Cs(t,t.length),9),0),this.b=B0(nPu,nbe,1,this.a.a.length,5,1)}function J6(n){return Array.isArray(n)&&n.Tm===j?mI(W2(n))+"@"+(XO(n)>>>0).toString(16):n.toString()}function J5(n,t){switch(t.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function J8(n,t,e,i){switch(t){case 3:return n.f;case 4:return n.g;case 5:return n.i;case 6:return n.j}return Jv(n,t,e,i)}function J9(n,t){if(t==n.d)return n.e;if(t==n.e)return n.d;throw new pN("Node "+t+" not part of edge "+n).e}function J7(n,t,e,i){if(t<0)nue(n,e,i);else{if(!e.rk())throw new pN(njP+e.xe()+njC).e;O2(e,69).wk().Ck(n,n.hi(),t,i)}}function Yn(n){var t;if(n.b){if(Yn(n.b),n.b.d!=n.c)throw(new dR).e}else n.d.dc()&&(t=O2(n.f.c.xc(n.e),16))&&(n.d=t)}function Yt(n){var t,e,i;for(this.a=new Tj,i=new fU(n);i.a0&&(i+=r,++e);return e>1&&(i+=n.d*(e-1)),i}function Ya(n){var t,e,i;for(i=new p1,i.a+="[",t=0,e=n.gc();t=0&&n.a[e]===t[e];e--);return e<0}(n,e.a))}function Yo(n){switch(nf9(),n.g){case 4:return n1i;case 1:return n1e;case 3:return n1k;case 2:return n1M;default:return n1y}}function Ys(n){var t,e;for(e=pE(PI(n.a.of((nlH(),nYG)))),t=new fU(n.a.Sf());t.au.d&&(h=u.d+u.a+s));e.c.d=h,t.a.zc(e,t),o=nPH.Math.max(o,e.c.d+e.c.a)}return o}(n),vZ(new As(null,new RF(n.d,16)),new lp(n)),t}function YT(n){YC(),this.c=_W(Vp(x2(nLC,1),nbe,845,0,[nU1])),this.b=new dc,this.a=n,$S(this.b,nU0,1),Gm(nU2,new wh(this))}function YE(n,t,e){GW(),gb.call(this),this.a=I8(nOm,[nbj,nd2],[603,217],0,[nOy,nOk],2),this.c=new TI,this.g=n,this.f=t,this.d=e}function YS(n,t){this.n=I8(n4b,[nbj,nwq],[376,28],14,[t,xT(nPH.Math.ceil(n/32))],2),this.o=n,this.p=t,this.j=n-1>>1,this.k=t-1>>1}function YP(n){var t,e;t=n.d==(nrU(),nRd),e=ne4(n),t&&!e||!t&&e?VF(n.a,(nl$(),nBF),(nnO(),nJe)):VF(n.a,(nl$(),nBF),(nnO(),nJt))}function YC(){YC=T,ko(),nl$(),nU0=nUA,nU2=_W(Vp(x2(nLI,1),nkL,149,0,[nUk,nUy,nUj,nUT,nUP,nUC,nUO,nUI,nUN,nUD,nUM,nUE,nUL]))}function YO(n,t){var e,i;if(1>=(i=new f0(n.a.ad(t,!0))).a.gc())throw(new dD).e;return(e=i.a.ec().Kc()).Pb(),O2(e.Pb(),40)}function YI(n,t){return n.i>0&&(t.lengthn.i&&NH(t,n.i,null),t}function YA(n){var t;return(64&n.Db)!=0?Qz(n):(t=new Sm(Qz(n)),t.a+=" (instanceClassName: ",jW(t,n.D),t.a+=")",t.a)}function YL(n){var t,e,i,r;for(e=0,r=0,i=n.length;e0&&(n._j(),i=((e=null==t?0:XO(t))&nl5)%n.d.length,-1!=ncW(n,i,e,t))}function YD(n,t){var e,i;n.a=JH(n.a,1),n.c=nPH.Math.min(n.c,t),n.b=nPH.Math.max(n.b,t),n.d+=t,e=t-n.f,i=n.e+e,n.f=i-n.e-e,n.e=i}function Yx(n,t){switch(t){case 3:G1(n,0);return;case 4:G0(n,0);return;case 5:G2(n,0);return;case 6:G3(n,0);return}QL(n,t)}function YR(n,t){switch(t.g){case 1:return OJ(n.j,(zn(),nDE));case 2:return OJ(n.j,(zn(),nDP));default:return DL(),DL(),nCH}}function YK(n){var t;switch(ND(),(t=n.Pc()).length){case 0:return nPY;case 1:return new I2(NA(t[0]));default:return new xr(function(n){var t,e;for(t=0,e=n.length;t0&&(n._j(),r=((i=null==t?0:XO(t))&nl5)%n.d.length,e=naq(n,r,i,t))?e.md():null}function YX(n,t,e){var i,r,a;return n.Pj()?(i=n.i,a=n.Qj(),QJ(n,i,t),r=n.Ij(3,null,t,i,a),e?e.nj(r):e=r):QJ(n,n.i,t),e}function Yz(n){var t;return PY(),t=new TP(O2(n.e.of((nlH(),nYt)),8)),n.B.Hc((nsM(),n1x))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t}function YV(n){var t,e;return(no0(),e=AZ(n),0!=(t=AZ(Li(n,32))))?new RV(e,t):e>10||e<0?new F$(1,e):nC$[e]}function YW(n,t){var e;return Tk(n)&&Tk(t)&&nwR<(e=n%t)&&e=0?a=a.a[1]:(r=a,a=a.a[0])}return r}function Y5(n,t,e){var i,r,a;for(r=null,a=n.b;a;){if(i=n.a.Ne(t,a.d),e&&0==i)return a;i<=0?a=a.a[0]:(r=a,a=a.a[1])}return r}function Y8(n,t,e){var i,r,a;for(r=O2(NB(n.b,e),183),i=0,a=new fU(t.j);a.a>5,t&=31,function(n,t,e,i){var r,a,c;if(0==i)ns7(t,0,n,e,n.length-e);else for(c=32-i,n[n.length-1]=0,a=n.length-1;a>e;a--)n[a]|=t[a-e-1]>>>c,n[a-1]=t[a-e-1]<t?1:Tm(isNaN(n),isNaN(t)))<0}function Ze(n,t){return T6(),T6(),qE(nbZ),(nPH.Math.abs(n-t)<=nbZ||n==t||isNaN(n)&&isNaN(t)?0:nt?1:Tm(isNaN(n),isNaN(t)))<=0}function Zi(n,t){for(var e=0;!t[e]||""==t[e];)e++;for(var i=t[e++];e0&&this.b>0&&(this.g=Af(this.c,this.b,this.a))}function Zb(n){if(!(nTt in n.a))throw new p_("Every element must have an id.").e;return naT(xF(n,nTt))}function Zw(n){var t,e;for(e=nrP(n),t=null;2==n.c;)nlD(n),t||(nlq(),nlq(),++n4o,nft(t=new T3(2),e),e=t),e.Jm(nrP(n));return e}function Zd(n,t){var e,i,r;return(n._j(),r=((i=null==t?0:XO(t))&nl5)%n.d.length,e=naq(n,r,i,t))?(qS(n,e),e.md()):null}function Zg(n,t){return n.e>t.e?1:n.et.d?n.e:n.d=48&&n<48+nPH.Math.min(10,10)?n-48:n>=97&&n<97?n-97+10:n>=65&&n<65?n-65+10:-1}function Zm(n){switch(typeof n){case nl4:return Wg(n);case nl3:return Td(n);case nl2:return PQ(n);default:return null==n?0:SK(n)}}function Zv(n,t){if(n.a<0)throw new p$("Did not call before(...) or after(...) before calling add(...).").e;return S3(n,n.a,t),n}function Zk(n){return(x7(),EM(n,162))?O2(NB(n0S,nPK),295).Rg(n):LB(n0S,W2(n))?O2(NB(n0S,W2(n)),295).Rg(n):null}function Zy(n){var t;return(32&n.Db)==0&&0!=(t=NF(O2(z$(n,16),29)||n.ii())-NF(n.ii()))&&ZM(n,32,B0(nPu,nbe,1,t,5,1)),n}function ZM(n,t,e){var i;(n.Db&t)!=0?null==e?function(n,t){var e,i,r,a,c,u,o;if(1==(i=Ju(254&n.Db)))n.Eb=null;else if(a=qu(n.Eb),2==i)r=ntf(n,t),n.Eb=a[0==r?1:0];else{for(e=2,c=B0(nPu,nbe,1,i-1,5,1),u=0,o=0;e<=128;e<<=1)e==t?++u:(n.Db&e)!=0&&(c[o++]=a[u++]);n.Eb=c}n.Db&=~t}(n,t):-1==(i=ntf(n,t))?n.Eb=e:NH(qu(n.Eb),i,e):null!=e&&function(n,t,e){var i,r,a,c,u,o;if(0==(r=Ju(254&n.Db)))n.Eb=e;else{if(1==r)c=B0(nPu,nbe,1,2,5,1),0==ntf(n,t)?(c[0]=e,c[1]=n.Eb):(c[0]=n.Eb,c[1]=e);else for(i=2,c=B0(nPu,nbe,1,r+1,5,1),a=qu(n.Eb),u=0,o=0;i<=128;i<<=1)i==t?c[o++]=e:(n.Db&i)!=0&&(c[o++]=a[u++]);n.Eb=c}n.Db|=t}(n,t,e)}function Zj(n){var t,e,i;if(!(i=n.Jh()))for(t=0,e=n.Ph();e;e=e.Ph()){if(++t>nwQ)return e.Qh();if((i=e.Jh())||e==n)break}return i}function ZT(n,t){var e;return jR(t)===jR(n)||!!EM(t,21)&&(e=O2(t,21)).gc()==n.gc()&&n.Ic(e)}function ZE(n,t){return $d(n),null!=t&&(!!Cq(n,t)||n.length==t.length&&Cq(n.toLowerCase(),t.toLowerCase()))}function ZS(n){var t,e;return QM(n,-129)>0&&0>QM(n,128)?(I7(),(e=nCp[t=AZ(n)+128])||(e=nCp[t]=new fT(n)),e):new fT(n)}function ZP(){ZP=T,nDl=new yi(npD,0),nDh=new yi("INSIDE_PORT_SIDE_GROUPS",1),nDs=new yi("GROUP_MODEL_ORDER",2),nDf=new yi(npx,3)}function ZC(n,t,e){t.b=nPH.Math.max(t.b,-e.a),t.c=nPH.Math.max(t.c,e.a-n.a),t.d=nPH.Math.max(t.d,-e.b),t.a=nPH.Math.max(t.a,e.b-n.b)}function ZO(n,t,e){this.c=n,this.f=new du,this.e=new mm,this.j=new Ai,this.n=new Ai,this.b=t,this.g=new $9(t.c,t.d,t.b,t.a),this.a=e}function ZI(n){var t,e,i;for(e=0,this.a=new Tj,this.d=new dV,this.e=0,i=n.length;ey&&(b.c=y-b.b),EB(M.d,new AF(b,Jd(M,b))),p=t==n1i?nPH.Math.max(p,w.b+o.b.Mf().b):nPH.Math.min(p,w.b));for(p+=t==n1i?n.t:-n.t,(m=Yj((M.e=p,M)))>0&&(O2($R(n.b,t),127).a.b=m),s=f.Kc();s.Ob();)(o=O2(s.Pb(),117)).c&&!(o.c.d.c.length<=0)&&(b=o.c.i,b.c-=o.e.a,b.d-=o.e.b)}(n,t):nf2(n,t):n.u.Hc(nZ7)&&(e?function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m;if(2>=(s=O2(O2(_V(n.r,t),21),87)).gc()||t==(nf9(),n1e)||t==(nf9(),n1M)){nll(n,t);return}for(w=n.u.Hc((nak(),n1n)),e=t==(nf9(),n1i)?(zZ(),nIq):(zZ(),nIH),g=t==n1i?(UT(),nIb):(UT(),nId),p=OT(e),m=n.s,p.a=m,d=t==n1i?nwH:nwU,o=s.Kc();o.Ob();)(c=O2(o.Pb(),117)).c&&!(c.c.d.c.length<=0)&&(b=c.b.Mf(),l=c.e,(f=(h=c.c).i).b=(r=h.n,h.e.a+r.b+r.c),f.a=(a=h.n,h.e.b+a.d+a.a),w?(f.c=l.a-(i=h.n,h.e.a+i.b+i.c)-n.s,w=!1):f.c=l.a+b.a+n.s,xe(g,nd6),h.f=g,Hr(h,(HI(),nIf)),EB(p.d,new AF(f,Jd(p,f))),d=t==n1i?nPH.Math.min(d,l.b):nPH.Math.max(d,l.b+c.b.Mf().b));for(d+=t==n1i?-n.t:n.t,Yj((p.e=d,p)),u=s.Kc();u.Ob();)(c=O2(u.Pb(),117)).c&&!(c.c.d.c.length<=0)&&(f=c.c.i,f.c-=c.e.a,f.d-=c.e.b)}(n,t):nll(n,t))}function Zx(n){var t;jR(ncR(n,(nlH(),nJz)))===jR((QA(),nZC))&&(xY(n)?(t=O2(ncR(xY(n),nJz),346),nnb(n,nJz,t)):nnb(n,nJz,nZO))}function ZR(n,t,e){return new $9(nPH.Math.min(n.a,t.a)-e/2,nPH.Math.min(n.b,t.b)-e/2,nPH.Math.abs(n.a-t.a)+e,nPH.Math.abs(n.b-t.b)+e)}function ZK(n){var t;this.d=new du,this.j=new mm,this.g=new mm,t=n.g.b,this.f=O2(niB($u(t),(nl$(),nHi)),88),this.e=pE(PI(nnt(t,nUP)))}function ZF(n){this.d=new du,this.e=new FU,this.c=B0(n4f,nwd,28,(nf9(),Vp(x2(nLz,1),npR,64,0,[n1y,n1i,n1e,n1k,n1M])).length,15,1),this.b=n}function Z_(n,t,e){var i;switch(i=e[n.g][t],n.g){case 1:case 3:return new MH(0,i);case 2:case 4:return new MH(i,0);default:return null}}function ZB(n,t,e){var i;i=O2(xh(t.f),205);try{i.rf(n,e),$b(t.f,i)}catch(n){throw EM(n=Vr(n),103),n.e}}function ZH(n,t,e){var i,r,a,c;return a=nfS(qT(),t),i=null,a&&(c=nfp(a,e),r=null,null!=c&&(r=n.qf(a,c)),i=r),i}function ZU(n,t,e,i){var r;if(t>=(r=n.length))return r;for(t=t>0?t:0;ti&&NH(t,i,null),t}function Zq(n,t){var e,i;for(i=n.a.length,t.lengthi&&NH(t,i,null),t}function ZX(n,t){var e,i;if(++n.j,null!=t&&function(n,t){var e,i,r;if(jR(n)===jR(t))return!0;if(null==n||null==t||n.length!=t.length)return!1;for(e=0;e0&&(EB(n.b,new O4(t.a,e)),0<(i=t.a.length)?t.a=xu(t.a,0,0):0>i&&(t.a+=EA(B0(n4h,nb7,28,-i,15,1))))}function ZV(n,t,e){var i,r,a;return(r=O2(NB(n.e,t),400))?(a=Cr(r,e),E$(n,r),a):(i=new O8(n,t,e),$S(n.e,t,i),xg(i),null)}function ZW(){return nlX(),Vp(x2(nOE,1),nbz,164,0,[nIx,nID,nIR,nIP,nIS,nIC,nIA,nII,nIO,nI$,nIN,nIL,nIT,nIj,nIE,nIy,nIk,nIM,nIm,nIp,nIv,nIK])}function ZQ(n){switch(n.g){case 4:return new MH(0,-1);case 1:return new MH(1,0);case 2:return new MH(-1,0);default:return new MH(0,1)}}function ZJ(n){switch(n.g){case 1:return Jf(),nZe;case 4:return Jf(),nY7;case 2:return Jf(),nZn;case 3:return Jf(),nY9}return Jf(),nZt}function ZY(){ZY=T,nQV=new MG("PARENTS",0),nQz=new MG("NODES",1),nQq=new MG("EDGES",2),nQW=new MG("PORTS",3),nQX=new MG("LABELS",4)}function ZZ(n,t){var e,i;if(Rx(t,n.b),t>=n.b>>1)for(i=n.c,e=n.b;e>t;--e)i=i.b;else for(e=0,i=n.a.a;e=0?n.Wh(r):nax(n,i):e<0?nax(n,i):O2(i,69).wk().Bk(n,n.hi(),e)}function Z5(n){var t,e;for(n.o||(n.o=new Hb((nlM(),n0s),nNo,n,0)),t=(e=n.o).c.Kc();t.e!=t.i.gc();)O2(t.Yj(),44).md();return BZ(e)}function Z8(n){var t;if(!EM(n.a,4))return n.a;if(null==(t=Zk(n.a)))throw new p$(nM$+n.b+"'. "+nMI+(PL(nNb),nNb.k)+nMA).e;return t}function Z9(n){var t;try{return t=n.i.Xb(n.e),n.Xj(),n.g=n.e++,t}catch(t){if(EM(t=Vr(t),77))throw n.Xj(),(new dF).e;throw t.e}}function Z7(n){var t;try{return t=n.c.Vi(n.e),n.Xj(),n.g=n.e++,t}catch(t){if(EM(t=Vr(t),77))throw n.Xj(),(new dF).e;throw t.e}}function nnn(n){var t,e,i,r;for(e=0,r=0,i=n.length;e=64&&t<128&&(r=RG(r,Lt(1,t-64)));return r}function nnt(n,t){var e,i;return i=null,Pn(n,(nlH(),nYH))&&(e=O2(niB(n,nYH),96)).pf(t)&&(i=e.of(t)),null==i&&$u(n)&&(i=niB($u(n),t)),i}function nne(){nne=T,nlH(),nNU=nYK,nNR=nJG,nNL=nJP,nNK=nYu,nel(),nNB=nO0,nN_=nOZ,nNH=nO3,nNF=nOY,WQ(),nN$=nNC,nNN=nNP,nND=nNI,nNx=nNA}function nni(n){switch(kn(),this.c=new du,this.d=n,n.g){case 0:case 2:this.a=$P(nDu),this.b=nwH;break;case 3:case 1:this.a=nDu,this.b=nwU}}function nnr(n,t){var e;e=n.fd(t);try{return e.Pb()}catch(n){if(EM(n=Vr(n),112))throw new pO("Can't get element "+t).e;throw n.e}}function nna(n,t){var e,i,r;for(e=n.o,r=O2(O2(_V(n.r,t),21),87).Kc();r.Ob();)(i=O2(r.Pb(),117)).e.a=function(n,t){var e;return(e=n.b).pf((nlH(),nYk))?e.ag()==(nf9(),n1M)?-e.Mf().a-pE(PI(e.of(nYk))):t+pE(PI(e.of(nYk))):e.ag()==(nf9(),n1M)?-e.Mf().a:t}(i,e.a),i.e.b=e.b*pE(PI(i.b.of(nIB)))}function nnc(n){var t;return t=new p2,t.a+="n",n.k!=(nrn(),nDy)&&jY(jY((t.a+="(",t),Pe(n.k).toLowerCase()),")"),jY((t.a+="_",t),ntA(n)),t.a}function nnu(n,t){var e;switch(e=O2($R(n.b,t),127).n,t.g){case 1:n.t>=0&&(e.d=n.t);break;case 3:n.t>=0&&(e.a=n.t)}n.C&&(e.b=n.C.b,e.c=n.C.c)}function nno(){nno=T,nGg=new yX(nk$,0),nGb=new yX(nmd,1),nGw=new yX("LINEAR_SEGMENTS",2),nGl=new yX("BRANDES_KOEPF",3),nGd=new yX(nkN,4)}function nns(){nns=T,nNy=new k5(ngu,0),nNk=new k5(ngo,1),nNM=new k5(ngs,2),nNj=new k5(ngh,3),nNy.a=!1,nNk.a=!0,nNM.a=!1,nNj.a=!0}function nnh(){nnh=T,nIV=new k4(ngu,0),nIz=new k4(ngo,1),nIW=new k4(ngs,2),nIQ=new k4(ngh,3),nIV.a=!1,nIz.a=!0,nIW.a=!1,nIQ.a=!0}function nnf(n,t,e,i){var r;return e>=0?n.Sh(t,e,i):(n.Ph()&&(i=(r=n.Fh())>=0?n.Ah(i):n.Ph().Th(n,-1-r,null,i)),n.Ch(t,e,i))}function nnl(n,t){switch(t){case 7:n.e||(n.e=new CK(nL8,n,7,4)),nfi(n.e);return;case 8:n.d||(n.d=new CK(nL8,n,8,5)),nfi(n.d);return}Yx(n,t)}function nnb(n,t,e){return null==e?(n.o||(n.o=new Hb((nlM(),n0s),nNo,n,0)),Zd(n.o,t)):(n.o||(n.o=new Hb((nlM(),n0s),nNo,n,0)),neC(n.o,t,e)),n}function nnw(n,t){var e,i,r,a;for(DL(),e=n,a=t,EM(n,21)&&!EM(t,21)&&(e=t,a=n),r=e.Kc();r.Ob();)if(i=r.Pb(),a.Hc(i))return!1;return!0}function nnd(n,t){return jK(n)?!!nPV[t]:n.Sm?!!n.Sm[t]:j_(n)?!!nPz[t]:!!jF(n)&&!!nPX[t]}function nng(n,t){var e,i,r;for(r=n,i=new Lc(Sb(JQ(t).a.Kc(),new s));ncM(i);)(e=O2(_$(i),18)).c.i.c&&(r=nPH.Math.max(r,e.c.i.c.p));return r}function nnp(n,t,e){var i,r,a,c;return -1!=(i=n.dd(t))&&(n.Pj()?(a=n.Qj(),c=ntF(n,i),r=n.Ij(4,c,null,i,a),e?e.nj(r):e=r):ntF(n,i)),e}function nnm(n,t,e,i){var r,a,c;return a=Gr(n.Dh(),t),(r=t-n.ji())<0?(c=n.Ih(a))>=0?n.Lh(c,e,!0):naG(n,a,e):O2(a,69).wk().yk(n,n.hi(),r,e,i)}function nnv(n){var t,e;if(null==n)return null;for(t=0,e=B0(nAc,nbj,199,n.length,0,2);t=0)return i;if(n.ol()){for(e=0;e=(r=n.gc()))throw new CB(t,r).e;if(n.Si()&&(i=n.dd(e))>=0&&i!=t)throw new pN(nTp).e;return n.Xi(t,e)}function nnj(n,t){if(this.a=O2(NA(n),253),this.b=O2(NA(t),253),n.Ed(t)>0||n==(gZ(),nPQ)||t==(g1(),nPJ))throw new pN("Invalid range: "+Fk(n,t)).e}function nnT(n){var t,e;for(this.b=new du,this.c=n,this.a=!1,e=new fU(n.a);e.a0)for(i=new Ot(O2(_V(n.a,a),21)),DL(),Ei(i,new lC(t)),r=new Ky(a.b,0);r.b0),(t&-t)==t)return xT(t*nun(n,31)*4656612873077393e-25);do i=(e=nun(n,31))%t;while(e-i+(t-1)<0);return xT(i)}function nnN(n,t,e,i){var r,a;for(r=t;r(o=null==n.d?0:n.d.length)))return 0;for(a=0,h=n.d,n.d=B0(nNf,nEc,66,2*o+4,0,1);a102?-1:n<=57?n-48:n<65?-1:n<=70?n-65+10:n<97?-1:n-97+10}function nnJ(n,t){if(null==n)throw new px("null key in entry: null="+t).e;if(null==t)throw new px("null value in entry: "+n+"=null").e}function nnY(n,t){var e;return e=Vp(x2(n4d,1),nwW,28,15,[W9(n.a[0],t),W9(n.a[1],t),W9(n.a[2],t)]),n.d&&(e[0]=nPH.Math.max(e[0],e[2]),e[2]=e[0]),e}function nnZ(n,t){var e;return e=Vp(x2(n4d,1),nwW,28,15,[W7(n.a[0],t),W7(n.a[1],t),W7(n.a[2],t)]),n.d&&(e[0]=nPH.Math.max(e[0],e[2]),e[2]=e[0]),e}function nn1(n,t,e){CW(O2(niB(t,(nl$(),nUi)),101))||(_l(n,t,nrl(t,e)),_l(n,t,nrl(t,(nf9(),n1k))),_l(n,t,nrl(t,n1i)),DL(),Ei(t.j,new bm(n)))}function nn0(n){var t,e;for(n.c||function(n){var t,e,i,r,a,c;if(r=new Ky(n.e,0),i=new Ky(n.a,0),n.d)for(e=0;enkV;){for(a=t,c=0;nPH.Math.abs(t-a)0),r.a.Xb(r.c=--r.b),function(n,t,e,i,r){var a,c,u,o,s,h,f,l,b;for(u=0,f=function(n,t){var e,i,r;for(r=new Ky(n.e,0),e=0;r.bnkV);)i>-.000001&&++e;return e}(n,e);u0),i.a.Xb(i.c=--i.b),h>f+u&&N7(i);for(a=new fU(l);a.a0),i.a.Xb(i.c=--i.b)}}(n,n.b-c,a,i,r),P$(r.b0),i.a.Xb(i.c=--i.b)}if(!n.d)for(e=0;ea&&NH(t,a,null),t}function nti(n,t){var e,i,r;return e=t.ld(),r=t.md(),i=n.xc(e),!!((jR(r)===jR(i)||null!=r&&Q0(r,i))&&(null!=i||n._b(e)))}function ntr(n,t,e,i){var r,a,c;this.a=t,this.c=i,c=new MH(-(r=n.a).c,-r.d),this.b=c,CP(this.b,e),a=i/2,t.a?Pf(this.b,0,a):Pf(this.b,a,0),EB(n.c,this)}function nta(n,t,e,i){var r;this.c=n,this.d=t,FG(r=new vq,e,r.c.b,r.c),this.a=r,this.b=O2(niB(i,(nhe(),nX3)),88),this.e=pE(PI(niB(i,nzl))),nlF(this)}function ntc(){ntc=T,nVE=new MM(npD,0),nVj=new MM(nmm,1),nVT=new MM("EDGE_LENGTH_BY_POSITION",2),nVM=new MM("CROSSING_MINIMIZATION_BY_POSITION",3)}function ntu(n,t){var e,i;if(e=O2(GQ(n.g,t),27))return e;if(i=O2(GQ(n.j,t),123))return i;throw new p_("Referenced shape does not exist: "+t).e}function nto(n,t){var e,i;if(EM(t,253)){i=O2(t,253);try{return e=n.Ed(i),0==e}catch(n){if(EM(n=Vr(n),212));else throw n.e}}return!1}function nts(n,t,e,i,r,a){var c,u,o,s,h;for(h=0,c=function(n,t,e){var i,r;switch(i=(r=n.b).d,t.g){case 1:return-i.d-e;case 2:return r.o.a+i.c+e;case 3:return r.o.b+i.a+e;case 4:return-i.b-e;default:return -1}}(t,e,a),u=e==(nf9(),n1i)||e==n1M?-1:1,s=n[e.g];h0&&(o+=r),s[h]=c,c+=u*(o+i)}function nth(n){var t,e,i;for(t=0,i=n.f,n.n=B0(n4d,nwW,28,i,15,1),n.d=B0(n4d,nwW,28,i,15,1);t0?n.c:0),++r;n.b=i,n.d=a}function ntm(n,t){var e;return e=Vp(x2(n4d,1),nwW,28,15,[nnA(n,(GD(),nIa),t),nnA(n,nIc,t),nnA(n,nIu,t)]),n.f&&(e[0]=nPH.Math.max(e[0],e[2]),e[2]=e[0]),e}function ntv(n){var t;Pn(n,(nl$(),nHU))&&((t=O2(niB(n,nHU),21)).Hc((ncK(),nZR))?(t.Mc(nZR),t.Fc(nZF)):t.Hc(nZF)&&(t.Mc(nZF),t.Fc(nZR)))}function ntk(n){var t;Pn(n,(nl$(),nHU))&&((t=O2(niB(n,nHU),21)).Hc((ncK(),nZG))?(t.Mc(nZG),t.Fc(nZH)):t.Hc(nZH)&&(t.Mc(nZH),t.Fc(nZG)))}function nty(n,t,e,i){var r,a,c;return null==n.a&&function(n,t){var e,i,r,a;for(i=0,a=t.b.j,n.a=B0(n4f,nwd,28,a.c.length,15,1),r=0;i0&&(r.b+=t),r}function ntE(n,t){var e,i,r;for(r=new mm,i=n.Kc();i.Ob();)noY(e=O2(i.Pb(),36),0,r.b),r.b+=e.f.b+t,r.a=nPH.Math.max(r.a,e.f.a);return r.a>0&&(r.a+=t),r}function ntS(n){var t,e,i;for(i=nl5,e=new fU(n.a);e.a0&&(n.a[K.p]=z++)}for(O=0,Y=0,L=e.length;O0;){for(P$(H.b>0),B=0,u=new fU((K=O2(H.a.Xb(H.c=--H.b),12)).e);u.a0&&(K.j==(nf9(),n1i)?(n.a[K.p]=Y,++Y):(n.a[K.p]=Y+N+D,++D))}Y+=D}for(P=0,_=new dc,b=new Tj,I=t.length;Ps.b&&(s.b=U)):K.i.c==X&&(Us.c&&(s.c=U));for(HS(w,0,w.length,null),J=B0(n4f,nwd,28,w.length,15,1),i=B0(n4f,nwd,28,Y+1,15,1),g=0;g0;)M%2>0&&(r+=nt[M+1]),M=(M-1)/2|0,++nt[M];for(v=0,T=B0(nAZ,nbe,374,2*w.length,0,1);vn.d[r.p]&&(e+=_h(n.b,i)*O2(c.b,17).a,K8(n.a,QR(i)));for(;!pq(n.a);)UR(n.b,O2(LV(n.a),17).a)}return e}(o,s))),a}(n,i,t);return e}function ntC(){nuF(),this.c=new du,this.i=new du,this.e=new Tj,this.f=new Tj,this.g=new Tj,this.j=new du,this.a=new du,this.b=new dc,this.k=new dc}function ntO(n,t){var e;return n.Db>>16==6?n.Cb.Th(n,5,nNe,t):(e=nnF(O2(Gr(O2(z$(n,16),29)||n.ii(),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function ntI(n){var t,e,i;n.b==n.c&&(i=n.a.length,e=Vx(nPH.Math.max(8,i))<<1,0!=n.b?(t=Cs(n.a,e),Xp(n,t,i),n.a=t,n.b=0):dG(n.a,e),n.c=i)}function ntA(n){var t;return 0!=n.b.c.length&&O2(I6(n.b,0),72).a?O2(I6(n.b,0),72).a:null!=(t=$3(n))?t:""+(n.c?H7(n.c.a,n,0):-1)}function ntL(n){var t;return 0!=n.f.c.length&&O2(I6(n.f,0),72).a?O2(I6(n.f,0),72).a:null!=(t=$3(n))?t:""+(n.i?H7(n.i.j,n,0):-1)}function ntN(n){var t,e,i,r,a;for(a=0,r=nwU,i=0,e=new fU(n.a);e.a0?n.c:0),r=nPH.Math.max(r,t.d),++i;n.e=a,n.b=r}function nt$(n,t,e,i){return 0==t?i?(n.o||(n.o=new Hb((nlM(),n0s),nNo,n,0)),n.o):(n.o||(n.o=new Hb((nlM(),n0s),nNo,n,0)),BZ(n.o)):nnm(n,t,e,i)}function ntD(n){var t,e;if(n.rb)for(t=0,e=n.rb.i;t0||!c&&0==u))}function ntK(n,t,e){var i;return Qi(i=new gx,t),XL(i,e),Hi((n.c||(n.c=new LE(n06,n,12,10)),n.c),i),G9(i,0),G7(i,1),Q7(i,!0),Q5(i,!0),i}function ntF(n,t){var e,i;if(t>=n.i)throw new Tc(t,n.i).e;return++n.j,e=n.g[t],(i=n.i-t-1)>0&&ns7(n.g,t+1,n.g,t,i),NH(n.g,--n.i,null),n.Qi(t,e),n.Ni(),e}function nt_(n,t){var e;return n.Db>>16==17?n.Cb.Th(n,21,n0Z,t):(e=nnF(O2(Gr(O2(z$(n,16),29)||n.ii(),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function ntB(){ntB=T,n$O=new Tu(npv,(SB(),!1)),n$E=new Tu(npk,100),Uj(),n$S=new Tu(npy,n$P=n$G),n$C=new Tu(npM,ng0),n$I=new Tu(npj,QR(nl5))}function ntH(n,t,e){var i,r,a,c,u,o;for(o=0,i=n.a[t],r=0,a=i.length;re.a.c.length))throw new pN("index must be >= 0 and <= layer node count").e;n.c&&H6(n.c.a,n),n.c=e,e&&AN(e.a,t,n)}function ntQ(n,t){var e,i,r;for(i=new Lc(Sb(JW(n).a.Kc(),new s));ncM(i);)return e=O2(_$(i),18),new hX(NA((r=O2(t.Kb(e),10)).n.b+r.o.b/2));return gY(),gY(),nPW}function ntJ(n,t){this.c=new dc,this.a=n,this.b=t,this.d=O2(niB(n,(nlB(),nFb)),312),jR(niB(n,(nl$(),nHG)))===jR((HB(),nRY))?this.e=new gs:this.e=new go}function ntY(n,t){var e,i;return i=null,n.pf((nlH(),nYH))&&(e=O2(n.of(nYH),96)).pf(t)&&(i=e.of(t)),null==i&&n.Tf()&&(i=n.Tf().of(t)),null==i&&(i=Z8(t)),i}function ntZ(n,t){var e,i;e=n.fd(t);try{return i=e.Pb(),e.Qb(),i}catch(n){if(EM(n=Vr(n),112))throw new pO("Can't remove element "+t).e;throw n.e}}function nt1(n,t){var e,i,r;if(0==(e=function(n,t,e){var i,r,a,c,u,o,s,h,f,l,b;for(o=0,c=new nev,s=Vp(x2(n4f,1),nwd,28,15,[0]),r=-1,a=0,i=0;o0){if(r<0&&h.a&&(r=o,a=s[0],i=0),r>=0){if(u=h.b,o==r&&0==(u-=i++))return 0;if(!nla(t,s,h,u,c)){o=r-1,s[0]=a;continue}}else if(r=-1,!nla(t,s,h,0,c))return 0}else{if(r=-1,32==$W(h.c,0)){if(f=s[0],UF(t,s),s[0]>f)continue}else if(l=h.c,(b=s[0])>=0&&Cq(t.substr(b,l.length),l)){s[0]+=h.c.length;continue}return 0}return!function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w;if(0==n.e&&n.p>0&&(n.p=-(n.p-1)),n.p>nb1&&FE(t,n.p-nww),c=t.q.getDate(),x_(t,1),n.k>=0&&(o=n.k,s=t.q.getHours(),t.q.setMonth(o),nhv(t,s)),n.c>=0?x_(t,n.c):n.k>=0?(i=35-new VQ(t.q.getFullYear()-nww,t.q.getMonth(),35).q.getDate(),x_(t,nPH.Math.min(i,c))):x_(t,c),n.f<0&&(n.f=t.q.getHours()),n.b>0&&n.f<12&&(n.f+=12),h=24==n.f&&n.g?0:n.f,t.q.setHours(h),nhv(t,h),n.j>=0&&(f=n.j,l=t.q.getHours()+(f/60|0),t.q.setMinutes(f),nhv(t,l)),n.n>=0&&(b=n.n,w=t.q.getHours()+(b/3600|0),t.q.setSeconds(b),nhv(t,w)),n.i>=0&&Tl(t,JH(JU(neL(zH(t.q.getTime()),nwn),nwn),n.i)),n.a&&(FE(r=new vx,r.q.getFullYear()-nww-80),0>QM(zH(t.q.getTime()),zH(r.q.getTime()))&&FE(t,r.q.getFullYear()-nww+100)),n.d>=0){if(-1==n.c)(e=(7+n.d-t.q.getDay())%7)>3&&(e-=7),u=t.q.getMonth(),x_(t,t.q.getDate()+e),t.q.getMonth()!=u&&x_(t,t.q.getDate()+(e>0?-7:7));else if(t.q.getDay()!=n.d)return!1}return n.o>nb1&&(a=t.q.getTimezoneOffset(),Tl(t,JH(zH(t.q.getTime()),(n.o-a)*60*nwn))),!0}(c,e)?0:s[0]}(n,t,r=new VQ((i=new vx).q.getFullYear()-nww,i.q.getMonth(),i.q.getDate())))||e=t.b.c.length||(n(t,2*e+1),(i=2*e+2)0?t:0),++e;return new MH(i,r)}function nt5(n,t){var e;return n.Db>>16==6?n.Cb.Th(n,6,nL8,t):(e=nnF(O2(Gr(O2(z$(n,16),29)||(nlM(),n0r),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt8(n,t){var e;return n.Db>>16==7?n.Cb.Th(n,1,nL4,t):(e=nnF(O2(Gr(O2(z$(n,16),29)||(nlM(),n0c),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt9(n,t){var e;return n.Db>>16==9?n.Cb.Th(n,9,nNr,t):(e=nnF(O2(Gr(O2(z$(n,16),29)||(nlM(),n0o),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt7(n,t){var e;return n.Db>>16==5?n.Cb.Th(n,9,n00,t):(e=nnF(O2(Gr(O2(z$(n,16),29)||(nlz(),n2g),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nen(n,t){var e;return n.Db>>16==7?n.Cb.Th(n,6,nNe,t):(e=nnF(O2(Gr(O2(z$(n,16),29)||(nlz(),n2E),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function net(n,t){var e;return n.Db>>16==3?n.Cb.Th(n,0,nL7,t):(e=nnF(O2(Gr(O2(z$(n,16),29)||(nlz(),n2s),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nee(){this.a=new uX,this.g=new nnH,this.j=new nnH,this.b=new dc,this.d=new nnH,this.i=new nnH,this.k=new dc,this.c=new dc,this.e=new dc,this.f=new dc}function nei(n,t){var e,i;if(t){if(t==n)return!0;for(e=0,i=O2(t,54).Ph();i&&i!=t;i=i.Ph()){if(++e>nwQ)return nei(n,i);if(i==n)return!0}}return!1}function ner(n,t){var e,i,r;for(H6(n.a,t),n.e-=t.r+(0==n.a.c.length?0:n.c),r=nyg,i=new fU(n.a);i.a>16==3?n.Cb.Th(n,12,nNr,t):(e=nnF(O2(Gr(O2(z$(n,16),29)||(nlM(),n0i),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nec(n,t){var e;return n.Db>>16==11?n.Cb.Th(n,10,nNr,t):(e=nnF(O2(Gr(O2(z$(n,16),29)||(nlM(),n0u),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function neu(n,t){var e;return n.Db>>16==10?n.Cb.Th(n,11,n0Z,t):(e=nnF(O2(Gr(O2(z$(n,16),29)||(nlz(),n2j),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function neo(n,t){var e;return n.Db>>16==10?n.Cb.Th(n,12,n04,t):(e=nnF(O2(Gr(O2(z$(n,16),29)||(nlz(),n2S),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nes(n){var t;return(1&n.Bb)==0&&n.r&&n.r.Vh()&&(t=O2(n.r,54),n.r=O2(QT(n,t),142),n.r!=t&&(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,9,8,t,n.r))),n.r}function neh(n,t,e){var i;return i=Vp(x2(n4d,1),nwW,28,15,[niI(n,(GD(),nIa),t,e),niI(n,nIc,t,e),niI(n,nIu,t,e)]),n.f&&(i[0]=nPH.Math.max(i[0],i[2]),i[2]=i[0]),i}function nef(n,t){var e,i,r,a,c,u;return(c=n.h>>19)!=(u=t.h>>19)?u-c:(i=n.h)!=(a=t.h)?i-a:(e=n.m)!=(r=t.m)?e-r:n.l-t.l}function nel(){nel=T,noj(),nO3=new Tu(ndG,nO4=nIt),U6(),nO0=new Tu(ndq,nO2=nOQ),Z1(),nOZ=new Tu(ndX,nO1=nOz),nOY=new Tu(ndz,(SB(),!0))}function neb(n,t,e){var i,r;i=t*e,EM(n.g,154)?(r=Fi(n)).f.d?r.f.a||(n.d.a+=i+nd7):(n.d.d-=i+nd7,n.d.a+=i+nd7):EM(n.g,10)&&(n.d.d-=i,n.d.a+=2*i)}function ned(n,t,e){var i,r,a,c,u;for(r=n[e.g],u=new fU(t.d);u.a(r=i.length)&&rc&&(u=c/i),r>a&&(o=a/r),E_(n,nPH.Math.min(u,o)),n}function nev(){vx.call(this),this.e=-1,this.a=!1,this.p=nb1,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=nb1}function nek(){nek=T,n$z=AQ(IV(IV(IV(new $M,(niH(),n$Z),(nlU(),nD9)),n$Z,nxe),n$1,nxs),n$1,nDQ),n$W=IV(IV(new $M,n$Z,nD_),n$Z,nDJ),n$V=AQ(new $M,n$1,nDZ)}function ney(n){var t;if(n.f._j(),-1!=n.b){if(++n.b,t=n.f.d[n.a],n.b0&&(c=(a&nl5)%n.d.length,r=naq(n,c,a,t)))?r.nd(e):(i=n.ck(a,t,e),n.c.Fc(i),null)}function neO(n,t){var e,i,r,a;switch(QQ(n,t).Kl()){case 3:case 2:for(r=0,a=(e=nhx(t)).i;r=0?t:-t;i>0;)i%2==0?(e*=e,i=i/2|0):(r*=e,i-=1);return t<0?1/r:r}(n,n)/Qj(2.718281828459045,n));throw new pN("The input must be positive").e}function neA(n,t){var e;if(n.Yi()&&null!=t){for(e=0;e0&&(t.c[e.c.p][e.p].d+=nun(t.i,24)*ndi*.07000000029802322-.03500000014901161,t.c[e.c.p][e.p].a=t.c[e.c.p][e.p].d/t.c[e.c.p][e.p].b)}})(n,i=O2(Rz(r),10),e)}function nex(n,t,e){var i,r;(i=QH(t.j,e.s,e.c)+QH(e.e,t.s,t.c))==(r=QH(e.j,t.s,t.c)+QH(t.e,e.s,e.c))?i>0&&(n.b+=2,n.a+=i):(n.b+=1,n.a+=nPH.Math.min(i,r))}function neR(n){var t;t=O2(niB(O2(nnr(n.b,0),40),(nhe(),nza)),107),VF(n,(nf6(),nXm),new MH(0,0)),nsy(new Bf,n,t.b+t.c-pE(PI(niB(n,nXE))),t.d+t.a-pE(PI(niB(n,nXP))))}function neK(n,t){var e;if(e=!1,jK(t)&&(e=!0,NW(n,new NL(PA(t)))),!e&&EM(t,242)&&(e=!0,NW(n,new fk(C9(O2(t,242))))),!e)throw new pA(nTn).e}function neF(n){var t,e;switch(O2(niB($u(n),(nl$(),nHC)),429).g){case 0:return t=n.n,e=n.o,new MH(t.a+e.a/2,t.b+e.b/2);case 1:return new TP(n.n);default:return null}}function ne_(){ne_=T,nR4=new yx(npD,0),nR3=new yx("LEFTUP",1),nR5=new yx("RIGHTUP",2),nR2=new yx("LEFTDOWN",3),nR6=new yx("RIGHTDOWN",4),nR0=new yx("BALANCED",5)}function neB(n,t,e){switch(t){case 1:n.n||(n.n=new LE(nNi,n,1,7)),nfi(n.n),n.n||(n.n=new LE(nNi,n,1,7)),Nl(n.n,O2(e,16));return;case 2:q0(n,PA(e));return}Wl(n,t,e)}function neH(n,t,e){switch(t){case 3:G1(n,pE(PI(e)));return;case 4:G0(n,pE(PI(e)));return;case 5:G2(n,pE(PI(e)));return;case 6:G3(n,pE(PI(e)));return}neB(n,t,e)}function neU(n,t,e){var i,r;(i=niE(r=new gx,t,null))&&i.oj(),XL(r,e),Hi((n.c||(n.c=new LE(n06,n,12,10)),n.c),r),G9(r,0),G7(r,1),Q7(r,!0),Q5(r,!0)}function neG(n,t){var e,i;return EM(e=kx(n.i,t),241)?((i=O2(e,241)).zi(),i.wi()):EM(e,507)?i=O2(e,2037).b:null}function neq(n){if(-1==n.g)throw(new d$).e;n.Xj();try{n.i.gd(n.g),n.f=n.i.j,n.g=n.f)break;dy(a.c,e)}return a}function ne8(n,t){return!!t&&!n.mj(t)&&(n.i?n.i.nj(t):EM(t,152)?(n.i=O2(t,152),!0):(n.i=new uQ,n.i.nj(t)))}function ne9(n,t,e){var i,r,a;return i=t.Lk(),a=t.md(),r=i.Jk()?D7(n,3,i,null,a,nhy(n,i,a,EM(i,102)&&(O2(i,19).Bb&nwz)!=0),!0):D7(n,1,i,i.ik(),a,-1,!0),e?e.nj(r):e=r,e}function ne7(n,t,e){var i,r,a;for(r=n.vc().Kc();r.Ob();)if(a=(i=O2(r.Pb(),44)).ld(),jR(t)===jR(a)||null!=t&&Q0(t,a))return e&&(i=new kH(i.ld(),i.md()),r.Qb()),i;return null}function nin(n){var t,e,i;for(i=B0(nAc,nbj,199,n.b.c.length,0,2),e=new Ky(n.b,0);e.b0&&ntH(this,this.c-1,(nf9(),n1e)),this.c0&&n[0].length>0&&(this.c=pT(PO(niB($u(n[0][0]),(nlB(),nKY))))),this.a=B0(nAV,nbj,2117,n.length,0,2),this.b=B0(nAW,nbj,2118,n.length,0,2),this.d=new Qs}function nia(){nia=T,nZ3=new M0(nd9,0),nZ2=new M0("FREE",1),nZ0=new M0("FIXED_SIDE",2),nZY=new M0("FIXED_ORDER",3),nZ1=new M0("FIXED_RATIO",4),nZZ=new M0("FIXED_POS",5)}function nic(n){var t,e,i;for(i=new zW(nbn,"{","}"),e=n.vc().Kc();e.Ob();)_0(i,Fd(n,(t=O2(e.Pb(),44)).ld())+"="+Fd(n,t.md()));return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}function niu(n,t){var e,i,r;for(e=null,r=O2(t.Kb(n),20).Kc();r.Ob();)if(i=O2(r.Pb(),18),e){if((i.c.i==n?i.d.i:i.c.i)!=e)return!1}else e=i.c.i==n?i.d.i:i.c.i;return!0}function nio(n,t){var e,i,r,a;for(i=new fU(nut(n,!1,t));i.a=0;t--)nC4[t]=i,i*=.5;for(n=24,e=1;n>=0;n--)nC3[n]=e,e*=.5}function niw(n,t){var e,i,r;LQ(n.f,t)&&(t.b=n,i=t.c,-1!=H7(n.j,i,0)||EB(n.j,i),r=t.d,-1!=H7(n.j,r,0)||EB(n.j,r),0!=(e=t.a.b).c.length&&(n.i||(n.i=new ZK(n)),function(n,t){var e,i;for(i=new fU(t);i.a1&&(n.j.b+=n.e)):(n.j.a+=e.a,n.j.b=nPH.Math.max(n.j.b,e.b),n.d.c.length>1&&(n.j.a+=n.e))}(n,e)}(n.i,e)))}function nid(n){var t;this.d=new dc,this.c=n.c,this.e=n.d,this.b=n.b,this.f=new AM(n.e),this.a=n.a,n.f?this.g=n.f:this.g=new Oe(t=O2(mP(nNs),9),O2(Cs(t,t.length),9),0)}function nig(n,t){var e,i,r,a;(r=KW(n,"layoutOptions"))||(r=KW(n,njz)),r&&(e=null,(a=r)&&(i=XF(a,B0(nP$,nbj,2,0,6,1)),e=new vR(a,i)),e&&_o(e,new jw(a,t)))}function nip(n){if(EM(n,207))return O2(n,27);if(EM(n,193))return xA(O2(n,123));if(n)throw new pR("Only support nodes and ports.").e;throw new px(nTb).e}function nim(n,t,e){if(n.b)throw new p$("The task is already done.").e;return null==n.p&&(n.p=t,n.r=e,n.k&&(n.o=(vX(),JU(zH(Date.now()),nwn))),!0)}function niv(n){var t;return t=new pl,null!=n.Pg()&&IC(t,nTt,n.Pg()),null!=n.xe()&&IC(t,nTl,n.xe()),null!=n.Og()&&IC(t,"description",n.Og()),t}function nik(n,t,e){var i,r,a;return a=n.q,n.q=t,(4&n.Db)!=0&&(1&n.Db)==0&&(r=new LS(n,1,9,a,t),e?e.nj(r):e=r),t?(i=t.c)!=n.r&&(e=n.Yk(i,e)):n.r&&(e=n.Yk(null,e)),e}function niy(n,t,e,i,r){var a,c;nr0(a=O2(Fq($Q(t.Oc(),new rn),Hl(new z,new X,new nt,Vp(x2(nOa,1),nbz,108,0,[(W1(),nOK)]))),15)),c=O2(zy(n.b,e,i),15),0==r?c.cd(0,a):c.Gc(a)}function niM(n){var t,e,i,r;for(t=null,r=new fU(n.Rf());r.a0&&ns7(n.g,t,n.g,t+i,u),c=e.Kc(),n.i+=i,r=0;r=nwz?(t=nwV+(n-nwz>>10&1023)&nwt,e=56320+(n-nwz&1023)&nwt,String.fromCharCode(t)+""+String.fromCharCode(e)):String.fromCharCode(n&nwt)}function niC(){niC=T,nZp=new MQ(npD,0),nZd=new MQ("DIRECTED",1),nZm=new MQ("UNDIRECTED",2),nZb=new MQ("ASSOCIATION",3),nZg=new MQ("GENERALIZATION",4),nZw=new MQ("DEPENDENCY",5)}function niO(n,t){var e,i;for($d(t),i=n.b.c.length,EB(n.b,t);i>0;){if(e=i,i=(i-1)/2|0,0>=n.a.Ne(I6(n.b,i),t))return _f(n.b,e,t),!0;_f(n.b,e,I6(n.b,i))}return _f(n.b,i,t),!0}function niI(n,t,e,i){var r,a;if(r=0,e)r=W7(n.a[e.g][t.g],i);else for(a=0;a=nwn?"error":"warn",n.a),n.b&&function n(t,e,i,r,a){var c,u,o,s,h,f;for(function(n,t){(t||null==console.groupCollapsed?null!=console.group?console.group:console.log:console.groupCollapsed).call(console,n)}(r+xc(i,i.ie()),a),NQ(e,(h=i.e)&&(h.stack||((f=i[nb8])&&0!=f.length?" "+f.join("\n "):""))),(c=i.f)&&n(t,e,c,"Caused by: ",!1),null==i.k&&(i.k=B0(nPv,nbj,82,0,0,1)),u=i.k,o=0,s=u.length;o=(r=n.Ej())||t<0)throw new pO(nTm+t+nTv+r).e;if(e>=r||e<0)throw new pO(nTk+e+nTv+r).e;return t!=e?(a=n.Cj(e),n.qj(t,a),i=a):i=n.xj(e),i}function niJ(n){var t,e,i;for(i=new zW(nbn,"[","]"),e=n.Kc();e.Ob();)_0(i,jR(t=e.Pb())===jR(n)?"(this Collection)":null==t?nbc:J6(t));return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}function niY(n,t){var e,i;if(i=!1,2>t.gc())return!1;for(e=0;ePV(n.d).c?(n.i+=n.g.c,YJ(n.d)):PV(n.d).c>PV(n.g).c?(n.e+=n.d.c,YJ(n.g)):(n.i+=Ad(n.g),n.e+=Ad(n.d),YJ(n.g),YJ(n.d))}function ni4(n,t,e,i){n.a.d=nPH.Math.min(t,e),n.a.a=nPH.Math.max(t,i)-n.a.d,tu&&(o=u/i),r>a&&(s=a/r),c=nPH.Math.min(o,s),n.a+=c*(t.a-n.a),n.b+=c*(t.b-n.b)}function ni8(n,t,e,i){return 0==e?(n.o||(n.o=new Hb((nlM(),n0s),nNo,n,0)),C4(n.o,t,i)):O2(Gr(O2(z$(n,16),29)||n.ii(),e),69).wk().Ak(n,Zy(n),e-NF(n.ii()),t,i)}function ni9(n,t){var e;t!=n.sb?(e=null,n.sb&&(e=O2(n.sb,54).Th(n,1,nNn,e)),t&&(e=O2(t,54).Rh(n,1,nNn,e)),(e=QV(n,t,e))&&e.oj()):(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,4,t,t))}function ni7(n,t){var e,i;i=O2(niB(t,(nl$(),nUi)),101),VF(t,(nlB(),nFe),i),(e=t.e)&&(vZ(new As(null,new RF(e.a,16)),new lS(n)),vZ(UD(new As(null,new RF(e.b,16)),new ti),new lP(n)))}function nrn(){nrn=T,nDy=new yr("NORMAL",0),nDk=new yr("LONG_EDGE",1),nDm=new yr("EXTERNAL_PORT",2),nDM=new yr("NORTH_SOUTH_PORT",3),nDv=new yr("LABEL",4),nDp=new yr("BREAKING_POINT",5)}function nrt(n,t){var e,i,r;return(t&=63)<22?(e=n.l<>22-t,r=n.h<>22-t):t<44?(e=0,i=n.l<>44-t):(e=0,i=0,r=n.l<n.a.Ne(r,e))throw new pN(ndo+r+nds+e).e;break;case 1:n.a.Ne(r,r);break;case 3:n.a.Ne(e,e)}this.f=t,this.b=e,this.a=i,this.e=r,this.d=a}function nrv(n,t){var e;EB(n.d,t),e=t.Mf(),n.c?(n.e.a=nPH.Math.max(n.e.a,e.a),n.e.b+=e.b,n.d.c.length>1&&(n.e.b+=n.a)):(n.e.a+=e.a,n.e.b=nPH.Math.max(n.e.b,e.b),n.d.c.length>1&&(n.e.a+=n.a))}function nrk(n,t,e,i,r){if(ii&&(n.a=i),n.br&&(n.b=r),n}function nry(n,t,e,i){var r,a;if(t.k==(nrn(),nDk)){for(a=new Lc(Sb(JQ(t).a.Kc(),new s));ncM(a);)if((r=O2(_$(a),18)).c.i.k==nDk&&n.c.a[r.c.i.c.p]==i&&n.c.a[t.c.p]==e)return!0}return!1}function nrM(n,t,e,i){var r;this.b=i,this.e=n==(qk(),nql),r=t[e],this.d=I8(n4l,[nbj,ndJ],[183,28],16,[r.length,r.length],2),this.a=I8(n4f,[nbj,nwd],[53,28],15,[r.length,r.length],2),this.c=new nii(t,e)}function nrj(n,t){var e,i,r;LQ(n.d,t),e=new aE,$S(n.c,t,e),e.f=Qy(t.c),e.a=Qy(t.d),e.d=(nuF(),(r=t.c.i.k)==(nrn(),nDy)||r==nDp),e.e=(i=t.d.i.k)==nDy||i==nDp,e.b=t.c.j==(nf9(),n1M),e.c=t.d.j==n1e}function nrT(n,t,e,i){var r,a,c,u,o,s,h;for(u=0,c=e.length,a=0,r=-1,s=UB((RK(t,n.length+1),n.substr(t)),(Ou(),nCY));ua&&(h=UB(e[u],nCY),Cq(s.substr(0,h.length),h))&&(r=u,a=o);return r>=0&&(i[0]=t+a),r}function nrE(n){var t;return(64&n.Db)!=0?nrc(n):(t=new Sv(njM),n.a&&jY(jY((t.a+=' "',t),n.a),'"'),jY(mN(jY(mN(jY(mN(jY(mN((t.a+=" (",t),n.i),","),n.j)," | "),n.g),","),n.f),")"),t.a)}function nrS(n,t,e){var i,r,a,c,u;for(c=0,u=nuR(n.e.Dh(),t),r=O2(n.g,124),i=0;c=0?n.ki(r):nag(n,i);else throw new pN(njP+i.xe()+njC).e}else throw new pN(njA+t+njL).e}else Q2(n,e,i)}function nr$(n){var t,e;if(e=null,t=!1,EM(n,211)&&(t=!0,e=O2(n,211).a),!t&&EM(n,263)&&(t=!0,e=""+O2(n,263).a),!t&&EM(n,493)&&(t=!0,e=""+O2(n,493).a),!t)throw new pA(nTn).e;return e}function nrD(n,t,e){var i,r,a,c,u,o;for(c=0,o=nuR(n.e.Dh(),t),i=0,u=n.i,r=O2(n.g,124);c=n.d.b.c.length&&((t=new Nz(n.d)).p=i.p-1,EB(n.d.b,t),(e=new Nz(n.d)).p=i.p,EB(n.d.b,e)),Rh(i,O2(I6(n.d.b,i.p),30))}function nrq(n,t){var e,i,r;if(EM(t,207))return e=O2(t,27),qx(NE(n.g),e);if(EM(t,193))return i=O2(t,123),qx(NE(n.j),i);if(EM(t,452))return r=O2(t,166),qx(NE(n.d),r);throw new pN(nTi+niJ(new pU(Vp(x2(nPu,1),nbe,1,5,[t])))).e}function nrX(n,t,e){var i,r;if(this.f=n,_J(e,r=(i=O2(NB(n.b,t),260))?i.a:0),e>=(r/2|0))for(this.e=i?i.c:null,this.d=r;e++0;)UU(this);this.b=t,this.a=null}function nrz(n,t){var e,i;if(e=O2($R(n.b,t),127),O2(O2(_V(n.r,t),21),87).dc()){e.n.b=0,e.n.c=0;return}e.n.b=n.C.b,e.n.c=n.C.c,n.A.Hc((Y2(),n1L))&&nox(n,t),i=function(n,t){var e,i,r;for(r=0,i=O2(O2(_V(n.r,t),21),87).Kc();i.Ob();)r+=(e=O2(i.Pb(),117)).d.b+e.b.Mf().a+e.d.c,i.Ob()&&(r+=n.w);return r}(n,t),nos(n,t)==(Z4(),nZV)&&(i+=2*n.w),e.a.a=i}function nrV(n,t){var e,i;if(e=O2($R(n.b,t),127),O2(O2(_V(n.r,t),21),87).dc()){e.n.d=0,e.n.a=0;return}e.n.d=n.C.d,e.n.a=n.C.a,n.A.Hc((Y2(),n1L))&&noR(n,t),i=function(n,t){var e,i,r;for(r=0,i=O2(O2(_V(n.r,t),21),87).Kc();i.Ob();)r+=(e=O2(i.Pb(),117)).d.d+e.b.Mf().b+e.d.a,i.Ob()&&(r+=n.w);return r}(n,t),nos(n,t)==(Z4(),nZV)&&(i+=2*n.w),e.a.b=i}function nrW(n,t,e,i){var r,a,c,u,o,s,h,f,l,b,w;return u=n.a,f=n.b,o=t.a,l=t.b,s=e.a,b=e.b,h=i.a,w=i.b,a=u*l-f*o,c=s*w-b*h,r=(u-o)*(b-w)-(f-l)*(s-h),new MH((a*(s-h)-c*(u-o))/r,(a*(b-w)-c*(f-l))/r)}function nrQ(n,t){var e,i,r;if(!n.d[t.p]){for(n.d[t.p]=!0,n.a[t.p]=!0,i=new Lc(Sb(JJ(t).a.Kc(),new s));ncM(i);)_y(e=O2(_$(i),18))||(r=e.d.i,n.a[r.p]?EB(n.b,e):nrQ(n,r));n.a[t.p]=!1}}function nrJ(n,t,e){var i;switch(i=0,O2(niB(t,(nl$(),nHL)),171).g){case 2:i=-(2*e)+n.a,++n.a;break;case 1:i=-e;break;case 3:i=e;break;case 4:i=2*e+n.b,++n.b}return Pn(t,(nlB(),nK5))&&(i+=O2(niB(t,nK5),17).a),i}function nrY(n){var t,e;return O2(ncR(n,(nlH(),nJ9)),21).Hc((Y2(),n1O))?(e=O2(ncR(n,nYi),21),t=new TP(O2(ncR(n,nYt),8)),e.Hc((nsM(),n1x))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t):new mm}function nrZ(n){var t,e,i;if(!n.b){for(i=new u9,e=new SQ(nhO(n));e.e!=e.i.gc();)((t=O2(Z7(e),19)).Bb&njN)!=0&&Hi(i,t);Wz(i),n.b=new To((O2(GA(DK((NR(),n2o).o),8),19),i.i),i.g),_j(n).b&=-9}return n.b}function nr1(n){var t,e,i;for(e=n.length,i=0;i=n.charCodeAt(i));)++i;for(t=e;t>i&&(RK(t-1,n.length),32>=n.charCodeAt(t-1));)--t;return i>0||tnPH.Math.abs(i-r))}function nr6(n,t,e){var i,r,a,c;if(null!=(a=O2(z$(n.a,8),2035)))for(i=0,r=a.length;ie.a&&(i.Hc((neY(),nJp))?r=(t.a-e.a)/2:i.Hc(nJv)&&(r=t.a-e.a)),t.b>e.b&&(i.Hc((neY(),nJy))?a=(t.b-e.b)/2:i.Hc(nJk)&&(a=t.b-e.b)),nix(n,r,a)}function nr7(n,t,e,i,r,a,c,u,o,s,h,f,l){EM(n.Cb,90)&&nau(_j(O2(n.Cb,90)),4),XL(n,e),n.f=c,Jj(n,u),JE(n,o),JM(n,s),JT(n,h),Q7(n,f),JF(n,l),Q5(n,!0),G9(n,r),n.Zk(a),Qi(n,t),null!=i&&(n.i=null,Xc(n,i))}function nan(n,t,e){if(n<0)return noB(nbt,Vp(x2(nPu,1),nbe,1,5,[e,QR(n)]));if(t<0)throw new pN(nbi+t).e;return noB("%s (%s) must not be greater than size (%s)",Vp(x2(nPu,1),nbe,1,5,[e,QR(n),QR(t)]))}function nat(n,t,e){var i,r,a;if(r=Gr(n.Dh(),t),(i=t-n.ji())<0){if(r){if(r.rk())(a=n.Ih(r))>=0?n.bi(a,e):nue(n,r,e);else throw new pN(njP+r.xe()+njC).e}else throw new pN(njA+t+njL).e}else J7(n,i,r,e)}function nae(n){var t,e;if(!n.f)return n.n>0;for(;n.n>0;){if(EM(e=(t=O2(n.k.Xb(n.n-1),76)).Lk(),102)&&(O2(e,19).Bb&njN)!=0&&(!n.e||e.pk()!=nL2||0!=e.Lj())&&null!=t.md())return!0;--n.n}return!1}function nai(n){if(!n)return pb(),nCe;var t=n.valueOf?n.valueOf():n;if(t!==n){var e=nCi[typeof t];return e?e(t):Qh(typeof t)}return n instanceof Array||n instanceof nPH.Array?new fm(n):new fy(n)}function nar(n,t,e){var i,r,a;switch(a=n.o,(r=(i=O2($R(n.p,e),252)).i).b=naP(i),r.a=naS(i),r.b=nPH.Math.max(r.b,a.a),r.b>a.a&&!t&&(r.b=a.a),r.c=-(r.b-a.a)/2,e.g){case 1:r.d=-r.a;break;case 3:r.d=a.b}nhi(i),nhu(i)}function naa(n,t,e){var i,r,a;switch(a=n.o,(r=(i=O2($R(n.p,e),252)).i).b=naP(i),r.a=naS(i),r.a=nPH.Math.max(r.a,a.b),r.a>a.b&&!t&&(r.a=a.b),r.d=-(r.a-a.b)/2,e.g){case 4:r.c=-r.b;break;case 2:r.c=a.a}nhi(i),nhu(i)}function nac(n,t){var e,i,r,a;return e=qi(n,"x"),G2(new wP(t).a,null==e||C7(($d(e),e))||isNaN(($d(e),e))?0:($d(e),e)),i=qi(n,"y"),G3(new wC(t).a,null==i||C7(($d(i),i))||isNaN(($d(i),i))?0:($d(i),i)),r=qi(n,njQ),G0(new wO(t).a,null==r||C7(($d(r),r))||isNaN(($d(r),r))?0:($d(r),r)),a=qi(n,njW),G1(new wI(t).a,null==a||C7(($d(a),a))||isNaN(($d(a),a))?0:($d(a),a)),a}function nau(n,t){no$(n,t),(1&n.b)!=0&&(n.a.a=null),(2&n.b)!=0&&(n.a.f=null),(4&n.b)!=0&&(n.a.g=null,n.a.i=null),(16&n.b)!=0&&(n.a.d=null,n.a.e=null),(8&n.b)!=0&&(n.a.b=null),(32&n.b)!=0&&(n.a.j=null,n.a.c=null)}function nao(n,t){var e,i,r,a,c,u;for(e=n.b.c.length,r=I6(n.b,t);2*t+1n.a.Ne(I6(n.b,c),I6(n.b,a))&&(u=c),i=u,!(0>n.a.Ne(r,I6(n.b,i))));)_f(n.b,t,I6(n.b,i)),t=i;_f(n.b,t,r)}function nas(n,t,e){var i,r;return(i=e.d,r=e.e,n.g[i.d]<=n.i[t.d]&&n.i[t.d]<=n.i[i.d]&&n.g[r.d]<=n.i[t.d]&&n.i[t.d]<=n.i[r.d])?!(n.i[i.d](RR(a+1,t.c.length),O2(t.c[a+1],17)).a-i&&++u,EB(r,(RR(a+u,t.c.length),O2(t.c[a+u],17))),c+=(RR(a+u,t.c.length),O2(t.c[a+u],17)).a-i,++e;e=0?n.Lh(e,!0,!0):naG(n,r,!0),160),O2(i,220).Zl(t);else throw new pN(njP+t.xe()+njC).e}function nap(n){var t,e;return n>-140737488355328&&n<0x800000000000?0==n?0:((t=n<0)&&(n=-n),e=xT(nPH.Math.floor(nPH.Math.log(n)/.6931471805599453)),(!t||n!=nPH.Math.pow(2,e))&&++e,e):z9(zH(n))}function nam(n,t){var e,i,r,a;return zX(i=new nnU(n),t),VF(i,(nlB(),nKB),t),VF(i,(nl$(),nUi),(nia(),nZZ)),VF(i,nBF,(nnO(),nJn)),nrn(),a=nDm,i.k=a,Rf(e=new nrh,i),naf(e,(nf9(),n1M)),Rf(r=new nrh,i),naf(r,n1e),i}function nav(n){switch(n.g){case 0:return new pv((qk(),nqf));case 1:return new hp;case 2:return new hm;default:throw new pN("No implementation is available for the crossing minimizer "+(null!=n.f?n.f:""+n.g)).e}}function nak(){nak=T,nZ7=new M2("OUTSIDE",0),nZ8=new M2("INSIDE",1),nZ9=new M2("NEXT_TO_PORT_IF_POSSIBLE",2),nZ5=new M2("ALWAYS_SAME_SIDE",3),nZ6=new M2("ALWAYS_OTHER_SAME_SIDE",4),n1n=new M2("SPACE_EFFICIENT",5)}function nay(n,t){var e,i,r;for(r=nl5,i=new fU(W3(t));i.a=(a=c.gc()))c.$b();else for(i=0,r=c.Kc();i0&&(c+=e,++t);t>1&&(c+=n.c*(t-1))}else c=(u=X1($Y($Q(LY(n.a),new nM),new nj))).a?u.b:0;return c>0?c+n.n.d+n.n.a:0}function naP(n){var t,e,i,r,a,c,u;if(c=0,0==n.b)c=(u=X1($Y($Q(LY(n.a),new nk),new ny))).a?u.b:0;else{for(i=0,a=nnZ(n,!0),t=0,r=a.length;i0&&(c+=e,++t);t>1&&(c+=n.c*(t-1))}return c>0?c+n.n.b+n.n.c:0}function naC(n){var t,e;return e=new p2,e.a+="e_",null!=(t=0!=n.b.c.length&&O2(I6(n.b,0),72).a?O2(I6(n.b,0),72).a:$3(n))&&(e.a+=""+t),n.c&&n.d&&(jY((e.a+=" ",e),ntL(n.c)),jY(jJ((e.a+="[",e),n.c.i),"]"),jY((e.a+=npH,e),ntL(n.d)),jY(jJ((e.a+="[",e),n.d.i),"]")),e.a}function naO(n){switch(n.g){case 0:return new hP;case 1:return new hC;case 2:return new hE;case 3:return new hT;default:throw new pN("No implementation is available for the layout phase "+(null!=n.f?n.f:""+n.g)).e}}function naI(n,t,e,i,r){var a;switch(a=0,r.g){case 1:a=nPH.Math.max(0,t.b+n.b-(e.b+i));break;case 3:a=nPH.Math.max(0,-n.b-i);break;case 2:a=nPH.Math.max(0,-n.a-i);break;case 4:a=nPH.Math.max(0,t.a+n.a-(e.a+i))}return a}function naA(n){var t,e;switch(n.b){case -1:return!0;case 0:if((e=n.t)>1||-1==e||(t=nes(n))&&(kP(),t.lk()==nET))return n.b=-1,!0;return n.b=1,!1;default:return!1}}function naL(n,t){var e,i,r,a;if(nlD(n),0!=n.c||123!=n.a)throw new pH(nlQ((T9(),nTK))).e;if(a=112==t,i=n.d,(e=S1(n.i,125,i))<0)throw new pH(nlQ((T9(),nTF))).e;return r=xu(n.i,i,e),n.d=e+1,Ha(r,a,(512&n.e)==512)}function naN(n){var t,e,i,r,a,c,u;if((i=n.a.c.length)>0)for(c=n.c.d,r=E_(CC(new MH((u=n.d.d).a,u.b),c),1/(i+1)),a=new MH(c.a,c.b),e=new fU(n.a);e.a=0&&i=0?n.Lh(e,!0,!0):naG(n,r,!0),160),O2(i,220).Wl(t);throw new pN(njP+t.xe()+njI).e}function naR(n,t){var e,i,r;if(r=0,(i=t[0])>=n.length)return -1;for(RK(i,n.length),e=n.charCodeAt(i);e>=48&&e<=57&&(r=10*r+(e-48),!(++i>=n.length));)RK(i,n.length),e=n.charCodeAt(i);return i>t[0]?t[0]=i:r=-1,r}function naK(n){var t,e,i;for(t=null,e=LU(qg(Vp(x2(nPf,1),nbe,20,0,[(n.b||(n.b=new CK(nL5,n,4,7)),n.b),(n.c||(n.c=new CK(nL5,n,5,8)),n.c)])));ncM(e);)if(i=nip(O2(_$(e),84)),t){if(t!=i)return!1}else t=i;return!0}function naF(n,t,e){var i;if(++n.j,t>=n.i)throw new pO(nTm+t+nTv+n.i).e;if(e>=n.i)throw new pO(nTk+e+nTv+n.i).e;return i=n.g[e],t!=e&&(t>16))>>16&16),n>>=t,e+=t=(i=n-256)>>16&8,n<<=t,e+=t=(i=n-nwG)>>16&4,n<<=t,e+=t=(i=n-nbT)>>16&2,n<<=t,e+2-(t=(i=n>>14)&~(i>>1)))}function naH(n,t,e){var i,r,a,c;return EM(t,153)&&EM(e,153)?(a=O2(t,153),c=O2(e,153),n.a[a.a][c.a]+n.a[c.a][a.a]):EM(t,250)&&EM(e,250)&&(i=O2(t,250),r=O2(e,250),i.a==r.a)?O2(niB(r.a,(ns_(),n$o)),17).a:0}function naU(n,t){var e,i,r,a,c,u,o,s;for(u=1,s=pE(PI(niB(t,(nl$(),nUD)))),o=n[0].n.a+n[0].o.a+n[0].d.c+s;u=0?n.Lh(i,!0,!0):naG(n,a,!0),160),O2(r,220).Sl(t,e);throw new pN(njP+t.xe()+njI).e}function naq(n,t,e,i){var r,a,c,u,o;if(r=n.d[t]){if(a=r.g,o=r.i,null!=i){for(u=0;u>5,r=31&i,(c=B0(n4f,nwd,28,a+1,15,1))[a]=1<1;t>>=1)(1&t)!=0&&(i=Fw(i,e)),e=1==e.d?Fw(e,e):new ZA(nsA(e.a,e.d,B0(n4f,nwd,28,e.d<<1,15,1)));return Fw(i,e)}(n,t)}function naz(n){var t,e,i,r;for(v7(),this.b=n$5,this.c=(Jf(),nZt),this.f=(v9(),n$3),this.a=n,r=new tf,this.e=r,nuj(this),i=new fU(n.b);i.a=null.Um()?(nc4(n),naW(n)):t.Ob()}function naQ(n){if(this.a=n,n.c.i.k==(nrn(),nDm))this.c=n.c,this.d=O2(niB(n.c.i,(nlB(),nKH)),64);else if(n.d.i.k==nDm)this.c=n.d,this.d=O2(niB(n.d.i,(nlB(),nKH)),64);else throw new pN("Edge "+n+" is not an external edge.").e}function naJ(n,t){var e,i,r;r=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,3,r,n.b)),t?t!=n&&(XL(n,t.zb),qn(n,t.d),q1(n,null==(e=null==(i=t.c)?t.zb:i)||Cq(e,t.zb)?null:e)):(XL(n,null),qn(n,0),q1(n,null))}function naY(n,t){var e;this.e=(ND(),NA(n),ND(),YK(n)),this.c=(NA(t),YK(t)),E5(this.e.Rd().dc()==this.c.Rd().dc()),this.d=JZ(this.e),this.b=JZ(this.c),e=I8(nPu,[nbj,nbe],[5,1],5,[this.e.Rd().gc(),this.c.Rd().gc()],2),this.a=e,function(n){var t,e,i,r;for(e=n.a,i=0,r=e.length;i0?Yo(e):Jp(Yo(e)),nnb(t,nUo,r)}function na8(n,t){var e,i,r,a;n.Pj()?(e=n.Ej(),a=n.Qj(),++n.j,n.qj(e,n.Zi(e,t)),i=n.Ij(3,null,t,e,a),n.Mj()&&(r=n.Nj(t,null))?(r.nj(i),r.oj()):n.Jj(i)):(NJ(n,t),n.Mj()&&(r=n.Nj(t,null))&&r.oj())}function na9(n,t,e){var i,r,a;n.Pj()?(a=n.Qj(),QJ(n,t,e),i=n.Ij(3,null,e,t,a),n.Mj()?(r=n.Nj(e,null),n.Tj()&&(r=n.Uj(e,r)),r?(r.nj(i),r.oj()):n.Jj(i)):n.Jj(i)):(QJ(n,t,e),n.Mj()&&(r=n.Nj(e,null))&&r.oj())}function na7(n,t){var e,i,r,a,c;for(c=nuR(n.e.Dh(),t),r=new uW,e=O2(n.g,124),a=n.i;--a>=0;)i=e[a],c.am(i.Lk())&&Hi(r,i);!nlb(n,r)&&TN(n.e)&&dq(n,t.Jk()?D7(n,6,t,(DL(),nCH),null,-1,!1):D7(n,t.tk()?2:1,t,null,null,-1,!1))}function ncn(n){var t,e,i,r,a,c;for(Rc(),e=new FU,i=new fU(n.e.b);i.a=0?n.Ah(null):n.Ph().Th(n,-1-t,null,null),n.Bh(O2(r,54),e),i&&i.oj(),n.vh()&&n.wh()&&e>-1&&zI(n,new LS(n,9,e,a,r)),r):a}function ncb(n,t){var e,i,r,a,c;for(c=0,a=n.b.Ce(t),i=null==(e=n.a.get(a))?B0(nPu,nbe,1,0,5,1):e;c>5)>=n.d)return n.e<0;if(e=n.a[r],t=1<<(31&t),n.e<0){if(r<(i=zi(n)))return!1;e=i==r?-e:~e}return(e&t)!=0}function nck(n,t){var e,i,r,a,c,u,o;if(a=t.e){for(c=0,e=ncl(a),i=O2(n.g,689);c>16)),15).dd(a))>t,a=n.m>>t|e<<22-t,r=n.l>>t|n.m<<22-t):t<44?(c=i?nwL:0,a=e>>t-22,r=n.m>>t-22|e<<44-t):(c=i?nwL:0,a=i?nwA:0,r=e>>t-44),Es(r&nwA,a&nwA,c&nwL)}function ncP(n){var t,e,i,r,a,c;for(this.c=new du,this.d=n,i=nwH,r=nwH,t=nwU,e=nwU,c=ZZ(n,0);c.b!=c.d.c;)a=O2(K6(c),8),i=nPH.Math.min(i,a.a),r=nPH.Math.min(r,a.b),t=nPH.Math.max(t,a.a),e=nPH.Math.max(e,a.b);this.a=new $9(i,r,t-i,e-r)}function ncC(n,t){var e,i,r,a;for(i=new fU(n.b);i.a=2)for(t=PI((e=r.Kc()).Pb());e.Ob();)a=t,t=PI(e.Pb()),i=nPH.Math.min(i,($d(t),t-($d(a),a)));return i}function nc$(n,t,e){var i,r,a,c,u;if((r=n.f)||(r=O2(n.a.a.ec().Kc().Pb(),60)),neb(r,t,e),1!=n.a.a.gc())for(i=t*e,c=n.a.a.ec().Kc();c.Ob();)(a=O2(c.Pb(),60))!=r&&((u=Fi(a)).f.d?(a.d.d+=i+nd7,a.d.a-=i+nd7):u.f.a&&(a.d.a-=i+nd7))}function ncD(n,t,e,i,r){var a,c,u,o,s,h,f,l,b;return c=e-n,u=i-t,o=(a=nPH.Math.atan2(c,u))+ng_,s=a-ng_,h=r*nPH.Math.sin(o)+n,l=r*nPH.Math.cos(o)+t,f=r*nPH.Math.sin(s)+n,b=r*nPH.Math.cos(s)+t,_W(Vp(x2(nLN,1),nbj,8,0,[new MH(h,l),new MH(f,b)]))}function ncx(n,t){var e;if(t.Ug("Equal Whitespace Eliminator",1),BJ(n,(noN(),nVV)))!function(n,t,e){var i,r,a,c;for(i=e/n.gc(),r=0,c=n.Kc();c.Ob();)Qe(a=O2(c.Pb(),186),a.f+i*r),function(n,t,e){var i,r,a,c,u;for(r=(t-n.e)/n.d.c.length,a=0,u=new fU(n.d);u.a0&&r0)?O2(I6(e.a,i-1),10):null}(a,i))&&(s=n.g[o.p],c=pE(n.p[s.p])+pE(n.d[o.p])+o.o.b+o.d.a,r=nPH.Math.min(r,u-(c+Eh(n.k,a,o))));while(t!=a);return r}(n.a,i.i,r,n.c),GO(n.a,i.i,-e),e>0):r<0&&-r0)}function nc_(n){var t,e,i,r,a,c,u;for(i=nwH,e=nwU,t=new fU(n.e.b);t.a=0;t-=2)for(e=0;e<=t;e+=2)(n.b[e]>n.b[e+2]||n.b[e]===n.b[e+2]&&n.b[e+1]>n.b[e+3])&&(i=n.b[e+2],n.b[e+2]=n.b[e],n.b[e]=i,i=n.b[e+3],n.b[e+3]=n.b[e+1],n.b[e+1]=i);n.c=!0}}function ncz(n){var t;return t=new Sv(mI(n.Rm)),t.a+="@",jY(t,(XO(n)>>>0).toString(16)),n.Vh()?(t.a+=" (eProxyURI: ",jJ(t,n._h()),n.Kh()&&(t.a+=" eClass: ",jJ(t,n.Kh())),t.a+=")"):n.Kh()&&(t.a+=" (eClass: ",jJ(t,n.Kh()),t.a+=")"),t.a}function ncV(n){var t,e,i;if(n.e)throw new p$((PL(nOf),ndO+nOf.k+ndI)).e;for(n.d==(Jf(),nZt)&&nfV(n,nY7),e=new fU(n.a.a);e.a0&&t.Ne((RR(r-1,n.c.length),O2(n.c[r-1],10)),a)>0;)_f(n,r,(RR(r-1,n.c.length),O2(n.c[r-1],10))),--r;RR(r,n.c.length),n.c[r]=a}e.a=new dc,e.b=new dc}function ncY(n,t,e){var i;if((n.c-n.b&n.a.length-1)==2)t==(nf9(),n1i)||t==n1e?(Gf(O2(V1(n),15),(ntz(),nZA)),Gf(O2(V1(n),15),nZL)):(Gf(O2(V1(n),15),(ntz(),nZL)),Gf(O2(V1(n),15),nZA));else for(i=new $z(n);i.a!=i.b;)Gf(O2(Qm(i),15),e)}function ncZ(n,t,e){var i,r,a,c;R2(n,t)>R2(n,e)?(i=Jq(e,(nf9(),n1e)),n.d=i.dc()?0:IF(O2(i.Xb(0),12)),c=Jq(t,n1M),n.b=c.dc()?0:IF(O2(c.Xb(0),12))):(r=Jq(e,(nf9(),n1M)),n.d=r.dc()?0:IF(O2(r.Xb(0),12)),a=Jq(t,n1e),n.b=a.dc()?0:IF(O2(a.Xb(0),12)))}function nc1(n,t){var e,i,r,a;for(e=n.o.a,a=O2(O2(_V(n.r,t),21),87).Kc();a.Ob();)(r=O2(a.Pb(),117)).e.a=e*pE(PI(r.b.of(nIB))),r.e.b=(i=r.b).pf((nlH(),nYk))?i.ag()==(nf9(),n1i)?-i.Mf().b-pE(PI(i.of(nYk))):pE(PI(i.of(nYk))):i.ag()==(nf9(),n1i)?-i.Mf().b:0}function nc0(n,t,e){var i,r,a,c,u,o;for(q7(r=new u2,($d(t),t)),r.b||(r.b=new Pd((nlz(),n2C),n2t,r)),u=r.b,c=1;c>1,this.k=u-1>>1,function(n){var t,e,i,r,a,c,u;for(u=0,e=TY(n.e),a=E_(Pf(Ev(TJ(n.e)),n.d*n.a,n.c*n.b),-.5),t=e.a-a.a,r=e.b-a.b;u0&&function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m;for(s=t.c,r=TY(n.e),f=E_(Pf(Ev(TJ(n.e)),n.d*n.a,n.c*n.b),-.5),e=r.a-f.a,i=r.b-f.b,e=(c=t.a).c-e,i=c.d-i,o=new fU(s);o.a0&&(i.b.n-=i.c,i.b.n<=0&&i.b.u>0&&ID(t,i.b));for(r=new fU(n.i);r.a0&&(i.a.u-=i.c,i.a.u<=0&&i.a.n>0&&ID(e,i.a))}function nc4(n){var t,e,i;if(null==n.g&&(n.d=n.bj(n.f),Hi(n,n.d),n.c))return n.f;if(i=(t=O2(n.g[n.i-1],51)).Pb(),n.e=t,(e=n.bj(i)).Ob())n.d=e,Hi(n,e);else for(n.d=null;!t.Ob()&&(NH(n.g,--n.i,null),0!=n.i);)t=O2(n.g[n.i-1],51);return i}function nc6(n){var t,e,i,r,a,c;for(t=0,e=new fU(n.a);e.a=2147483648&&(i-=4294967296),i)}function nut(n,t,e){var i,r,a,c,u,o,s;for(a=new du,function(n,t,e,i){var r,a,c,u,o,s,h;for(u=-1,h=new fU(n);h.a0&&w.a<=0){o.c.length=0,dy(o.c,w);break}(b=w.i-w.d)>=u&&(b>u&&(o.c.length=0,u=b),dy(o.c,w))}0!=o.c.length&&(c=O2(I6(o,nnL(r,o.c.length)),118),v.a.Bc(c),c.g=h++,ns9(c,t,e,i),o.c.length=0)}for(g=n.c.length+1,l=new fU(n);l.ai.b.g&&dy(a.c,i);return a}function nue(n,t,e){var i,r,a;if(a=nfb((nr_(),n27),n.Dh(),t)){if(kP(),!O2(a,69).xk()&&!(a=RJ(Us(n27,a))))throw new pN(njP+t.xe()+njC).e;r=O2((i=n.Ih(a))>=0?n.Lh(i,!0,!0):naG(n,a,!0),160),O2(r,220).Xl(t,e)}else throw new pN(njP+t.xe()+njC).e}function nui(n,t){var e,i,r,a;if(!t)return null;for(a=!(r=EM(n.Cb,90)||EM(n.Cb,102))&&EM(n.Cb,331),e=new E2((t.a||(t.a=new Ay(t,n03,t)),t.a));e.e!=e.i.gc();)if(i=nsJ(O2(Z9(e),89)),r?EM(i,90):a?EM(i,156):!!i)return i;return r?(nlz(),n2M):(nlz(),n2v)}function nur(n){var t,e,i,r;if(!n.j){if(r=new u7,null==(t=n2$).a.zc(n,t)){for(i=new E2(xi(n));i.e!=i.i.gc();)Nl(r,nur(e=O2(Z9(i),29))),Hi(r,e);t.a.Bc(n)}Wz(r),n.j=new To((O2(GA(DK((NR(),n2o).o),11),19),r.i),r.g),_j(n).b&=-33}return n.j}function nua(n,t){var e,i,r,a,c;for(r=t.a&n.f,a=null,i=n.b[r];;i=i.b){if(i==t){a?a.b=t.b:n.b[r]=t.b;break}a=i}for(c=t.f&n.f,a=null,e=n.c[c];;e=e.d){if(e==t){a?a.d=t.d:n.c[c]=t.d;break}a=e}t.e?t.e.c=t.c:n.a=t.c,t.c?t.c.e=t.e:n.e=t.e,--n.i,++n.g}function nuc(n,t){var e,i,r,a;for(P$((a=new Ky(n,0)).b0),a.a.Xb(a.c=--a.b),Ca(a,r),P$(a.b>16!=6&&t){if(nei(n,t))throw new pN(njR+nct(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nt5(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=nnf(t,n,6,i)),(i=P0(n,t,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,6,t,t))}function nuh(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=3&&t){if(nei(n,t))throw new pN(njR+nhX(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nea(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=nnf(t,n,12,i)),(i=P2(n,t,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,3,t,t))}function nuf(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=9&&t){if(nei(n,t))throw new pN(njR+noV(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nt9(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=nnf(t,n,9,i)),(i=P3(n,t,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,9,t,t))}function nul(n){var t,e,i,r,a;if(i=nes(n),null==(a=n.j)&&i)return n.Jk()?null:i.ik();if(EM(i,156)){if((e=i.jk())&&(r=e.wi())!=n.i){if((t=O2(i,156)).nk())try{n.g=r.ti(t,a)}catch(t){if(EM(t=Vr(t),82))n.g=null;else throw t.e}n.i=r}return n.g}return null}function nub(n){var t;return EB(t=new du,new kz(new MH(n.c,n.d),new MH(n.c+n.b,n.d))),EB(t,new kz(new MH(n.c,n.d),new MH(n.c,n.d+n.a))),EB(t,new kz(new MH(n.c+n.b,n.d+n.a),new MH(n.c+n.b,n.d))),EB(t,new kz(new MH(n.c+n.b,n.d+n.a),new MH(n.c,n.d+n.a))),t}function nuw(n,t){var e,i,r,a,c,u;for(r=0,c=new fU(t.a);c.a>16!=11&&t){if(nei(n,t))throw new pN(njR+noz(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nec(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=nnf(t,n,10,i)),(i=CO(n,t,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,11,t,t))}function nup(n,t,e){return noa(),!(zo(n,t)&&zo(n,e))&&(nfz(new MH(n.c,n.d),new MH(n.c+n.b,n.d),t,e)||nfz(new MH(n.c+n.b,n.d),new MH(n.c+n.b,n.d+n.a),t,e)||nfz(new MH(n.c+n.b,n.d+n.a),new MH(n.c,n.d+n.a),t,e)||nfz(new MH(n.c,n.d+n.a),new MH(n.c,n.d),t,e))}function num(n,t){var e,i,r,a;if(!n.dc()){for(e=0,i=n.gc();e>16!=7&&t){if(nei(n,t))throw new pN(njR+nrE(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nt8(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=O2(t,54).Rh(n,1,nL4,i)),(i=AJ(n,t,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,7,t,t))}function nuP(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=3&&t){if(nei(n,t))throw new pN(njR+Q4(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?net(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=O2(t,54).Rh(n,0,nL7,i)),(i=AY(n,t,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zI(n,new LS(n,1,3,t,t))}function nuC(){nuC=T,nGn=new yU(nkN,0),nU8=new yU("LONGEST_PATH",1),nU9=new yU("LONGEST_PATH_SOURCE",2),nU4=new yU("COFFMAN_GRAHAM",3),nU5=new yU(nmd,4),nGt=new yU("STRETCH_WIDTH",5),nU7=new yU("MIN_WIDTH",6),nU3=new yU("BF_MODEL_ORDER",7),nU6=new yU("DF_MODEL_ORDER",8)}function nuO(n,t){var e,i,r,a,c;if((null==n.i&&nhc(n),n.i).length,!n.p){for(c=new vH((3*n.g.i/2|0)+1),r=new SQ(n.g);r.e!=r.i.gc();)a=(i=O2(Z7(r),179)).xe(),(e=O2(null==a?nr5(c.f,null,i):JN(c.i,a,i),179))&&(null==a?nr5(c.f,null,e):JN(c.i,a,e));n.p=c}return O2(xp(n.p,t),179)}function nuI(n,t,e,i){var r,a,c,u;for(c=(u=t.e).length,a=t.q.ug(u,e?0:c-1,e)|noD(n,u[e?0:c-1],e,i),r=e?1:c-2;e?r=0;r+=e?1:-1)a|=t.c.lg(u,r,e,i&&!pT(PO(niB(t.j,(nlB(),nKG))))&&!pT(PO(niB(t.j,(nlB(),nFf))))),a|=t.q.ug(u,r,e),a|=noD(n,u[r],e,i);return LQ(n.c,t),a}function nuA(n,t,e){var i,r,a,c,u,o,s,h;for(o=Kq(n.j),s=0,h=o.length;so-n.b&&uo-n.a&&u=0&&!nn9(n,h,f);)--f;r[h]=f}for(b=0;b=0&&!nn9(n,u,w);)--u;a[w]=u}for(o=0;ot[l]&&li[o]&&noX(n,o,l,!1,!0)}(a),EB(this.b,a),r+=a.o,i+=a.p;this.b.c.length>0&&(r+=(a=O2(I6(this.b,0),176)).o,i+=a.p),r*=2,i*=2,t>1?r=xT(nPH.Math.ceil(r*t)):i=xT(nPH.Math.ceil(i/t)),this.a=new YS(r,i)}function nuH(n,t,e,i,r,a){var c,u,o,s,h,f,l,b,w,d,g;for(s=i,t.j&&t.o?(w=(l=O2(NB(n.f,t.A),60)).d.c+l.d.b,--s):w=t.a.c+t.a.b,h=r,e.q&&e.o?(o=(l=O2(NB(n.f,e.C),60)).d.c,++h):o=e.a.c,d=o-w,b=w+(u=d/nPH.Math.max(2,h-s)),f=s;f=0;c+=r?1:-1){for(u=t[c],o=i==(nf9(),n1e)?r?Jq(u,i):Yc(Jq(u,i)):r?Yc(Jq(u,i)):Jq(u,i),a&&(n.c[u.p]=o.gc()),f=o.Kc();f.Ob();)h=O2(f.Pb(),12),n.d[h.p]=s++;Vs(e,o)}}function nuq(n,t,e){var i,r,a,c,u,o;for(i=pE(PI(n.b.Kc().Pb())),u=pE(PI(function(n){if(n){if(n.dc())throw(new dF).e;return n.Xb(n.gc()-1)}return Rk(n.Kc())}(t.b))),o=CP(E_(Ev(n.a),u-e),E_(Ev(t.a),e-i)),E_(o,1/(u-i)),this.a=o,this.b=new du,a=!0,(r=n.b.Kc()).Pb();r.Ob();)c=pE(PI(r.Pb())),a&&c-e>nkV&&(this.b.Fc(e),a=!1),this.b.Fc(c);a&&this.b.Fc(e)}function nuX(n,t){var e,i,r;if(Vj(),e=_I(qT(),t.Pg())){if(i=e.j,EM(n,207))return((r=O2(n,27)).a||(r.a=new LE(nNr,r,10,11)),r.a.i>0)?Sx(i,(ZY(),nQz))||Sx(i,nQV):Sx(i,(ZY(),nQz));if(EM(n,326))return Sx(i,(ZY(),nQq));if(EM(n,193))return Sx(i,(ZY(),nQW));if(EM(n,366))return Sx(i,(ZY(),nQX))}return!0}function nuz(n,t){if(t instanceof Object)try{if(t.__java$exception=n,-1!=navigator.userAgent.toLowerCase().indexOf("msie")&&$doc.documentMode<9)return;Object.defineProperties(t,{cause:{get:function(){var t=n.he();return t&&t.fe()}},suppressed:{get:function(){return n.ge()}}})}catch(n){}}function nuV(n,t){var e,i,r,a,c;if(i=t>>5,t&=31,i>=n.d)return n.e<0?(no0(),nCL):(no0(),nCR);if(function(n,t,e,i,r){var a,c,u;for(c=0,a=!0;c>>r|e[c+i+1]<>>r,++c}}(r=B0(n4f,nwd,28,(a=n.d-i)+1,15,1),a,n.a,i,t),n.e<0){for(e=0;e0&&n.a[e]<<32-t!=0){for(e=0;e=0)&&(!(e=nfb((nr_(),n27),r,t))||((i=e.Ik())>1||-1==i)&&3!=$p(Us(n27,e))))}function nuJ(n,t,e){var i,r,a,c,u,o,s;if(o=n.length,s=(a=n[e?o-1:0]).length,a[r=e?0:s-1].k==(nrn(),nDm))for(i=0,u=t.j;i>24}(n));break;case 2:n.g=zU(function(n){if(2!=n.p)throw(new d$).e;return AZ(n.f)&nwt}(n));break;case 3:n.g=function(n){if(3!=n.p)throw(new d$).e;return n.e}(n);break;case 4:n.g=new fA(function(n){if(4!=n.p)throw(new d$).e;return n.e}(n));break;case 6:n.g=ZS(function(n){if(6!=n.p)throw(new d$).e;return n.f}(n));break;case 5:n.g=QR(function(n){if(5!=n.p)throw(new d$).e;return AZ(n.f)}(n));break;case 7:n.g=QK(function(n){if(7!=n.p)throw(new d$).e;return AZ(n.f)<<16>>16}(n))}return n.g}function nuZ(n){if(null==n.n)switch(n.p){case 0:n.n=!function(n){if(0!=n.p)throw(new d$).e;return jU(n.k,0)}(n)?(SB(),nCs):(SB(),nCh);break;case 1:n.n=Up(function(n){if(1!=n.p)throw(new d$).e;return AZ(n.k)<<24>>24}(n));break;case 2:n.n=zU(function(n){if(2!=n.p)throw(new d$).e;return AZ(n.k)&nwt}(n));break;case 3:n.n=function(n){if(3!=n.p)throw(new d$).e;return n.j}(n);break;case 4:n.n=new fA(function(n){if(4!=n.p)throw(new d$).e;return n.j}(n));break;case 6:n.n=ZS(function(n){if(6!=n.p)throw(new d$).e;return n.k}(n));break;case 5:n.n=QR(function(n){if(5!=n.p)throw(new d$).e;return AZ(n.k)}(n));break;case 7:n.n=QK(function(n){if(7!=n.p)throw(new d$).e;return AZ(n.k)<<16>>16}(n))}return n.n}function nu1(n,t,e,i){var r,a,c,u,o;if(kP(),u=O2(t,69).xk(),nuQ(n.e,t)){if(t.Si()&&nho(n,t,i,EM(t,102)&&(O2(t,19).Bb&nwz)!=0))throw new pN(nTp).e}else for(c=0,o=nuR(n.e.Dh(),t),r=O2(n.g,124);c0&&(e[0]+=n.d,c-=e[0]),e[2]>0&&(e[2]+=n.d,c-=e[2]),a=nPH.Math.max(0,c),e[1]=nPH.Math.max(e[1],c),_X(n,nIc,r.c+i.b+e[0]-(e[1]-c)/2,e),t==nIc&&(n.c.b=a,n.c.c=r.c+i.b+(a-c)/2)}function nu4(){this.c=B0(n4d,nwW,28,(nf9(),Vp(x2(nLz,1),npR,64,0,[n1y,n1i,n1e,n1k,n1M])).length,15,1),this.b=B0(n4d,nwW,28,Vp(x2(nLz,1),npR,64,0,[n1y,n1i,n1e,n1k,n1M]).length,15,1),this.a=B0(n4d,nwW,28,Vp(x2(nLz,1),npR,64,0,[n1y,n1i,n1e,n1k,n1M]).length,15,1),k$(this.c,nwH),k$(this.b,nwU),k$(this.a,nwU)}function nu6(n,t,e){var i,r,a,c;if(t<=e?(r=t,a=e):(r=e,a=t),i=0,null==n.b)n.b=B0(n4f,nwd,28,2,15,1),n.b[0]=r,n.b[1]=a,n.c=!0;else{if(i=n.b.length,n.b[i-1]+1==r){n.b[i-1]=a;return}c=B0(n4f,nwd,28,i+2,15,1),ns7(n.b,0,c,0,i),n.b=c,n.b[i-1]>=r&&(n.c=!1,n.a=!1),n.b[i++]=r,n.b[i]=a,n.c||ncX(n)}}function nu5(n){var t,e,i,r,a;for(r=new du,t=new Aa((n.a||(n.a=new LE(nNr,n,10,11)),n.a)),i=new Lc(Sb(nc7(n).a.Kc(),new s));ncM(i);)!EM(GA(((e=O2(_$(i),74)).b||(e.b=new CK(nL5,e,4,7)),e.b),0),193)&&(a=nip(O2(GA((e.c||(e.c=new CK(nL5,e,5,8)),e.c),0),84)),t.a._b(a)||dy(r.c,a));return r}function nu8(n,t,e,i,r){var a,c,u;if(n.d&&n.d.Gg(r),nnG(n,e,O2(r.Xb(0),27),!1)||nnG(n,i,O2(r.Xb(r.gc()-1),27),!0)||niY(n,r))return!0;for(u=r.Kc();u.Ob();)for(c=O2(u.Pb(),27),a=t.Kc();a.Ob();)if(noo(n,c,O2(a.Pb(),27)))return!0;return!1}function nu9(n,t,e){var i,r;if(0==(n.a||(n.a=new LE(nL9,n,6,6)),n.a).i)return VT(n);if(i=O2(GA((n.a||(n.a=new LE(nL9,n,6,6)),n.a),0),166),t&&(nfi((i.a||(i.a=new EU(nL3,i,5)),i.a)),G4(i,0),G5(i,0),GZ(i,0),G6(i,0)),e)for(n.a||(n.a=new LE(nL9,n,6,6)),r=n.a;r.i>1;)not(r,r.i-1);return i}function nu7(n,t){var e,i,r,a,c,u,o;for(e=new E1,a=new fU(n.b);a.an.d[c.p]&&(e+=_h(n.b,a),K8(n.a,QR(a)));for(;!pq(n.a);)UR(n.b,O2(LV(n.a),17).a)}return e}function not(n,t){var e,i,r,a;return n.Pj()?(i=null,r=n.Qj(),n.Tj()&&(i=n.Vj(n.$i(t),null)),e=n.Ij(4,a=ntF(n,t),null,t,r),n.Mj()&&null!=a?(i=n.Oj(a,i))?(i.nj(e),i.oj()):n.Jj(e):i?(i.nj(e),i.oj()):n.Jj(e)):(a=ntF(n,t),n.Mj()&&null!=a&&(i=n.Oj(a,null))&&i.oj()),a}function noe(){noe=T,nKc=new yK("COMMENTS",0),nKo=new yK("EXTERNAL_PORTS",1),nKs=new yK("HYPEREDGES",2),nKh=new yK("HYPERNODES",3),nKf=new yK("NON_FREE_PORTS",4),nKl=new yK("NORTH_SOUTH_PORTS",5),nKw=new yK(nmv,6),nKa=new yK("CENTER_LABELS",7),nKu=new yK("END_LABELS",8),nKb=new yK("PARTITIONS",9)}function noi(n,t){var e,i,r;xY(n)&&(r=O2(niB(t,(nl$(),nHJ)),181),jR(ncR(n,nUi))===jR((nia(),nZ3))&&nnb(n,nUi,nZ2),kv(),i=nfZ(new pk(xY(n)),new Sq(xY(n)?new pk(xY(n)):null,n),!1,!0),Xw(r,(Y2(),n1O)),(e=O2(niB(t,nHZ),8)).a=nPH.Math.max(i.a,e.a),e.b=nPH.Math.max(i.b,e.b))}function nor(){nor=T,nRa=new Di(ngu,0,(nf9(),n1i),n1i),nRo=new Di(ngs,1,n1k,n1k),nRr=new Di(ngo,2,n1e,n1e),nRf=new Di(ngh,3,n1M,n1M),nRu=new Di("NORTH_WEST_CORNER",4,n1M,n1i),nRc=new Di("NORTH_EAST_CORNER",5,n1i,n1e),nRh=new Di("SOUTH_WEST_CORNER",6,n1k,n1M),nRs=new Di("SOUTH_EAST_CORNER",7,n1e,n1k)}function noa(){noa=T,nQ8=Vp(x2(n4b,1),nwq,28,14,[1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,87178291200,1307674368e3,{l:3506176,m:794077,h:1},{l:884736,m:916411,h:20},{l:3342336,m:3912489,h:363},{l:589824,m:3034138,h:6914},{l:3407872,m:1962506,h:138294}]),nPH.Math.pow(2,-65)}function noc(){var n,t;for(t=0,noc=T,nC_=B0(nPx,nbj,92,32,0,1),nCB=B0(nPx,nbj,92,32,0,1),n=1;t<=18;t++)nC_[t]=(no0(),QM(n,0)>=0?YV(n):Na(YV(H9(n)))),nCB[t]=jH(Lt(n,t),0)?YV(Lt(n,t)):Na(YV(H9(Lt(n,t)))),n=JU(n,5);for(;t=48;e--)n3G[e]=e-48<<24>>24;for(i=70;i>=65;i--)n3G[i]=i-65+10<<24>>24;for(r=102;r>=97;r--)n3G[r]=r-97+10<<24>>24;for(a=0;a<10;a++)n3q[a]=48+a&nwt;for(n=10;n<=15;n++)n3q[n]=65+n-10&nwt}function nop(n){var t,e,i,r,a;if(!n.c){if(a=new u3,null==(t=n2$).a.zc(n,t)){for(i=new E2(FI(n));i.e!=i.i.gc();)EM(r=nsJ(e=O2(Z9(i),89)),90)&&Nl(a,nop(O2(r,29))),Hi(a,e);t.a.Bc(n),t.a.gc()}(function(n){var t,e,i,r;for(e=O2(n.g,689),i=n.i-1;i>=0;--i)for(r=0,t=e[i];r=n.a||!niu(t,e))return -1;if(K3(O2(i.Kb(t),20)))return 1;for(r=0,c=O2(i.Kb(t),20).Kc();c.Ob();)if(-1==(u=nov(n,(a=O2(c.Pb(),18)).c.i==t?a.d.i:a.c.i,e,i))||(r=nPH.Math.max(r,u))>n.c-1)return -1;return r+1}function nok(n,t){var e,i,r,a,c,u;if(jR(t)===jR(n))return!0;if(!EM(t,15)||(i=O2(t,15),u=n.gc(),i.gc()!=u))return!1;if(c=i.Kc(),n.Yi()){for(e=0;e0){if(n._j(),null!=t){for(a=0;a>24;case 97:case 98:case 99:case 100:case 101:case 102:return n-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return n-65+10<<24>>24;default:throw new p5("Invalid hexadecimal").e}}function noj(){noj=T,nIi=new kY("SPIRAL",0),nO9=new kY("LINE_BY_LINE",1),nO7=new kY("MANHATTAN",2),nO8=new kY("JITTER",3),nIt=new kY("QUADRANTS_LINE_BY_LINE",4),nIe=new kY("QUADRANTS_MANHATTAN",5),nIn=new kY("QUADRANTS_JITTER",6),nO5=new kY("COMBINE_LINE_BY_LINE_MANHATTAN",7),nO6=new kY("COMBINE_JITTER_MANHATTAN",8)}function noT(n,t,e,i){var r,a,c,u,o,h;for(o=ne$(n,e),h=ne$(t,e),r=!1;o&&h;)if(i||function(n,t,e){var i,r,a,c,u;for(a=n.c,u=e?t:n,i=e?n:t,r=u.p+1;r=t.length)throw new pO("Greedy SwitchDecider: Free layer not in graph.").e;this.c=t[n],this.e=new C1(i),Xk(this.e,this.c,(nf9(),n1M)),this.i=new C1(i),Xk(this.i,this.c,n1e),this.f=new Au(this.c),this.a=!a&&r.i&&!r.s&&this.c[0].k==(nrn(),nDm),this.a&&(c=t.length,f=(s=this.d.p).e,l=s.r,this.g=new C1(l),u=(h=this.d.o.c.p)>0?f[h-1]:B0(nAc,npX,10,0,0,1),o=f[h],b=h0&&t0?a.a?e>(u=a.b.Mf().a)&&(r=(e-u)/2,a.d.b=r,a.d.c=r):a.d.c=n.s+e:Ly(n.u)&&((i=niM(a.b)).c<0&&(a.d.b=-i.c),i.c+i.b>a.b.Mf().a&&(a.d.c=i.c+i.b-a.b.Mf().a))}(n,t),r=null,o=null,u){for(o=r=O2((a=c.Kc()).Pb(),117);a.Ob();)o=O2(a.Pb(),117);r.d.b=0,o.d.c=0,h&&!r.a&&(r.d.c=0)}f&&(function(n){var t,e,i,r,a;for(t=0,e=0,a=n.Kc();a.Ob();)i=O2(a.Pb(),117),t=nPH.Math.max(t,i.d.b),e=nPH.Math.max(e,i.d.c);for(r=n.Kc();r.Ob();)(i=O2(r.Pb(),117)).d.b=t,i.d.c=e}(c),u&&(r.d.b=0,o.d.c=0))}function noR(n,t){var e,i,r,a,c,u,o,s,h,f;if(c=O2(O2(_V(n.r,t),21),87),u=n.u.Hc((nak(),nZ7)),e=n.u.Hc(nZ5),i=n.u.Hc(nZ6),o=n.u.Hc(n1n),f=n.B.Hc((nsM(),n1H)),s=!e&&!i&&(o||2==c.gc()),function(n,t){var e,i,r,a,c,u,o;for(u=O2(O2(_V(n.r,t),21),87).Kc();u.Ob();)(i=(c=O2(u.Pb(),117)).c?IL(c.c):0)>0?c.a?i>(o=c.b.Mf().b)&&(n.v||1==c.c.d.c.length?(a=(i-o)/2,c.d.d=a,c.d.a=a):(e=(O2(I6(c.c.d,0),187).Mf().b-o)/2,c.d.d=nPH.Math.max(0,e),c.d.a=i-e-o)):c.d.a=n.t+i:Ly(n.u)&&((r=niM(c.b)).d<0&&(c.d.d=-r.d),r.d+r.a>c.b.Mf().b&&(c.d.a=r.d+r.a-c.b.Mf().b))}(n,t),h=null,r=null,u){for(r=h=O2((a=c.Kc()).Pb(),117);a.Ob();)r=O2(a.Pb(),117);h.d.d=0,r.d.a=0,s&&!h.a&&(h.d.a=0)}f&&(function(n){var t,e,i,r,a;for(e=0,t=0,a=n.Kc();a.Ob();)i=O2(a.Pb(),117),e=nPH.Math.max(e,i.d.d),t=nPH.Math.max(t,i.d.a);for(r=n.Kc();r.Ob();)(i=O2(r.Pb(),117)).d.d=e,i.d.a=t}(c),u&&(h.d.d=0,r.d.a=0))}function noK(n){var t;return(64&n.Db)!=0?nce(n):(t=new Sm(nce(n)),t.a+=" (changeable: ",mL(t,(n.Bb&nbG)!=0),t.a+=", volatile: ",mL(t,(n.Bb&nES)!=0),t.a+=", transient: ",mL(t,(n.Bb&nwG)!=0),t.a+=", defaultValueLiteral: ",jW(t,n.j),t.a+=", unsettable: ",mL(t,(n.Bb&nEE)!=0),t.a+=", derived: ",mL(t,(n.Bb&nbT)!=0),t.a+=")",t.a)}function noF(n,t,e,i){var r,a,c,u,o,s;if(null==e){for(u=0,r=O2(n.g,124);u>>0).toString(16)),_w(),i=nOe?new _d(null):function n(t,e){var i,r,a,c,u;return(i=O2(xp(t.a,e),525))?i:(r=new _d(e),_w(),c=n(t,xu(a=nOe?null:r.c,0,nPH.Math.max(0,Sg(a,niP(46))))),!nOe&&c&&(r.d=c),0==(nOe?null:r.c).length&&(u=new U,nOe||EB(r.a,u)),Ro(t.a,nOe?null:r.c,r),r)}(function(){var n,t,e,i,r;return!nOx&&(nOx=new dW,e=n=new _d(""),vQ(),i=nOD,nOe||(e.b=i),t=nOx,0==((_w(),nOe)?null:n.c).length&&(r=new U,nOe||EB(n.a,r)),Ro(t.a,nOe?null:n.c,n)),nOx}(),"com.google.common.base.Strings"),vQ(),r="Exception during lenientFormat for "+e,(nOn?(function(n){var t,e;if(n.b)return n.b;for(e=nOe?null:n.d;e;){if(t=nOe?null:e.b)return t;e=nOe?null:e.d}vQ()}(i),0):nOt?(vQ(),0):nOr?(vQ(),0):!nOi||(vQ(),1))||((a=new Oa(r)).b=t,function(n,t){var e,i,r,a,c,u,o;for(i=WC(n),a=0,u=i.length;a";throw c.e}}(t[r]);for(e=new p3,c=0,i=0;in.d[u.p]&&(e+=_h(n.b,a),K8(n.a,QR(a)))):++c;for(e+=n.b.d*c;!pq(n.a);)UR(n.b,O2(LV(n.a),17).a)}return e}function noU(n){var t,e,i,r,a,c;return a=0,(t=nes(n)).kk()&&(a|=4),(n.Bb&nEE)!=0&&(a|=2),EM(n,102)?(r=nnF(e=O2(n,19)),(e.Bb&njN)!=0&&(a|=32),r&&(NF(xZ(r)),a|=8,((c=r.t)>1||-1==c)&&(a|=16),(r.Bb&njN)!=0&&(a|=64)),(e.Bb&nwz)!=0&&(a|=nES),a|=nbG):EM(t,469)?a|=512:(i=t.kk())&&(1&i.i)!=0&&(a|=256),(512&n.Bb)!=0&&(a|=128),a}function noG(n){var t,e,i,r,a,c,u;for(u=new dc,i=new fU(n.a.b);i.a=n.o)throw(new gf).e;u=t>>5,c=31&t,a=Lt(1,AZ(Lt(c,1))),r?n.n[e][u]=RG(n.n[e][u],a):n.n[e][u]=RU(n.n[e][u],Ic(a)),a=Lt(a,1),i?n.n[e][u]=RG(n.n[e][u],a):n.n[e][u]=RU(n.n[e][u],Ic(a))}catch(i){if(EM(i=Vr(i),333))throw new pO(ngb+n.o+"*"+n.p+ngw+t+nbn+e+ngd).e;throw i.e}}function noz(n){var t,e,i;return(64&n.Db)!=0?nrc(n):(t=new Sv(njj),(e=n.k)?jY(jY((t.a+=' "',t),e),'"'):(n.n||(n.n=new LE(nNi,n,1,7)),n.n.i>0&&(i=(n.n||(n.n=new LE(nNi,n,1,7)),O2(GA(n.n,0),135)).a)&&jY(jY((t.a+=' "',t),i),'"')),jY(mN(jY(mN(jY(mN(jY(mN((t.a+=" (",t),n.i),","),n.j)," | "),n.g),","),n.f),")"),t.a)}function noV(n){var t,e,i;return(64&n.Db)!=0?nrc(n):(t=new Sv(njT),(e=n.k)?jY(jY((t.a+=' "',t),e),'"'):(n.n||(n.n=new LE(nNi,n,1,7)),n.n.i>0&&(i=(n.n||(n.n=new LE(nNi,n,1,7)),O2(GA(n.n,0),135)).a)&&jY(jY((t.a+=' "',t),i),'"')),jY(mN(jY(mN(jY(mN(jY(mN((t.a+=" (",t),n.i),","),n.j)," | "),n.g),","),n.f),")"),t.a)}function noW(n,t){var e,i,r,a,c,u;if(null==t||0==t.length)return null;if(!(r=O2(xp(n.a,t),143))){for(i=new f$(new fN(n.b).a.vc().Kc());i.a.Ob();)if(a=O2(i.a.Pb(),44),c=(e=O2(a.md(),143)).c,u=t.length,Cq(c.substr(c.length-u,u),t)&&(t.length==c.length||46==$W(c,c.length-t.length-1))){if(r)return null;r=e}r&&Ro(n.a,t,r)}return r}function noQ(n){var t,e,i;!Pn(n,(nl$(),nHU))||(i=O2(niB(n,nHU),21)).dc()||(e=new Oe(t=O2(mP(nLU),9),O2(Cs(t,t.length),9),0),i.Hc((ncK(),nZ_))?Xw(e,nZ_):Xw(e,nZB),i.Hc(nZK)||Xw(e,nZK),i.Hc(nZR)?Xw(e,nZG):i.Hc(nZx)?Xw(e,nZU):i.Hc(nZF)&&Xw(e,nZH),i.Hc(nZG)?Xw(e,nZR):i.Hc(nZU)?Xw(e,nZx):i.Hc(nZH)&&Xw(e,nZF),VF(n,nHU,e))}function noJ(n,t,e,i,r){var a,c,u,o,s,h,f;if(!(EM(t,207)||EM(t,366)||EM(t,193)))throw new pN("Method only works for ElkNode-, ElkLabel and ElkPort-objects.").e;return c=n.a/2,o=t.i+i-c,h=t.j+r-c,s=o+t.g+n.a,f=h+t.f+n.a,ID(a=new gE,new MH(o,h)),ID(a,new MH(o,f)),ID(a,new MH(s,f)),ID(a,new MH(s,h)),zX(u=new ncP(a),t),e&&$S(n.b,t,u),u}function noY(n,t,e){var i,r,a,c,u,o,s,h;for(a=new MH(t,e),s=new fU(n.a);s.a0&&++s;++o}return s}(o.e,h)+u*function(n){var t,e,i,r,a,c,u,o,s,h,f;for(o=0,h=-1,f=0,s=n.length;o0&&++f;++h}return f}(o.e)),f+=ntP(o.d,o.e)+s,r=new fU(o.b);r.a0&&0==e.c&&(t||(t=new du),dy(t.c,e));if(t)for(;0!=t.c.length;){if((e=O2(_Y(t,0),239)).b&&e.b.c.length>0){for(e.b||(e.b=new du),a=new fU(e.b);a.aH7(n,e,0))return new ja(r,e)}else if(pE(Ex(r.g,r.d[0]).a)>pE(Ex(e.g,e.d[0]).a))return new ja(r,e)}for(u=(e.e||(e.e=new du),e.e).Kc();u.Ob();)(c=O2(u.Pb(),239)).b||(c.b=new du),Rx(0,(o=c.b).c.length),yt(o.c,0,e),c.c==o.c.length&&dy(t.c,c)}return null}(a);)(function(n,t,e,i){var r,a,c,u,o,s;for(c=new nfj(n,t,e),o=new Ky(i,0),r=!1;o.bpE(Ex(c.g,c.d[0]).a)?(P$(o.b>0),o.a.Xb(o.c=--o.b),Ca(o,c),r=!0):u.e&&u.e.gc()>0&&(a=(u.e||(u.e=new du),u.e).Mc(t),s=(u.e||(u.e=new du),u.e).Mc(e),(a||s)&&((u.e||(u.e=new du),u.e).Fc(c),++c.c));r||dy(i.c,c)})(n,O2(f.a,239),O2(f.b,239),a);for(t.c.length=0,r=new fU(a);r.a=e)return nrO(n,t,i.p),!0;return!1}(n,e)||dy(r.c,e);return r}(n,t)).c.length)for(Ei(r,new eN),e=r.c.length,i=0;i=s&&(o=i);o&&(h=nPH.Math.max(h,o.a.o.a)),h>l&&(f=s,l=h)}return f}(n,r,i))}(n,t);else for(i=t.Kc();i.Ob();){switch((e=O2(i.Pb(),293)).d.g){case 5:nrO(n,e,function(n,t){var e,i,r;for(e=0,r=(i=function(n,t){var e,i,r,a,c,u,o,s,h,f,l;for(r=2*pE(PI(niB(o=$u(t.a),(nl$(),nUE)))),h=pE(PI(niB(o,nUL))),s=nPH.Math.max(r,h),a=B0(n4d,nwW,28,t.f-t.c+1,15,1),i=-s,e=0,u=t.b.Kc();u.Ob();)c=O2(u.Pb(),10),i+=n.a[c.c.p]+s,a[e++]=i;for(i+=n.a[t.a.c.p]+s,a[e++]=i,l=new fU(t.e);l.a=r)return t.c+e;return t.c+t.b.gc()}(n,e));break;case 0:nrO(n,e,(r=(e.f-e.c+1-1)/2|0,e.c+r));break;case 4:nrO(n,e,function(n,t){var e,i;for(e=(i=t.c)+1;e<=t.f;e++)n.a[e]>n.a[i]&&(i=e);return i}(n,e));break;case 2:YP(e),nrO(n,e,ne4(e)?e.c:e.f);break;case 1:YP(e),nrO(n,e,ne4(e)?e.f:e.c)}!function(n){var t;for(X6(),t=O2(_$(new Lc(Sb(JQ(n).a.Kc(),new s))),18).c.i;t.k==(nrn(),nDk);)VF(t,(nlB(),nK1),(SB(),!0)),t=O2(_$(new Lc(Sb(JQ(t).a.Kc(),new s))),18).c.i}(e.a)}}}function nsp(n,t,e,i){var r,a,c;return c=new vT(t,e),n.a?i?(r=O2($w(O2(NB(n.b,t),260)),260),++r.a,c.d=i.d,c.e=i.e,c.b=i,c.c=i,i.e?i.e.c=c:r.b=c,i.d?i.d.b=c:n.a=c,i.d=c,i.e=c):(O2($w(n.e),511).b=c,c.d=n.e,n.e=c,(r=O2(NB(n.b,t),260))?(++r.a,(a=r.c).c=c,c.e=a,r.c=c):($S(n.b,t,r=new DU(c)),++n.c)):(n.a=n.e=c,$S(n.b,t,new DU(c)),++n.c),++n.d,c}function nsm(n,t){var e,i,r,a;if(t.Ug("Network simplex",1),n.e.a.c.length<1){t.Vg();return}for(r=new fU(n.e.a);r.a=40)&&function(n){var t,e,i,r,a,c,u;for(n.o=new E1,i=new vq,c=new fU(n.e.a);c.a0,u=J9(t,a),e?S$(u.b,t):S$(u.g,t),1==W3(u).c.length&&FG(i,u,i.c.b,i.c),r=new ja(a,t),K8(n.o,r),H6(n.e.a,a))}(n),function(n){var t,e,i,r,a,c,u,o,s,h;for(s=n.e.a.c.length,a=new fU(n.e.a);a.a0){for(pG(n.c);function n(t,e){var i,r,a,c;for(a=1,e.j=!0,c=null,r=new fU(W3(e));r.a0&&ID(n.f,a)):(n.c[c]-=s+1,n.c[c]<=0&&n.a[c]>0&&ID(n.e,a))))}function nsy(n,t,e,i){var r,a,c,u,o,s,h;for(CC(o=new MH(e,i),O2(niB(t,(nf6(),nXm)),8)),h=ZZ(t.b,0);h.b!=h.d.c;)CP((s=O2(K6(h),40)).e,o),ID(n.b,s);for(u=O2(Fq(x0(new As(null,new RF(t.a,16))),Hl(new z,new X,new nt,Vp(x2(nOa,1),nbz,108,0,[(W1(),nOK)]))),15).Kc();u.Ob();){for(a=ZZ((c=O2(u.Pb(),65)).a,0);a.b!=a.d.c;)r=O2(K6(a),8),r.a+=o.a,r.b+=o.b;ID(n.a,c)}}function nsM(){nsM=T,n1x=new M6("DEFAULT_MINIMUM_SIZE",0),n1K=new M6("MINIMUM_SIZE_ACCOUNTS_FOR_PADDING",1),n1D=new M6("COMPUTE_PADDING",2),n1F=new M6("OUTSIDE_NODE_LABELS_OVERHANG",3),n1_=new M6("PORTS_OVERHANG",4),n1H=new M6("UNIFORM_PORT_SPACING",5),n1B=new M6("SPACE_EFFICIENT_PORT_LABELS",6),n1R=new M6("FORCE_TABULAR_NODE_LABELS",7),n1$=new M6("ASYMMETRICAL",8)}function nsj(n,t,e,i){var r,a,c,u,o,s,h,f,l,b;if(function(n,t,e){var i,r,a;for(i=0,r=t[e];i0&&(RK(0,n.length),45==n.charCodeAt(0)||(RK(0,n.length),43==n.charCodeAt(0)))?1:0;ie)throw new p5(nwB+n+'"').e;return u}function nsP(n){switch(n){case 100:return nlV(nSJ,!0);case 68:return nlV(nSJ,!1);case 119:return nlV(nSY,!0);case 87:return nlV(nSY,!1);case 115:return nlV(nSZ,!0);case 83:return nlV(nSZ,!1);case 99:return nlV(nS1,!0);case 67:return nlV(nS1,!1);case 105:return nlV(nS0,!0);case 73:return nlV(nS0,!1);default:throw new ph(nSQ+n.toString(16)).e}}function nsC(n,t,e,i,r){e&&(!i||(n.c-n.b&n.a.length-1)>1)&&1==t&&O2(n.a[n.b],10).k==(nrn(),nDv)?nhE(O2(n.a[n.b],10),(ntz(),nZA)):i&&(!e||(n.c-n.b&n.a.length-1)>1)&&1==t&&O2(n.a[n.c-1&n.a.length-1],10).k==(nrn(),nDv)?nhE(O2(n.a[n.c-1&n.a.length-1],10),(ntz(),nZL)):(n.c-n.b&n.a.length-1)==2?(nhE(O2(V1(n),10),(ntz(),nZA)),nhE(O2(V1(n),10),nZL)):function(n,t){var e,i,r,a,c,u,o,s,h;for(o=SY(n.c-n.b&n.a.length-1),s=null,h=null,a=new $z(n);a.a!=a.b;)r=O2(Qm(a),10),e=(u=O2(niB(r,(nlB(),nK2)),12))?u.i:null,i=(c=O2(niB(r,nK3),12))?c.i:null,(s!=e||h!=i)&&(ncc(o,t),s=e,h=i),dy(o.c,r);ncc(o,t)}(n,r),FC(n)}function nsO(n,t,e,i){var r,a,c,u,o;return c=n.Ph(),o=n.Jh(),r=null,o?t&&(nsr(n,t,e).Bb&nwz)==0?(i=nnp(o.El(),n,i),n.di(null),r=t.Qh()):o=null:(c&&(o=c.Qh()),t&&(r=t.Qh())),o!=r&&o&&o.Il(n),u=n.Fh(),n.Bh(t,e),o!=r&&r&&r.Hl(n),n.vh()&&n.wh()&&(c&&u>=0&&u!=e&&(a=new LS(n,1,u,c,null),i?i.nj(a):i=a),e>=0&&(a=new LS(n,1,e,u==e?c:null,t),i?i.nj(a):i=a)),i}function nsI(n){var t,e,i,r;if(null==n.b){if(i=new p1,null!=n.i&&(jW(i,n.i),i.a+=":"),(256&n.f)!=0){for((256&n.f)!=0&&null!=n.a&&(null!=(r=n.i)&&vK(n0N,r.toLowerCase())||(i.a+="//"),jW(i,n.a)),null!=n.d&&(i.a+="/",jW(i,n.d)),(16&n.f)!=0&&(i.a+="/"),t=0,e=n.j.length;t>>31;0!=i&&(n[e]=i)}(e,e,t<<1),i=0,r=0,c=0;r0){if(r=O2(n.Ab.g,2033),null==t){for(a=0;ae.s&&uc)return nf9(),n1e;break;case 4:case 3:if(h<0)return nf9(),n1i;if(h+e>a)return nf9(),n1k}return(o=(s+u/2)/c)+(i=(h+e/2)/a)<=1&&o-i<=0?(nf9(),n1M):o+i>=1&&o-i>=0?(nf9(),n1e):i<.5?(nf9(),n1i):(nf9(),n1k)}function nsF(n,t,e,i,r,a,c){var u,o,s,h,f;for(f=new TI,o=t.Kc();o.Ob();)for(h=new fU(O2(o.Pb(),853).Rf());h.an.b/2+t.b/2||(r=nPH.Math.abs(n.d+n.a/2-(t.d+t.a/2)))>n.a/2+t.a/2)?1:0==e&&0==r?0:0==e?a/r+1:0==r?i/e+1:nPH.Math.min(i/e,a/r)+1}function nsH(n){var t,e,i,r,a;for(EB(a=new Bd((n.a||(n.a=new EU(nL3,n,5)),n.a).i+2),new MH(n.j,n.k)),vZ(new As(null,(n.a||(n.a=new EU(nL3,n,5)),new RF(n.a,16))),new wl(a)),EB(a,new MH(n.b,n.c)),t=1;t0&&(VA(o,!1,(Jf(),nY7)),VA(o,!0,nZn)),Gm(t.g,new yy(n,e)),$S(n.g,t,e)}function nsq(){var n;for(n=2,nsq=T,nCm=Vp(x2(n4f,1),nwd,28,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),nCv=B0(n4f,nwd,28,37,15,1),nCk=Vp(x2(n4f,1),nwd,28,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),nCy=B0(n4b,nwq,28,37,14,1);n<=36;n++)nCv[n]=xT(nPH.Math.pow(n,nCm[n])),nCy[n]=neL(nbC,nCv[n])}function nsX(n,t){var e,i,r,a;for(r=t.d?n.a.c==(x$(),nqC)?JQ(t.b):JJ(t.b):n.a.c==(x$(),nqP)?JQ(t.b):JJ(t.b),a=!1,i=new Lc(Sb(r.a.Kc(),new s));ncM(i);)if(e=O2(_$(i),18),!(!pT(n.a.f[n.a.g[t.b.p].p])&&!_y(e)&&e.c.i.c==e.d.i.c||pT(n.a.n[n.a.g[t.b.p].p])||pT(n.a.n[n.a.g[t.b.p].p]))&&(a=!0,vF(n.b,n.a.g[function(n,t){if(n.c.i==t)return n.d.i;if(n.d.i==t)return n.c.i;throw new pN("Node "+t+" is neither source nor target of edge "+n).e}(e,t.b).p])))return t.c=!0,t.a=e,t;return t.c=a,t.a=null,t}function nsz(n,t,e){var i,r,a,c,u,o,s;if(0==(i=e.gc()))return!1;if(n.Pj()){if(o=n.Qj(),Yk(n,t,e),c=1==i?n.Ij(3,null,e.Kc().Pb(),t,o):n.Ij(5,null,e,t,o),n.Mj()){for(u=i<100?null:new mw(i),a=t+i,r=t;r0){for(c=0;c>16==-15&&n.Cb.Yh()&&Ur(new Hw(n.Cb,9,13,e,n.c,nny(Uu(O2(n.Cb,62)),n))):EM(n.Cb,90)&&n.Db>>16==-23&&n.Cb.Yh()&&(EM(t=n.c,90)||(nlz(),t=n2M),EM(e,90)||(nlz(),e=n2M),Ur(new Hw(n.Cb,9,10,e,t,nny(FI(O2(n.Cb,29)),n)))))),n.c}function nsY(n,t,e,i){var r,a,c,u,o,s,h,f;if(nuQ(n.e,t)){for(s=0,f=nuR(n.e.Dh(),t),a=O2(n.g,124),h=null,o=-1,u=-1,r=0;snwQ)return n(i);if(r=i,i==t)throw new p$("There is a cycle in the containment hierarchy of "+t).e}return r}(n),167),VF(i,nQ5,jz(c.of(nQ5)))),VF(i,(nlB(),nK8),n),VF(i,nKq,new Oe(t=O2(mP(nAI),9),O2(Cs(t,t.length),9),0)),r=function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k;for(v=f=new nf3(n),k=!(t==(Jf(),nZe)||t==nY9),noO(v,!0),Gm(v.e.Rf(),new Ov(v,!0,k)),h=f.a,l=new gp,GD(),r=Vp(x2(nOv,1),nbz,237,0,[nIa,nIc,nIu]),c=0,o=r.length;c0&&(l.d+=h.n.d,l.d+=h.d),l.a>0&&(l.a+=h.n.a,l.a+=h.d),l.b>0&&(l.b+=h.n.b,l.b+=h.d),l.c>0&&(l.c+=h.n.c,l.c+=h.d),l}((xY(n)&&(kv(),new pk(xY(n))),kv(),new Sq(xY(n)?new pk(xY(n)):null,n)),nZn),a=O2(niB(i,nH2),107),xK(e=i.d,a),xK(e,r),i}function ns0(n,t){var e,i,r,a;return i=nPH.Math.abs(LG(n.b).a-LG(t.b).a),a=nPH.Math.abs(LG(n.b).b-LG(t.b).b),e=1,r=1,i>n.b.b/2+t.b.b/2&&(e=1-nPH.Math.min(nPH.Math.abs(n.b.c-(t.b.c+t.b.b)),nPH.Math.abs(n.b.c+n.b.b-t.b.c))/i),a>n.b.a/2+t.b.a/2&&(r=1-nPH.Math.min(nPH.Math.abs(n.b.d-(t.b.d+t.b.a)),nPH.Math.abs(n.b.d+n.b.a-t.b.d))/a),(1-nPH.Math.min(e,r))*nPH.Math.sqrt(i*i+a*a)}function ns2(n,t){var e,i;if(null!=t){if(i=ntj(n)){if((1&i.i)==0)return kj(),!(e=O2(NB(n0A,i),57))||e.fk(t);if(i==n4l)return jF(t);if(i==n4f)return EM(t,17);if(i==n4g)return EM(t,161);if(i==n4w)return EM(t,222);else if(i==n4h)return EM(t,180);else if(i==n4d)return j_(t);else if(i==n4p)return EM(t,191);else if(i==n4b)return EM(t,168)}else if(EM(t,58))return n.dl(O2(t,58))}return!1}function ns3(){var n,t,e,i,r,a,c,u,o;for(t=0,ns3=T,n3H=B0(n4w,njB,28,255,15,1),n3U=B0(n4h,nb7,28,64,15,1);t<255;t++)n3H[t]=-1;for(e=90;e>=65;e--)n3H[e]=e-65<<24>>24;for(i=122;i>=97;i--)n3H[i]=i-97+26<<24>>24;for(r=57;r>=48;r--)n3H[r]=r-48+52<<24>>24;for(a=0,n3H[43]=62,n3H[47]=63;a<=25;a++)n3U[a]=65+a&nwt;for(c=26,o=0;c<=51;++c,o++)n3U[c]=97+o&nwt;for(n=52,u=0;n<=61;++n,u++)n3U[n]=48+u&nwt;n3U[62]=43,n3U[63]=47}function ns4(n,t){var e,i,r,a,c,u;return(r=XB(n))!=(u=XB(t))?rt.f?1:0:(i=n.e-t.e,(e=(n.d>0?n.d:nPH.Math.floor((n.a-1)*nwJ)+1)-(t.d>0?t.d:nPH.Math.floor((t.a-1)*nwJ)+1))>i+1)?r:e0&&(c=Fw(c,nhM(i))),Zg(a,c))}function ns6(n,t){var e,i,r,a,c,u,o;if(!xA(n))throw new p$(njs).e;if(a=(i=xA(n)).g,r=i.f,a<=0&&r<=0)return nf9(),n1y;switch(u=n.i,o=n.j,t.g){case 2:case 1:if(u<0)return nf9(),n1M;if(u+n.g>a)return nf9(),n1e;break;case 4:case 3:if(o<0)return nf9(),n1i;if(o+n.f>r)return nf9(),n1k}return(c=(u+n.g/2)/a)+(e=(o+n.f/2)/r)<=1&&c-e<=0?(nf9(),n1M):c+e>=1&&c-e>=0?(nf9(),n1e):e<.5?(nf9(),n1i):(nf9(),n1k)}function ns5(n){var t,e,i,r,a;if(nlq(),4!=n.e&&5!=n.e)throw new pN("Token#complementRanges(): must be RANGE: "+n.e).e;for(ncX(n),nh8(n),i=n.b.length+2,0==n.b[0]&&(i-=2),(e=n.b[n.b.length-1])==nSW&&(i-=2),++n4o,(r=new RQ(4)).b=B0(n4f,nwd,28,i,15,1),a=0,n.b[0]>0&&(r.b[a++]=0,r.b[a++]=n.b[0]-1),t=1;t0&&(s=o,h=o.d-r.d,s.d=h,r.c==(Bm(),nqW)&&(f=o,l=o.a-r.d,f.a=l),o.d<=0&&o.i>0&&FG(t,o,t.c.b,t.c));for(a=new fU(n.f);a.a0&&(b=u,w=u.i-r.d,b.i=w,r.c==(Bm(),nqW)&&(d=u,g=u.b-r.d,d.b=g),u.i<=0&&u.d>0&&FG(e,u,e.c.b,e.c))}function ns7(n,t,e,i,r){var a,c,u,o,s,h,f;if(vX(),Ni(n,"src"),Ni(e,"dest"),f=W2(n),o=W2(e),Ir((4&f.i)!=0,"srcType is not an array"),Ir((4&o.i)!=0,"destType is not an array"),h=f.c,c=o.c,Ir((1&h.i)!=0?h==c:(1&c.i)==0,"Array types don't match"),function(n,t,e,i,r){var a,c;if(c=n.length,a=e.length,t<0||i<0||r<0||t+r>c||i+r>a)throw(new dI).e}(n,t,e,i,r),(1&h.i)==0&&f!=o){if(s=qu(n),a=qu(e),jR(n)===jR(e)&&ti;)NH(a,u,s[--t]);else for(u=i+r;ib&&(a&&(j6(M,l),j6(T,QR(s.b-1))),O=e.b,I+=l+t,l=0,h=nPH.Math.max(h,e.b+e.c+C)),G2(u,O),G3(u,I),h=nPH.Math.max(h,O+C+e.c),l=nPH.Math.max(l,f),O+=C+t;if(h=nPH.Math.max(h,i),(P=I+l+e.a)2*a?(h=new G$(f),s=Ap(c)/Ag(c),o=nlg(h,t,new gp,e,i,r,s),CP(Ta(h.e),o),f.c.length=0,a=0,dy(f.c,h),dy(f.c,c),a=Ap(h)*Ag(h)+Ap(c)*Ag(c)):(dy(f.c,c),a+=Ap(c)*Ag(c));return f}(c,t,u.a,u.b,($d(r),i));break;case 1:h=function(n,t,e,i,r){var a,c,u,o,s,h,f,l,b;for(DL(),Ei(n,new uT),c=O0(n),b=new du,l=new du,u=null,o=0;0!=c.b;)a=O2(0==c.b?null:(P$(0!=c.b),Gj(c,c.a.a)),163),!u||Ap(u)*Ag(u)/21&&(o>Ap(u)*Ag(u)/2||0==c.b)&&(f=new G$(l),h=Ap(u)/Ag(u),s=nlg(f,t,new gp,e,i,r,h),CP(Ta(f.e),s),u=f,dy(b.c,f),o=0,l.c.length=0));return Vs(b,l),b}(c,t,u.a,u.b,($d(r),i));break;default:h=function(n,t,e,i,r){var a,c,u,o,s,h,f,l,b;for(u=B0(n4d,nwW,28,n.c.length,15,1),nt0(l=new La(new uE),n),s=0,b=new du;0!=l.b.c.length;)if(c=O2(0==l.b.c.length?null:I6(l.b,0),163),s>1&&Ap(c)*Ag(c)/2>u[0]){for(a=0;au[a];)++a;f=new G$(new RE(b,0,a+1)),h=Ap(c)/Ag(c),o=nlg(f,t,new gp,e,i,r,h),CP(Ta(f.e),o),Ii(niO(l,f),nw0),nt0(l,new RE(b,a+1,b.c.length)),b.c.length=0,s=0,Ax(u,u.length,0)}else null!=(0==l.b.c.length?null:I6(l.b,0))&&Xm(l,0),s>0&&(u[s]=u[s-1]),u[s]+=Ap(c)*Ag(c),++s,dy(b.c,c);return b}(c,t,u.a,u.b,($d(r),i))}nln(n,(s=nlg(new G$(h),t,e,u.a,u.b,i,($d(r),r))).a,s.b,!1,!0)}(n,s,r,e),t.Vg()}function nht(n,t){var e,i,r,a,c,u,o,s;for(e=RegExp(t,"g"),o=B0(nP$,nbj,2,0,6,1),i=0,s=n,a=null;;){if(null==(u=e.exec(s))||""==s){o[i]=s;break}c=u.index,o[i]=(B5(0,c,s.length),s.substr(0,c)),s=xu(s,c+u[0].length,s.length),e.lastIndex=0,a==s&&(o[i]=(B5(0,1,s.length),s.substr(0,1)),RK(1,s.length+1),s=s.substr(1)),a=s,++i}if(n.length>0){for(r=o.length;r>0&&""==o[r-1];)--r;r0&&(f-=i[0]+n.c,i[0]+=n.c),i[2]>0&&(f-=i[2]+n.c),i[1]=nPH.Math.max(i[1],f),A$(n.a[1],e.c+t.b+i[0]-(i[1]-f)/2,i[1]);for(a=n.a,u=0,s=a.length;u0?(n.n.c.length-1)*n.i:0,e=new fU(n.n);e.a1)for(i=ZZ(r,0);i.b!=i.d.c;)for(e=O2(K6(i),235),a=0,u=new fU(e.e);u.a0&&(t[0]+=n.c,f-=t[0]),t[2]>0&&(f-=t[2]+n.c),t[1]=nPH.Math.max(t[1],f),AD(n.a[1],i.d+e.d+t[0]-(t[1]-f)/2,t[1]);else for(w=i.d+e.d,b=i.a-e.d-e.a,c=n.a,o=0,h=c.length;o=0&&a!=e)throw new pN(nTp).e;for(o=0,r=0;o>>0).toString(16),t.length-2,t.length):n>=nwz?"\\v"+xu(t="0"+(n>>>0).toString(16),t.length-6,t.length):""+String.fromCharCode(n&nwt)}return e}function nhd(n){var t,e,i;if(T$(O2(niB(n,(nl$(),nUi)),101)))for(e=new fU(n.j);e.a0&&(u=c/60|0,o=c%60,i=n.q.getDate(),n.q.getHours()+u>=24&&++i,r=new nPH.Date(n.q.getFullYear(),n.q.getMonth(),i,t+u,n.q.getMinutes()+o,n.q.getSeconds(),n.q.getMilliseconds()),n.q.setTime(r.getTime()))),a=n.q.getTime(),n.q.setTime(a+36e5),n.q.getHours()!=t&&n.q.setTime(a)}function nhk(n){var t,e,i,r,a;if(!n.d){if(a=new u8,null==(t=n2$).a.zc(n,t)){for(e=new E2(xi(n));e.e!=e.i.gc();)Nl(a,nhk(O2(Z9(e),29)));t.a.Bc(n),t.a.gc()}for(r=a.i,n.q||(n.q=new LE(n04,n,11,10)),i=new E2(n.q);i.e!=i.i.gc();++r)O2(Z9(i),411);Nl(a,(n.q||(n.q=new LE(n04,n,11,10)),n.q)),Wz(a),n.d=new To((O2(GA(DK((NR(),n2o).o),9),19),a.i),a.g),n.e=O2(a.g,688),null==n.e&&(n.e=n2D),_j(n).b&=-17}return n.d}function nhy(n,t,e,i){var r,a,c,u,o,s;if(s=nuR(n.e.Dh(),t),o=0,r=O2(n.g,124),kP(),O2(t,69).xk()){for(c=0;c1e6)throw new pC("power of ten too big").e;if(n<=nl5)return _x(naX(nC_[1],t),t);for(r=i=naX(nC_[1],nl5),e=zH(n-nl5),t=xT(n%nl5);QM(e,nl5)>0;)r=Fw(r,i),e=JG(e,nl5);for(r=_x(r=Fw(r,naX(nC_[1],t)),nl5),e=zH(n-nl5);QM(e,nl5)>0;)r=_x(r,nl5),e=JG(e,nl5);return _x(r,t)}function nhj(n){var t,e,i,r,a,c,u,o;for(c=new fU(n.a);c.as&&i>s)h=u,s=pE(t.p[u.p])+pE(t.d[u.p])+u.o.b+u.d.a;else{r=!1,e._g()&&e.bh("bk node placement breaks on "+u+" which should have been after "+h);break}if(!r)break}return e._g()&&e.bh(t+" is feasible: "+r),r}function nhP(n,t,e,i){var r,a,c,u,o,s,h,f,l;if(f=a=new nnU(n),nrn(),l=nDM,f.k=l,VF(a,(nl$(),nUi),(nia(),nZZ)),r=0,t){for(VF(c=new nrh,(nlB(),nK8),t),VF(a,nK8,t.i),naf(c,(nf9(),n1M)),Rf(c,a),s=0,h=(o=KT(t.e)).length;s=u.a?a.b>=u.b?(i.a=u.a+(a.a-u.a)/2+r,i.b=u.b+(a.b-u.b)/2-r-n.e.b):(i.a=u.a+(a.a-u.a)/2+r,i.b=a.b+(u.b-a.b)/2+r):a.b>=u.b?(i.a=a.a+(u.a-a.a)/2+r,i.b=u.b+(a.b-u.b)/2+r):(i.a=a.a+(u.a-a.a)/2+r,i.b=a.b+(u.b-a.b)/2-r-n.e.b))}function nhO(n){var t,e,i,r,a,c;if(!n.f){if(c=new u6,a=new u6,null==(t=n2$).a.zc(n,t)){for(r=new E2(xi(n));r.e!=r.i.gc();)Nl(c,nhO(O2(Z9(r),29)));t.a.Bc(n),t.a.gc()}for(n.s||(n.s=new LE(n0Q,n,21,17)),i=new E2(n.s);i.e!=i.i.gc();)EM(e=O2(Z9(i),179),102)&&Hi(a,O2(e,19));Wz(a),n.r=new IS(n,(O2(GA(DK((NR(),n2o).o),6),19),a.i),a.g),Nl(c,n.r),Wz(c),n.f=new To((O2(GA(DK(n2o.o),5),19),c.i),c.g),_j(n).b&=-3}return n.f}function nhI(n){var t,e;kd(n,new nid(((((t=new c5).c=ng$,t).d="ELK DisCo",t).b="Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out.",e=new n3,t.e=e,t))),KI(n,ng$,ngD,Z8(nNU)),KI(n,ng$,ngx,Z8(nNR)),KI(n,ng$,ngR,Z8(nNL)),KI(n,ng$,ngK,Z8(nNK)),KI(n,ng$,ndq,Z8(nNB)),KI(n,ng$,ndX,Z8(nN_)),KI(n,ng$,ndG,Z8(nNH)),KI(n,ng$,ndz,Z8(nNF)),KI(n,ng$,ngO,Z8(nN$)),KI(n,ng$,ngI,Z8(nNN)),KI(n,ng$,ngA,Z8(nND)),KI(n,ng$,ngL,Z8(nNx))}function nhA(){nhA=T,n0w=Vp(x2(n4h,1),nb7,28,15,[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70]),n0d=RegExp("[ \n\r\f]+");try{n0b=Vp(x2(n2n,1),nbe,2114,0,[new w2((Tr(),YB("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ",Ci((pp(),pp(),nP7))))),new w2(YB("yyyy-MM-dd'T'HH:mm:ss'.'SSS",Ci(nP7))),new w2(YB("yyyy-MM-dd'T'HH:mm:ss",Ci(nP7))),new w2(YB("yyyy-MM-dd'T'HH:mm",Ci(nP7))),new w2(YB("yyyy-MM-dd",Ci(nP7)))])}catch(n){if(!EM(n=Vr(n),82))throw n.e}}function nhL(n,t){var e,i,r;if(i=0!=nun(n.d,1),0==nr2(n,t)&&pT(PO(niB(t.j,(nlB(),nKG)))))return 0;(pT(PO(niB(t.j,(nlB(),nKG))))||pT(PO(niB(t.j,nFf))))&&jR(niB(t.j,(nl$(),nBY)))!==jR((Zf(),nGI))?i=pT(PO(niB(t.j,nKG))):t.c.mg(t.e,i),nuI(n,t,i,!0),pT(PO(niB(t.j,nFf)))&&VF(t.j,nFf,(SB(),!1)),pT(PO(niB(t.j,nKG)))&&(VF(t.j,nKG,(SB(),!1)),VF(t.j,nFf,!0)),e=nr2(n,t);do{if(XA(n),0==e)return 0;i=!i,r=e,nuI(n,t,i,!1),e=nr2(n,t)}while(r>e);return r}function nhN(n,t,e,i){var r,a,c,u,o,s,h,f,l;return(s=(o=CC(new MH(e.a,e.b),n)).a*t.b-o.b*t.a,h=t.a*i.b-t.b*i.a,f=(o.a*i.b-o.b*i.a)/h,l=s/h,0!=h)?f>=0&&f<=1&&l>=0&&l<=1?CP(new MH(n.a,n.b),E_(new MH(t.a,t.b),f)):null:0!=s?null:(a=Ho(n,r=CP(new MH(e.a,e.b),E_(new MH(i.a,i.b),.5))),c=Ho(CP(new MH(n.a,n.b),t),r),u=.5*nPH.Math.sqrt(i.a*i.a+i.b*i.b),a0?n.i:0)>t&&o>0&&(a=0,c+=o+n.i,r=nPH.Math.max(r,l),i+=o+n.i,o=0,l=0,e&&(++f,EB(n.n,new xC(n.s,c,n.i))),u=0),l+=s.g+(u>0?n.i:0),o=nPH.Math.max(o,s.f),e&&nn5(O2(I6(n.n,f),209),s),a+=s.g+(u>0?n.i:0),++u;return r=nPH.Math.max(r,l),i+=o,e&&(n.r=r,n.d=i,ntN(n.j)),new $9(n.s,n.t,r,i)}function nhD(n){var t,e,i,r,a,c,u,o,s,h,f;for(n.b=!1,h=nwH,u=nwU,f=nwH,o=nwU,e=n.e.a.ec().Kc();e.Ob();)for(i=(t=O2(e.Pb(),272)).a,h=nPH.Math.min(h,i.c),u=nPH.Math.max(u,i.c+i.b),f=nPH.Math.min(f,i.d),o=nPH.Math.max(o,i.d+i.a),a=new fU(t.c);a.au?1:-1:WA(n.a,t.a,a)))f=-o,h=c==o?_Q(t.a,u,n.a,a):B1(t.a,u,n.a,a);else if(f=c,c==o){if(0==r)return no0(),nCR;h=_Q(n.a,a,t.a,u)}else h=B1(n.a,a,t.a,u);return KS(s=new L3(f,h.length,h)),s}function nhU(n,t){var e,i,r,a,c,u,o,s;if(null==n)return null;if(0==(a=n.length))return"";for(o=B0(n4h,nb7,28,a,15,1),B5(0,a,n.length),B5(0,a,o.length),No(n,0,a,o,0),e=null,u=t,r=0,c=0;r0?xu(e.a,0,a-1):"":(B5(0,a-1,n.length),n.substr(0,a-1)):e?e.a:n}function nhG(n,t){var e,i,r,a,c;if(c=O2(t,138),ncX(n),ncX(c),null!=c.b){if(n.c=!0,null==n.b){n.b=B0(n4f,nwd,28,c.b.length,15,1),ns7(c.b,0,n.b,0,c.b.length);return}for(e=0,a=B0(n4f,nwd,28,n.b.length+c.b.length,15,1),i=0,r=0;e=n.b.length?(a[r++]=c.b[i++],a[r++]=c.b[i++]):i>=c.b.length?(a[r++]=n.b[e++],a[r++]=n.b[e++]):c.b[i]0?n.i:0)),++t;for(JO(n.n,o),n.d=e,n.r=i,n.g=0,n.f=0,n.e=0,n.o=nwH,n.p=nwH,a=new fU(n.b);a.a0&&(r=(n.n||(n.n=new LE(nNi,n,1,7)),O2(GA(n.n,0),135)).a)&&jY(jY((t.a+=' "',t),r),'"')),n.b||(n.b=new CK(nL5,n,4,7)),(e=!(n.b.i<=1&&(n.c||(n.c=new CK(nL5,n,5,8)),n.c.i<=1)))?t.a+=" [":t.a+=" ",jY(t,E6(new pW,new E2(n.b))),e&&(t.a+="]"),t.a+=npH,e&&(t.a+="["),jY(t,E6(new pW,new E2(n.c))),e&&(t.a+="]"),t.a)}function nhz(n,t,e){var i,r,a,c,u,o,s;return nPH.Math.abs(t.s-t.c)s?new RC((Bm(),nqQ),e,t,o-s):o>0&&s>0&&(new RC((Bm(),nqQ),t,e,0),new RC(nqQ,e,t,0))),a)}function nhV(n,t,e,i){var r,a,c,u,o,s;if(a=JA(i),(pT(PO(niB(i,(nl$(),nH_))))||pT(PO(niB(n,nHT))))&&!T$(O2(niB(n,nUi),101)))r=Yo(a),u=ns$(n,e,e==(qj(),nGK)?r:Jp(r));else switch(Rf(u=new nrh,n),t?((s=u.n).a=t.a-n.n.a,s.b=t.b-n.n.b,nrk(s,0,0,n.o.a,n.o.b),naf(u,nsK(u,a))):(r=Yo(a),naf(u,e==(qj(),nGK)?r:Jp(r))),c=O2(niB(i,(nlB(),nKq)),21),o=u.j,a.g){case 2:case 1:(o==(nf9(),n1i)||o==n1k)&&c.Fc((noe(),nKl));break;case 4:case 3:(o==(nf9(),n1e)||o==n1M)&&c.Fc((noe(),nKl))}return u}function nhW(n,t){var e,i,r,a,c;for(c=new zE(new fP(n.f.b).a);c.b;){if(r=O2((a=Xf(c)).ld(),602),1==t){if(r.Af()!=(Jf(),nZe)&&r.Af()!=nY9)continue}else if(r.Af()!=(Jf(),nY7)&&r.Af()!=nZn)continue;switch(i=O2(O2(a.md(),42).b,86),e=O2(O2(a.md(),42).a,194).c,r.Af().g){case 2:i.g.c=n.e.a,i.g.b=nPH.Math.max(1,i.g.b+e);break;case 1:i.g.c=i.g.c+e,i.g.b=nPH.Math.max(1,i.g.b-e);break;case 4:i.g.d=n.e.b,i.g.a=nPH.Math.max(1,i.g.a+e);break;case 3:i.g.d=i.g.d+e,i.g.a=nPH.Math.max(1,i.g.a-e)}}}function nhQ(n){var t,e;kd(n,new nid(((((t=new c5).c=nMo,t).d="ELK SPOrE Compaction",t).b="ShrinkTree is a compaction algorithm that maintains the topology of a layout. The relocation of diagram elements is based on contracting a spanning tree.",e=new cq,t.e=e,t))),KI(n,nMo,nMs,Z8(nQf)),KI(n,nMo,nMh,Z8(nQo)),KI(n,nMo,nMf,Z8(nQu)),KI(n,nMo,nMl,Z8(nQa)),KI(n,nMo,nMb,Z8(nQc)),KI(n,nMo,ngK,nQr),KI(n,nMo,ng8,8),KI(n,nMo,nMw,Z8(nQh)),KI(n,nMo,nMd,Z8(nQn)),KI(n,nMo,nMg,Z8(nQt)),KI(n,nMo,nka,(SB(),!1))}function nhJ(n,t,e){var i,r,a,c,u,o,s,h;if(i=n.a.o==(xD(),nqA)?nwH:nwU,!(u=nsX(n,new Mc(t,e))).a&&u.c)ID(n.d,u);else if(u.a)return r=u.a.c,o=u.a.d,e?(s=n.a.c==(x$(),nqC)?o:r,a=n.a.c==nqC?r:o,c=n.a.g[a.i.p],h=pE(n.a.p[c.p])+pE(n.a.d[a.i.p])+a.n.b+a.a.b-pE(n.a.d[s.i.p])-s.n.b-s.a.b):(s=n.a.c==(x$(),nqP)?o:r,a=n.a.c==nqP?r:o,h=pE(n.a.p[n.a.g[a.i.p].p])+pE(n.a.d[a.i.p])+a.n.b+a.a.b-pE(n.a.d[s.i.p])-s.n.b-s.a.b),n.a.n[n.a.g[r.i.p].p]=(SB(),!0),n.a.n[n.a.g[o.i.p].p]=!0,h;return i}function nhY(n,t,e){var i,r,a,c,u,o,s;if(nuQ(n.e,t))kP(),na7((u=O2(t,69).xk()?new Iq(t,n):new jL(t,n)).c,u.b),Ey(u,O2(e,16));else{for(a=0,s=nuR(n.e.Dh(),t),i=O2(n.g,124);an.o.b||(e=Jq(n,n1e),t.d+t.a+(e.gc()-1)*r>n.o.b)))}function nh0(n,t){var e,i,r,a,c,u,o,s,h,f;if(h=null,n.d&&(h=O2(xp(n.d,t),142)),!h){if(f=(a=n.a.vi()).i,!n.d||v_(n.d)!=f){for(o=new dc,n.d&&ze(o,n.d),u=s=o.f.c+o.i.c;u=t.j?(++t.j,EB(t.b,QR(1)),EB(t.c,f)):(r=t.d[e.p][1],_f(t.b,h,QR(O2(I6(t.b,h),17).a+1-r)),_f(t.c,h,pE(PI(I6(t.c,h)))+f-r*t.f)),(t.r==(nse(),nGy)&&(O2(I6(t.b,h),17).a>t.k||O2(I6(t.b,h-1),17).a>t.k)||t.r==nGT&&(pE(PI(I6(t.c,h)))>t.n||pE(PI(I6(t.c,h-1)))>t.n))&&(o=!1),c=new Lc(Sb(JQ(e).a.Kc(),new s));ncM(c);)u=O2(_$(c),18).c.i,t.g[u.p]==h&&(a+=O2((l=n(t,u)).a,17).a,o=o&&pT(PO(l.b)));return t.g[e.p]=h,new ja(QR(a+=t.d[e.p][0]),(SB(),!!o))}(n,O2(Rz(h),10)),e=!0,(n.r==(nse(),nGy)||n.r==nGT)&&(e=pT(PO(l.b))),O2(l.a,17).a<0&&e?(++b,o=xv(n.g,n.g.length),n.e=n.e+O2(l.a,17).a,w+=a-n.e,a=n.e+O2(l.a,17).a,c=n.j,i=RB(n.b),r=RB(n.c)):(n.g=xv(o,o.length),n.e=a,n.b=(NA(i),i?new Ot(i):OZ(new fU(i))),n.c=(NA(r),r?new Ot(r):OZ(new fU(r))),n.j=c);++u,f=0!=b&&pT(PO(t.Kb(new ja(QR(w),QR(u)))))}while(f)}function nh6(n,t){var e,i,r,a,c,u,o,s,h,f,l;if((u=t.ah())||t.Ug(ngW,1),c=1/(e=O2(niB(n,(nlB(),nFu)),15)).gc(),t._g())for(t.bh("ELK Layered uses the following "+e.gc()+" modules:"),l=0,f=e.Kc();f.Ob();)s=O2(f.Pb(),47),i=(l<10?"0":"")+l++,t.bh(" Slot "+i+": "+mI(W2(s)));for(h=e.Kc();h.Ob();){if(s=O2(h.Pb(),47),t.$g())return;s.Kf(n,t.eh(c))}for(a=new fU(n.b);a.at||pT(PO(ncR(u,(nof(),nWf)))))&&(r=0,a+=s.b+e,dy(h.c,s),i=new Ww(0,(s=new R6(a,e)).f,s,e),qO(s,i),r=0),0==i.b.c.length||!pT(PO(ncR(xY(u),(nof(),nWv))))&&(u.f>=i.o&&u.f<=i.f||.5*i.a<=u.f&&1.5*i.a>=u.f)?J3(i,u):(c=new Ww(i.s+i.r+e,s.f,s,e),qO(s,c),J3(c,u)),r=u.i+u.g;return dy(h.c,s),h}function nh8(n){var t,e,i,r;if(null!=n.b&&!(n.b.length<=2)&&!n.a){for(t=0,r=0;r=n.b[r+1])r+=2;else if(eQM(n,0))&&(n=H9(n)),0==QM(n,0))switch(t){case 0:return"0";case 1:return nwZ;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return f=new p2,t<0?f.a+="0E+":f.a+="0E",f.a+=t==nb1?"2147483648":""+-t,f.a}s=B0(n4h,nb7,28,19,15,1),e=18,b=n;do o=b,b=neL(b,10),s[--e]=AZ(JH(48,JG(o,JU(b,10))))&nwt;while(0!=QM(b,0));if(i=JG(JG(JG(18,e),t),1),0==t)return u&&(s[--e]=45),Zo(s,e,18-e);if(t>0&&QM(i,-6)>=0){if(QM(i,0)>=0){for(r=e+AZ(i),c=17;c>=r;c--)s[c+1]=s[c];return s[++r]=46,u&&(s[--e]=45),Zo(s,e,18-e+1)}for(a=2;0>QM(a,JH(H9(i),1));a++)s[--e]=48;return s[--e]=46,s[--e]=48,u&&(s[--e]=45),Zo(s,e,18-e)}return l=e+1,h=new p3,u&&(h.a+="-"),18-l>=1?(N0(h,s[e]),h.a+=".",h.a+=Zo(s,e+1,18-e-1)):h.a+=Zo(s,e,18-e),h.a+="E",QM(i,0)>0&&(h.a+="+"),h.a+=""+LM(i),h.a}(zH(n.f),xT(n.e)),n.g):(r=nlO((n.c||(n.c=RM(zH(n.f))),n.c),0),0==n.e)?r:(t=(n.c||(n.c=RM(zH(n.f))),n.c).e<0?2:1,e=r.length,i=-n.e+e-t,a=new p2,a.a+=""+r,n.e>0&&i>=-6?i>=0?SL(a,e-xT(n.e),"."):(zC(a,t-1,t-1,"0."),SL(a,t+1,Zo(nCE,0,-xT(i)-1))):(e-t>=1&&(SL(a,t,"."),++e),SL(a,e,"E"),i>0&&SL(a,++e,"+"),SL(a,++e,""+LM(zH(i)))),n.g=a.a,n.g)}function nfn(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w;for(w=new dc,a=n.a.ec().Kc();a.Ob();)$S(w,i=O2(a.Pb(),177),e.af(i));for(NA(n),Ei(c=n?new Ot(n):OZ(n.a.ec().Kc()),new ll(w)),u=Fz(c),o=new Ew(t),nr5((b=new dc).f,t,o);0!=u.a.gc();){for(s=null,h=null,f=null,r=u.a.ec().Kc();r.Ob();)if(i=O2(r.Pb(),177),pE(PI(jx(AO(w.f,i))))<=nwH){if(LB(b,i.a)&&!LB(b,i.b)){h=i.b,f=i.a,s=i;break}if(LB(b,i.b)&&!LB(b,i.a)){h=i.a,f=i.b,s=i;break}}if(!s)break;l=new Ew(h),EB(O2(jx(AO(b.f,f)),225).a,l),nr5(b.f,h,l),u.a.Bc(s)}return o}function nft(n,t){var e,i,r,a,c,u,o,s;if(t){if(n.a||(n.a=new dJ),2==n.e){EB(n.a.a,t);return}if(1==t.e){for(r=0;r=nwz?jW(e,JB(i)):N1(e,i&nwt),++n4o,a=new xw(10,null,0),u=n.a,o=a,Lw(s=c-1,u.a.c.length),_f(u.a,s,o)):(a.Mm().length,jW(e=new p0,a.Mm())),0==t.e?(i=t.Km())>=nwz?jW(e,JB(i)):N1(e,i&nwt):jW(e,t.Mm()),O2(a,530).b=e.a}}function nfe(n){var t,e,i,r,a,c;for(Gm(n.a,new nJ),e=new fU(n.a);e.a=nPH.Math.abs(i.b)?(i.b=0,a.d+a.a>c.d&&a.dc.c&&a.c=JX(t.b.c,a.b.c+a.b.b)&&0>=JX(a.b.c,t.b.c+t.b.b)&&0>=JX(t.b.d,a.b.d+a.b.a)&&0>=JX(a.b.d,t.b.d+t.b.a)){if(0==JX(a.b.c,t.b.c+t.b.b)&&r.a<0||0==JX(a.b.c+a.b.b,t.b.c)&&r.a>0||0==JX(a.b.d,t.b.d+t.b.a)&&r.b<0||0==JX(a.b.d+a.b.a,t.b.d)&&r.b>0){o=0;break}}else o=nPH.Math.min(o,nah(t,a,r));o=nPH.Math.min(o,n(t,c,o,r))}return o}(O2(t.b,68),e,i,r)),c=new fU(t.a);c.a0){if(t=new jN(n.i,n.g),a=(e=n.i)<100?null:new mw(e),n.Tj())for(i=0;i0){for(u=n.g,s=n.i,_G(n),a=s<100?null:new mw(s),i=0;i4){if(!n.fk(t))return!1;if(n.al()){if(u=(e=(i=O2(t,54)).Eh())==n.e&&(n.ml()?i.yh(i.Fh(),n.il())==n.jl():-1-i.Fh()==n.Lj()),n.nl()&&!u&&!e&&i.Jh()){for(r=0;r0){if(t=new za(n.pj()),a=(e=h)<100?null:new mw(e),PZ(n,e,t.g),r=1==e?n.Ij(4,GA(t,0),null,0,o):n.Ij(6,t,null,-1,o),n.Mj()){for(i=new E2(t);i.e!=i.i.gc();)a=n.Oj(Z9(i),a);a?(a.nj(r),a.oj()):n.Jj(r)}else a?(a.nj(r),a.oj()):n.Jj(r)}else PZ(n,n.Ej(),n.Fj()),n.Jj(n.Ij(6,(DL(),nCH),null,-1,o))}else if(n.Mj()){if((h=n.Ej())>0){for(u=n.Fj(),s=h,PZ(n,h,u),a=s<100?null:new mw(s),i=0;i.5?g-=2*a*(b-.5):b<.5&&(g+=2*r*(.5-b)),g<(i=c.d.b)&&(g=i),w=c.d.c,g>d.a-w-s&&(g=d.a-w-s),c.n.a=t+g}}function nfh(n,t){var e,i,r,a,c,u,o,s,h,f,l;if(n.e&&n.c.c>19!=0&&(t=VD(t),o=!o),c=((l=(h=t).l)&l-1)!=0||((b=h.m)&b-1)!=0||((f=h.h)&f-1)!=0||0==f&&0==b&&0==l?-1:0==f&&0==b&&0!=l?q$(l):0==f&&0!=b&&0==l?q$(b)+22:0!=f&&0==b&&0==l?q$(f)+44:-1,a=!1,r=!1,i=!1,n.h==nwN&&0==n.m&&0==n.l){if(r=!0,a=!0,-1!=c)return u=ncS(n,c),o&&Wt(u),e&&(nCr=Es(0,0,0)),u;n=Tg((UP(),nCa)),i=!0,o=!o}else n.h>>19!=0&&(a=!0,n=VD(n),i=!0,o=!o);return -1!=c?(w=n,d=o,g=a,p=ncS(w,c),d&&Wt(p),e&&(m=w,c<=22?(v=m.l&(1<nef(n,t)?(e&&(nCr=a?VD(n):Es(n.l,n.m,n.h)),Es(0,0,0)):function(n,t,e,i,r,a){var c,u,o,s,h,f,l,b,w;for(o=V0(t)-V0(n),c=nrt(t,o),u=Es(0,0,0);o>=0&&((w=n.h-c.h)<0||(l=n.l-c.l,(w+=(b=n.m-c.m+(l>>22))>>22)<0||(n.l=l&nwA,n.m=b&nwA,n.h=w&nwL,0))||(o<22?u.l|=1<>>1,c.m=s>>>1|(1&h)<<21,c.l=f>>>1|(1&s)<<21,--o;return e&&Wt(u),a&&(i?(nCr=VD(n),r&&(nCr=Vi(nCr,(UP(),nCu)))):nCr=Es(n.l,n.m,n.h)),u}(i?n:Es(n.l,n.m,n.h),t,o,a,r,e)}function nfl(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w;if(c=n.e,o=t.e,0==c)return t;if(0==o)return n;if((a=n.d)+(u=t.d)==2)return(e=RU(n.a[0],nwY),i=RU(t.a[0],nwY),c==o)?(w=AZ(h=JH(e,i)),0==(b=AZ(Li(h,32)))?new F$(c,w):new L3(c,2,Vp(x2(n4f,1),nwd,28,15,[w,b]))):(no0(),jH(c<0?JG(i,e):JG(e,i),0)?YV(c<0?JG(i,e):JG(e,i)):Na(YV(H9(c<0?JG(i,e):JG(e,i)))));if(c==o)l=c,f=a>=u?B1(n.a,a,t.a,u):B1(t.a,u,n.a,a);else{if(0==(r=a!=u?a>u?1:-1:WA(n.a,t.a,a)))return no0(),nCR;1==r?(l=c,f=_Q(n.a,a,t.a,u)):(l=o,f=_Q(t.a,u,n.a,a))}return KS(s=new L3(l,f.length,f)),s}function nfb(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m;if(Yy(t,e)>=0)return e;switch($p(Us(n,e))){case 2:if(Cq("",QQ(n,e.qk()).xe())){if(o=$U(Us(n,e)),u=$H(Us(n,e)),h=ncB(n,t,o,u))return h;for(c=0,f=(r=nsu(n,t)).gc();c0;){for(RR(0,u.c.length),b=O2(u.c[0],18),RR(0,f.c.length),r=H7((i=O2(f.c[0],18)).d.e,i,0),p=i.d,b.d&&H6(b.d.e,b),b.d=p,b.d&&AN(b.d.e,r,b),Rs(i,null),Rl(i,null),l=b.a,t&&ID(l,new TP(g)),e=ZZ(i.a,0);e.b!=e.d.c;)ID(l,new TP(O2(K6(e),8)));for(d=b.b,h=new fU(i.b);h.a-2;default:return!1}switch(t=n.Rj(),n.p){case 0:return null!=t&&pT(PO(t))!=jU(n.k,0);case 1:return null!=t&&O2(t,222).a!=AZ(n.k)<<24>>24;case 2:return null!=t&&O2(t,180).a!=(AZ(n.k)&nwt);case 6:return null!=t&&jU(O2(t,168).a,n.k);case 5:return null!=t&&O2(t,17).a!=AZ(n.k);case 7:return null!=t&&O2(t,191).a!=AZ(n.k)<<16>>16;case 3:return null!=t&&pE(PI(t))!=n.j;case 4:return null!=t&&O2(t,161).a!=n.j;default:return null==t?null!=n.n:!Q0(t,n.n)}}function nfv(n,t,e){var i,r,a,c;return n.ol()&&n.nl()&&jR(c=LH(n,O2(e,58)))!==jR(e)?(n.xj(t),n.Dj(t,HT(n,t,c)),n.al()&&(r=O2(e,54),a=n.ml()?n.kl()?r.Th(n.b,nnF(O2(Gr(xa(n.b),n.Lj()),19)).n,O2(Gr(xa(n.b),n.Lj()).Hk(),29).kk(),null):r.Th(n.b,Yy(r.Dh(),nnF(O2(Gr(xa(n.b),n.Lj()),19))),null,null):r.Th(n.b,-1-n.Lj(),null,null),O2(c,54).Ph()||(i=O2(c,54),a=n.ml()?n.kl()?i.Rh(n.b,nnF(O2(Gr(xa(n.b),n.Lj()),19)).n,O2(Gr(xa(n.b),n.Lj()).Hk(),29).kk(),a):i.Rh(n.b,Yy(i.Dh(),nnF(O2(Gr(xa(n.b),n.Lj()),19))),null,a):i.Rh(n.b,-1-n.Lj(),null,a)),a&&a.oj()),TN(n.b)&&n.Jj(n.Ij(9,e,c,t,!1)),c):e}function nfk(n){var t,e,i,r,a,c,u,o,s,h;for(i=new du,c=new fU(n.e.a);c.a0&&(c=nPH.Math.max(c,XU(n.C.b+i.d.b,r))),h=i,f=r,l=a;n.C&&n.C.c>0&&(b=l+n.C.c,s&&(b+=h.d.c),c=nPH.Math.max(c,(T6(),qE(nd7),nPH.Math.abs(f-1)<=nd7||1==f||isNaN(f)&&isNaN(1)?0:b/(1-f)))),e.n.b=0,e.a.a=c}function nfM(n,t){var e,i,r,a,c,u,o,s,h,f,l,b;if(e=O2($R(n.b,t),127),(o=O2(O2(_V(n.r,t),21),87)).dc()){e.n.d=0,e.n.a=0;return}for(s=n.u.Hc((nak(),nZ8)),c=0,n.A.Hc((Y2(),n1L))&&noR(n,t),u=o.Kc(),h=null,l=0,f=0;u.Ob();)a=pE(PI((i=O2(u.Pb(),117)).b.of((S_(),nIB)))),r=i.b.Mf().b,h?(b=f+h.d.a+n.w+i.d.d,c=nPH.Math.max(c,(T6(),qE(nd7),nPH.Math.abs(l-a)<=nd7||l==a||isNaN(l)&&isNaN(a)?0:b/(a-l)))):n.C&&n.C.d>0&&(c=nPH.Math.max(c,XU(n.C.d+i.d.d,a))),h=i,l=a,f=r;n.C&&n.C.a>0&&(b=f+n.C.a,s&&(b+=h.d.a),c=nPH.Math.max(c,(T6(),qE(nd7),nPH.Math.abs(l-1)<=nd7||1==l||isNaN(l)&&isNaN(1)?0:b/(1-l)))),e.n.d=0,e.a.b=c}function nfj(n,t,e){var i,r,a,c,u,o;for(c=0,this.g=n,u=t.d.length,o=e.d.length,this.d=B0(nAc,npX,10,u+o,0,1);c0?GS(this,this.f/this.a):null!=Ex(t.g,t.d[0]).a&&null!=Ex(e.g,e.d[0]).a?GS(this,(pE(Ex(t.g,t.d[0]).a)+pE(Ex(e.g,e.d[0]).a))/2):null!=Ex(t.g,t.d[0]).a?GS(this,Ex(t.g,t.d[0]).a):null!=Ex(e.g,e.d[0]).a&&GS(this,Ex(e.g,e.d[0]).a)}function nfT(n){var t;this.a=n,t=(nrn(),Vp(x2(nAu,1),nbz,273,0,[nDy,nDk,nDm,nDM,nDv,nDp])).length,this.b=I8(nLI,[nbj,nkL],[601,149],0,[t,t],2),this.c=I8(nLI,[nbj,nkL],[601,149],0,[t,t],2),DJ(this,nDy,(nl$(),nUA),nUL),zV(this,nDy,nDk,nUT,nUE),DQ(this,nDy,nDM,nUT),DQ(this,nDy,nDm,nUT),zV(this,nDy,nDv,nUA,nUL),DJ(this,nDk,nUy,nUM),DQ(this,nDk,nDM,nUy),DQ(this,nDk,nDm,nUy),zV(this,nDk,nDv,nUT,nUE),T1(this,nDM,nUy),DQ(this,nDM,nDm,nUy),DQ(this,nDM,nDv,nUC),T1(this,nDm,nUD),zV(this,nDm,nDv,nUI,nUO),DJ(this,nDv,nUy,nUy),DJ(this,nDp,nUy,nUM),zV(this,nDp,nDy,nUT,nUE),zV(this,nDp,nDv,nUT,nUE),zV(this,nDp,nDk,nUT,nUE)}function nfE(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w,d,g,p;if(l=new TP(n.o),p=t.a/l.a,u=t.b/l.b,d=t.a-l.a,a=t.b-l.b,e)for(r=jR(niB(n,(nl$(),nUi)))===jR((nia(),nZZ)),w=new fU(n.j);w.a=1&&(g-c>0&&f>=0?(o.n.a+=d,o.n.b+=a*c):g-c<0&&h>=0&&(o.n.a+=d*g,o.n.b+=a));n.o.a=t.a,n.o.b=t.b,VF(n,(nl$(),nHJ),(Y2(),new Oe(i=O2(mP(nLV),9),O2(Cs(i,i.length),9),0)))}function nfS(n,t){var e,i,r,a,c,u,o,s,h,f;if(null==t||0==t.length)return null;if(!(a=O2(xp(n.f,t),23))){for(r=new f$(new fN(n.d).a.vc().Kc());r.a.Ob();)if(c=O2(r.a.Pb(),44),u=(e=O2(c.md(),23)).f,f=t.length,Cq(u.substr(u.length-f,f),t)&&(t.length==u.length||46==$W(u,u.length-t.length-1))){if(a)return null;a=e}if(!a){for(i=new f$(new fN(n.d).a.vc().Kc());i.a.Ob();)if(c=O2(i.a.Pb(),44),null!=(h=(e=O2(c.md(),23)).g)){for(o=0,s=h.length;oJq(n.a.o,(nf9(),n1e)).gc()&&2>Jq(n.a.o,n1M).gc())return!0;if(n.a.c.kg())return!1;for(k=0,v=0,m=new du,o=n.a.e,h=0,f=o.length;h=e}(this.k)}function nfC(n){var t,e,i,r,a,c,u,o;for(t=0,a=new fU(n.b.a);a.a=u&&r<=o)u<=r&&a<=o?(e[s++]=r,e[s++]=a,i+=2):u<=r?(e[s++]=r,e[s++]=o,n.b[i]=o+1,c+=2):a<=o?(e[s++]=u,e[s++]=a,i+=2):(e[s++]=u,e[s++]=o,n.b[i]=o+1);else if(opE(PI(niB(t,(nl$(),nUy))))&&VF(t,nUy,2),O2(niB(t,nHi),88)==(Jf(),nZt)&&VF(t,nHi,JA(t)),0==(e=O2(niB(t,nUd),17)).a?VF(t,(nlB(),nFo),new Yd):VF(t,(nlB(),nFo),new FV(e.a)),null==PO(niB(t,nHX))&&VF(t,nHX,(SB(),jR(niB(t,nHh))===jR((Jz(),nZo)))),vZ(new As(null,new RF(t.a,16)),new lS(n)),vZ(UD(new As(null,new RF(t.b,16)),new ti),new lP(n)),i=new nfT(t),VF(t,(nlB(),nFb),i),$B(n.a),L5(n.a,(niH(),n$Q),O2(niB(t,nHt),188)),L5(n.a,n$J,O2(niB(t,nHK),188)),L5(n.a,n$Y,O2(niB(t,nHn),188)),L5(n.a,n$Z,O2(niB(t,nHQ),188)),L5(n.a,n$1,(c=O2(niB(t,nHh),223),T8(),AP(nq$.a,c)||((u=new as).a=c,Co(nq$,c,u)),O2($R(nq$,c),645))),r=n.a,a=function(n){var t,e,i,r,a,c,u;switch(e=O2(niB(n,(nlB(),nKq)),21),t=TA(n$z),O2(niB(n,(nl$(),nHk)),346)==(QA(),nZP)&&zP(t,n$V),pT(PO(niB(n,nHm)))?IV(t,(niH(),n$Q),(nlU(),nxk)):IV(t,(niH(),n$Y),(nlU(),nxk)),null!=niB(n,(Bg(),nQ5))&&zP(t,n$W),(pT(PO(niB(n,nHP)))||pT(PO(niB(n,nHv))))&&AQ(t,(niH(),n$1),(nlU(),nDG)),O2(niB(n,nHi),88).g){case 2:case 3:case 4:AQ(IV(t,(niH(),n$Q),(nlU(),nDX)),n$1,nDq)}switch(e.Hc((noe(),nKc))&&AQ(IV(IV(t,(niH(),n$Q),(nlU(),nDU)),n$Z,nDB),n$1,nDH),jR(niB(n,nHR))!==jR((nse(),nGS))&&IV(t,(niH(),n$Y),(nlU(),nxl)),e.Hc(nKb)&&(IV(t,(niH(),n$Q),(nlU(),nxm)),IV(t,n$J,nxg),IV(t,n$Y,nxp)),jR(niB(n,nBq))!==jR((ni6(),nKe))&&jR(niB(n,nHh))!==jR((Jz(),nZs))&&AQ(t,(niH(),n$1),(nlU(),nD6)),pT(PO(niB(n,nHM)))&&IV(t,(niH(),n$Y),(nlU(),nD4)),pT(PO(niB(n,nB7)))&&IV(t,(niH(),n$Y),(nlU(),nxS)),(jR(niB(n,(nl$(),nHk)))===jR((QA(),nZP))?n.e||jR(niB(n,nB2))===jR((z1(),nKg)):(c=O2(niB(n,nB3),299),u=pT(PO(niB(n,nB7)))||jR(niB(n,nHn))===jR((qK(),nRT)),r=O2(niB(n,nB0),17).a,a=n.a.c.length,u||c==(z1(),nKg)||0!=r&&!(r>a)))||(i=(jR(niB(n,nHk))===jR(nZP)?O2(niB(n,nB2),299):O2(niB(n,nB3),299))==(z1(),nKp)?(nlU(),nxd):(nlU(),nxO),IV(t,(niH(),n$Z),i)),O2(niB(n,nUJ),388).g){case 1:IV(t,(niH(),n$Z),(nlU(),nxP));break;case 2:AQ(IV(IV(t,(niH(),n$Y),(nlU(),nDR)),n$Z,nDK),n$1,nDF)}return jR(niB(n,nBY))!==jR((Zf(),nGI))&&IV(t,(niH(),n$Y),(nlU(),nxC)),t}(t),zP(r.a,a),VF(t,nFu,nfh(n.a,t))}function nfA(n,t,e,i,r){var a,c,u,o,s,h,f,l,b,w,g,p,m,v,k,y;for(f=new dc,c=new du,nr3(n,e,n.d.Ag(),c,f),nr3(n,i,n.d.Bg(),c,f),n.b=.2*(g=ncN(UD(new As(null,new RF(c,16)),new ay)),p=ncN(UD(new As(null,new RF(c,16)),new aM)),nPH.Math.min(g,p)),a=0,u=0;u=2&&(m=nut(c,!0,l),n.e||(n.e=new bq(n)),v=n.e,k=n.b,0!=m.c.length&&(y=function(n,t){var e,i,r,a,c,u,o,s;for(e=new du,r=UD(new As(null,new RF(n,16)),new am),a=UD(new As(null,new RF(n,16)),new av),$s((JL(c=$Y(function(n){var t,e,i,r,a,c,u;for(c=0,t=336,e=0,r=new CT(n.length),u=n.length;cQM(Rq(n,t),0)|jH(Rq(n,e),0))?e:JH(nbC,Rq(Li(e,63),1))}(e,i.zd());return O2(O2(function n(t,e){return t.c?n(t.c,e):EB(t.b,e),t}(new As(null,niS(new RF((ND(),YK(r.a)),16),new d,t,e)),new fp(n)),687),848)}(Vp(x2(nOc,1),nbe,848,0,[r,a])),new ak)),u=new O5(c,c.a.e,4|c.a.d),o=new PB(c,u))),s=B0(n4d,nwW,28,0,15,1),mZ(o.a,new le(s)),i=1;i=2*t&&EB(e,new OI(s[i-1]+t,s[i]-t));return e}(c,k),vZ(Gl(new As(null,new RF(function(n){var t,e,i,r,a,c,u;for(a=new Tj,e=new fU(n);e.a2&&u.e.b+u.j.b<=2&&(r=u,i=c),a.a.zc(r,a),r.q=i);return a}(m),1)),new ap),new $7(v,c,y,k)))),nio(c,l),function(n){var t,e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m;for(o=new du,c=new du,a=new fU(n);a.a-1){for(r=new fU(c);r.a0||(p=nPH.Math.min(u.o,i.o-1),u.o=p,m=u.i-1,u.i=m,0==u.i&&dy(c.c,u))}}(c),b=-1,h=new fU(c);h.a=u&&r<=o)u<=r&&a<=o?i+=2:u<=r?(n.b[i]=o+1,c+=2):a<=o?(e[s++]=r,e[s++]=u-1,i+=2):(e[s++]=r,e[s++]=u-1,n.b[i]=o+1,c+=2);else if(o2?(Vs(o=new du,new RE(b,1,b.b)),zX(w=new ncP(nlL(o,d+n.a)),t),dy(e.c,w)):w=i?O2(NB(n.b,niX(t)),272):O2(NB(n.b,niW(t)),272),c=niX(t),i&&(c=niW(t)),g=c,v=ngB,nns(),m=nNy,v=nPH.Math.abs(l.b),(p=nPH.Math.abs(g.f-l.b))0?1:0;a.a[r]!=e;)a=a.a[r],r=n.a.Ne(e.d,a.d)>0?1:0;a.a[r]=i,i.b=e.b,i.a[0]=e.a[0],i.a[1]=e.a[1],e.a[0]=null,e.a[1]=null}(n,o,c,h=new B9(f.d,f.e)),l==c&&(l=h)),l.a[l.a[1]==f?1:0]=f.a[f.a[0]?0:1],--n.c),n.b=o.a[1],n.b&&(n.b.b=!1),e.b}function nf_(n,t,e){var i,r,a,c,u,o,s,h,f,l,b;if(e)for(i=-1,h=new Ky(t,0);h.b0?r-=864e5:r+=864e5,o=new Pz(JH(zH(t.q.getTime()),r))),h=new p3,s=n.a.length,a=0;a=97&&i<=122||i>=65&&i<=90){for(c=a+1;c=-1900?1:0,e>=4?jY(n,Vp(x2(nP$,1),nbj,2,6,[nwg,nwp])[c]):jY(n,Vp(x2(nP$,1),nbj,2,6,["BC","AD"])[c]);break;case 121:!function(n,t,e){var i;switch((i=e.q.getFullYear()-nww+nww)<0&&(i=-i),t){case 1:n.a+=i;break;case 2:Ud(n,i%100,2);break;default:Ud(n,i,t)}}(n,e,i);break;case 77:!function(n,t,e){var i;switch(i=e.q.getMonth(),t){case 5:jY(n,Vp(x2(nP$,1),nbj,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[i]);break;case 4:jY(n,Vp(x2(nP$,1),nbj,2,6,[nwe,nwi,nwr,nwa,nwc,nwu,nwo,nws,nwh,nwf,nwl,nwb])[i]);break;case 3:jY(n,Vp(x2(nP$,1),nbj,2,6,["Jan","Feb","Mar","Apr",nwc,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[i]);break;default:Ud(n,i+1,t)}}(n,e,i);break;case 107:0==(u=r.q.getHours())?Ud(n,24,e):Ud(n,u,e);break;case 83:0>QM(b=zH(r.q.getTime()),0)?(w=nwn-AZ(YW(H9(b),nwn)))==nwn&&(w=0):w=AZ(YW(b,nwn)),1==e?N0(n,48+(w=nPH.Math.min((w+50)/100|0,9))&nwt):2==e?Ud(n,w=nPH.Math.min((w+5)/10|0,99),2):(Ud(n,w,3),e>3&&Ud(n,0,e-3));break;case 69:o=i.q.getDay(),5==e?jY(n,Vp(x2(nP$,1),nbj,2,6,["S","M","T","W","T","F","S"])[o]):4==e?jY(n,Vp(x2(nP$,1),nbj,2,6,[nwm,nwv,nwk,nwy,nwM,nwj,nwT])[o]):jY(n,Vp(x2(nP$,1),nbj,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[o]);break;case 97:r.q.getHours()>=12&&24>r.q.getHours()?jY(n,Vp(x2(nP$,1),nbj,2,6,["AM","PM"])[1]):jY(n,Vp(x2(nP$,1),nbj,2,6,["AM","PM"])[0]);break;case 104:0==(s=r.q.getHours()%12)?Ud(n,12,e):Ud(n,s,e);break;case 75:Ud(n,r.q.getHours()%12,e);break;case 72:Ud(n,r.q.getHours(),e);break;case 99:h=i.q.getDay(),5==e?jY(n,Vp(x2(nP$,1),nbj,2,6,["S","M","T","W","T","F","S"])[h]):4==e?jY(n,Vp(x2(nP$,1),nbj,2,6,[nwm,nwv,nwk,nwy,nwM,nwj,nwT])[h]):3==e?jY(n,Vp(x2(nP$,1),nbj,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[h]):Ud(n,h,1);break;case 76:f=i.q.getMonth(),5==e?jY(n,Vp(x2(nP$,1),nbj,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[f]):4==e?jY(n,Vp(x2(nP$,1),nbj,2,6,[nwe,nwi,nwr,nwa,nwc,nwu,nwo,nws,nwh,nwf,nwl,nwb])[f]):3==e?jY(n,Vp(x2(nP$,1),nbj,2,6,["Jan","Feb","Mar","Apr",nwc,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[f]):Ud(n,f+1,e);break;case 81:l=i.q.getMonth()/3|0,e<4?jY(n,Vp(x2(nP$,1),nbj,2,6,["Q1","Q2","Q3","Q4"])[l]):jY(n,Vp(x2(nP$,1),nbj,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[l]);break;case 100:Ud(n,i.q.getDate(),e);break;case 109:Ud(n,r.q.getMinutes(),e);break;case 115:Ud(n,r.q.getSeconds(),e);break;case 122:e<4?jY(n,a.c[0]):jY(n,a.c[1]);break;case 118:jY(n,a.b);break;case 90:e<3?jY(n,(g=-a.a,d=Vp(x2(n4h,1),nb7,28,15,[43,48,48,48,48]),g<0&&(d[0]=45,g=-g),d[1]=d[1]+((g/60|0)/10|0)&nwt,d[2]=d[2]+(g/60|0)%10&nwt,d[3]=d[3]+(g%60/10|0)&nwt,d[4]=d[4]+g%10&nwt,Zo(d,0,d.length))):3==e?jY(n,(m=-a.a,p=Vp(x2(n4h,1),nb7,28,15,[43,48,48,58,48,48]),m<0&&(p[0]=45,m=-m),p[1]=p[1]+((m/60|0)/10|0)&nwt,p[2]=p[2]+(m/60|0)%10&nwt,p[4]=p[4]+(m%60/10|0)&nwt,p[5]=p[5]+m%10&nwt,Zo(p,0,p.length))):jY(n,(v=a.a,k=Vp(x2(n4h,1),nb7,28,15,[71,77,84,45,48,48,58,48,48]),v<=0&&(k[3]=43,v=-v),k[4]=k[4]+((v/60|0)/10|0)&nwt,k[5]=k[5]+(v/60|0)%10&nwt,k[7]=k[7]+(v%60/10|0)&nwt,k[8]=k[8]+v%10&nwt,Zo(k,0,k.length)));break;default:return 0}})(h,i,c-a,u,o,e),a=c}else if(39==i){if(++a=s)throw new pN("Missing trailing '").e;c+1=0)return r=function(n,t){var e;if(EM(e=nuO(n.Dh(),t),102))return O2(e,19);throw new pN(njP+t+"' is not a valid reference").e}(n,(B5(1,a,t.length),t.substr(1,a-1))),B5(a+1,u,t.length),function(n,t,e){var i,r,a,c,u,o,s,h,f,l;for(s=0,o=new du,f=t.length,c=V2(e);s=0?n.Lh(s,!1,!0):naG(n,e,!1),61);e:for(a=f.Kc();a.Ob();){for(h=0,r=O2(a.Pb(),58);h=0){i=O2(_H(n,Gg(n,(B5(1,e,t.length),t.substr(1,e-1))),!1),61),o=0;try{o=nsS((RK(e+1,t.length+1),t.substr(e+1)),nb1,nl5)}catch(n){if(EM(n=Vr(n),130))throw new Ui(n).e;throw n.e}if(o>16==-10?e=O2(n.Cb,292).Yk(t,e):n.Db>>16==-15&&(t||(nlz(),t=n2v),u||(nlz(),u=n2v),n.Cb.Yh()&&(c=new Uw(n.Cb,1,13,u,t,nny(Uu(O2(n.Cb,62)),n),!1),e?e.nj(c):e=c));else if(EM(n.Cb,90))n.Db>>16==-23&&(EM(t,90)||(nlz(),t=n2M),EM(u,90)||(nlz(),u=n2M),n.Cb.Yh()&&(c=new Uw(n.Cb,1,10,u,t,nny(FI(O2(n.Cb,29)),n),!1),e?e.nj(c):e=c));else if(EM(n.Cb,457))for((a=O2(n.Cb,850)).b||(a.b=new w8(new gR)),r=new w9(new zE(new fP(a.b.a).a));r.a.b;)e=nfG(i=O2(Xf(r.a).ld(),89),nui(i,a),e)}return e}function nfq(n){var t,e,i,r,a,c,u,o,s,h,f,l;if((l=O2(ncR(n,(nlH(),nJ9)),21)).dc())return null;if(u=0,c=0,l.Hc((Y2(),n1A))){for(h=O2(ncR(n,nYy),101),i=2,e=2,r=2,a=2,t=xY(n)?O2(ncR(xY(n),nJR),88):O2(ncR(n,nJR),88),s=new E2((n.c||(n.c=new LE(nNa,n,9,9)),n.c));s.e!=s.i.gc();)if(o=O2(Z9(s),123),(f=O2(ncR(o,nYC),64))==(nf9(),n1y)&&(f=ns6(o,t),nnb(o,nYC,f)),h==(nia(),nZZ))switch(f.g){case 1:i=nPH.Math.max(i,o.i+o.g);break;case 2:e=nPH.Math.max(e,o.j+o.f);break;case 3:r=nPH.Math.max(r,o.i+o.g);break;case 4:a=nPH.Math.max(a,o.j+o.f)}else switch(f.g){case 1:i+=o.g+2;break;case 2:e+=o.f+2;break;case 3:r+=o.g+2;break;case 4:a+=o.f+2}u=nPH.Math.max(i,r),c=nPH.Math.max(e,a)}return nln(n,u,c,!0,!0)}function nfX(n,t,e,i,r){var a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k;for(m=O2(Fq(Gl($Q(new As(null,new RF(t.d,16)),new bf(e)),new bl(e)),Hl(new z,new X,new nt,Vp(x2(nOa,1),nbz,108,0,[(W1(),nOK)]))),15),f=nl5,h=nb1,o=new fU(t.b.j);o.aa?1:Tm(isNaN(0),isNaN(a)))<0&&(qE(nkU),(nPH.Math.abs(a-1)<=nkU||1==a||isNaN(a)&&isNaN(1)?0:a<1?-1:a>1?1:Tm(isNaN(a),isNaN(1)))<0)&&(qE(nkU),(nPH.Math.abs(0-c)<=nkU||0==c||isNaN(0)&&isNaN(c)?0:0c?1:Tm(isNaN(0),isNaN(c)))<0)&&(qE(nkU),(nPH.Math.abs(c-1)<=nkU||1==c||isNaN(c)&&isNaN(1)?0:c<1?-1:c>1?1:Tm(isNaN(c),isNaN(1)))<0))}function nfV(n,t){var e;if(n.e)throw new p$((PL(nOf),ndO+nOf.k+ndI)).e;if(!Sx(n.a.e,t))throw new ph(ndA+t+ndL).e;if(t==n.d)return n;switch(e=n.d,n.d=t,e.g){case 0:switch(t.g){case 2:ntd(n);break;case 1:V3(n),ntd(n);break;case 4:neX(n),ntd(n);break;case 3:neX(n),V3(n),ntd(n)}break;case 2:switch(t.g){case 1:V3(n),noG(n);break;case 4:neX(n),ntd(n);break;case 3:neX(n),V3(n),ntd(n)}break;case 1:switch(t.g){case 2:V3(n),noG(n);break;case 4:V3(n),neX(n),ntd(n);break;case 3:V3(n),neX(n),V3(n),ntd(n)}break;case 4:switch(t.g){case 2:neX(n),ntd(n);break;case 1:neX(n),V3(n),ntd(n);break;case 3:V3(n),noG(n)}break;case 3:switch(t.g){case 2:V3(n),neX(n),ntd(n);break;case 1:V3(n),neX(n),V3(n),ntd(n);break;case 4:V3(n),noG(n)}}return n}function nfW(n,t){var e;if(n.d)throw new p$((PL(nI9),ndO+nI9.k+ndI)).e;if(!Sx(n.a.c,t))throw new ph(ndA+t+ndL).e;if(t==n.c)return n;switch(e=n.c,n.c=t,e.g){case 0:switch(t.g){case 2:Ws(n);break;case 1:V4(n),Ws(n);break;case 4:nez(n),Ws(n);break;case 3:nez(n),V4(n),Ws(n)}break;case 2:switch(t.g){case 1:V4(n),noq(n);break;case 4:nez(n),Ws(n);break;case 3:nez(n),V4(n),Ws(n)}break;case 1:switch(t.g){case 2:V4(n),noq(n);break;case 4:V4(n),nez(n),Ws(n);break;case 3:V4(n),nez(n),V4(n),Ws(n)}break;case 4:switch(t.g){case 2:nez(n),Ws(n);break;case 1:nez(n),V4(n),Ws(n);break;case 3:V4(n),noq(n)}break;case 3:switch(t.g){case 2:V4(n),nez(n),Ws(n);break;case 1:V4(n),nez(n),V4(n),Ws(n);break;case 4:V4(n),noq(n)}}return n}function nfQ(n,t){var e,i,r,a,c,u,o;if(EM(n.Eh(),167)?(nfQ(O2(n.Eh(),167),t),t.a+=" > "):t.a+="Root ",Cq((e=n.Dh().zb).substr(0,3),"Elk")?jY(t,(RK(3,e.length+1),e.substr(3))):t.a+=""+e,r=n.jh()){jY((t.a+=" ",t),r);return}if(EM(n,366)&&(o=O2(n,135).a)){jY((t.a+=" ",t),o);return}for(a=new E2(n.kh());a.e!=a.i.gc();)if(o=O2(Z9(a),135).a){jY((t.a+=" ",t),o);return}if(EM(n,326)&&((i=O2(n,74)).b||(i.b=new CK(nL5,i,4,7)),0!=i.b.i&&(i.c||(i.c=new CK(nL5,i,5,8)),0!=i.c.i))){for(t.a+=" (",c=new SW((i.b||(i.b=new CK(nL5,i,4,7)),i.b));c.e!=c.i.gc();)c.e>0&&(t.a+=nbn),nfQ(O2(Z9(c),167),t);for(t.a+=npH,u=new SW((i.c||(i.c=new CK(nL5,i,5,8)),i.c));u.e!=u.i.gc();)u.e>0&&(t.a+=nbn),nfQ(O2(Z9(u),167),t);t.a+=")"}}function nfJ(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w;for(l=e.d,f=e.c,c=(a=new MH(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a)).b,s=new fU(n.a);s.ai.d,i.d=nPH.Math.max(i.d,t),u&&e&&(i.d=nPH.Math.max(i.d,i.a),i.a=i.d+r);break;case 3:e=t>i.a,i.a=nPH.Math.max(i.a,t),u&&e&&(i.a=nPH.Math.max(i.a,i.d),i.d=i.a+r);break;case 2:e=t>i.c,i.c=nPH.Math.max(i.c,t),u&&e&&(i.c=nPH.Math.max(i.b,i.c),i.b=i.c+r);break;case 4:e=t>i.b,i.b=nPH.Math.max(i.b,t),u&&e&&(i.b=nPH.Math.max(i.b,i.c),i.c=i.b+r)}}}(u),function(n){switch(n.q.g){case 5:nej(n,(nf9(),n1i)),nej(n,n1k);break;case 4:nfy(n,(nf9(),n1i)),nfy(n,n1k);break;default:nrz(n,(nf9(),n1i)),nrz(n,n1k)}}(u),function(n){switch(n.q.g){case 5:neT(n,(nf9(),n1e)),neT(n,n1M);break;case 4:nfM(n,(nf9(),n1e)),nfM(n,n1M);break;default:nrV(n,(nf9(),n1e)),nrV(n,n1M)}}(u),function(n){var t,e,i,r,a,c,u;if(!n.A.dc()){if(n.A.Hc((Y2(),n1A))&&(O2($R(n.b,(nf9(),n1i)),127).k=!0,O2($R(n.b,n1k),127).k=!0,t=n.q!=(nia(),nZ1)&&n.q!=nZZ,O2($R(n.b,n1e),127).j=t,O2($R(n.b,n1M),127).j=t,n.g.j=t,n.A.Hc(n1L)&&(O2($R(n.b,n1i),127).j=!0,O2($R(n.b,n1k),127).j=!0,O2($R(n.b,n1e),127).k=!0,O2($R(n.b,n1M),127).k=!0,n.g.k=!0)),n.A.Hc(n1I))for(n.a.j=!0,n.a.k=!0,n.g.j=!0,n.g.k=!0,u=n.B.Hc((nsM(),n1F)),r=ZW(),a=0,c=r.length;anPH.Math.abs(p-d))continue;p1)for(l=new nfr(b,m,i),_o(m,new Mu(n,l)),dy(c.c,l),h=m.a.ec().Kc();h.Ob();)H6(a,O2(h.Pb(),42).b);if(u.a.gc()>1)for(l=new nfr(b,u,i),_o(u,new Mo(n,l)),dy(c.c,l),h=u.a.ec().Kc();h.Ob();)H6(a,O2(h.Pb(),42).b)}}function nf0(n,t){var e,i,r,a,c,u,o;if(Iv(),this.a=new ES(this),this.b=n,this.c=t,this.f=L8(Us((nr_(),n27),t)),this.f.dc()){if((u=neO(n27,n))==t)for(this.e=!0,this.d=new du,this.f=new uq,this.f.Fc(nSd),O2(nh0(Uo(n27,GP(n)),""),29)==n&&this.f.Fc(A5(n27,GP(n))),r=nso(n27,n).Kc();r.Ob();)switch(i=O2(r.Pb(),179),$p(Us(n27,i))){case 4:this.d.Fc(i);break;case 5:this.f.Gc(L8(Us(n27,i)))}else if(kP(),O2(t,69).xk())for(c=0,this.e=!0,this.f=null,this.d=new du,o=(null==n.i&&nhc(n),n.i).length;c=0&&c0&&(O2($R(n.b,t),127).a.b=e)}function nf3(n){var t,e,i,r,a,c,u,o;if(this.r=(e=new nT,i=new nE,new DH(O2(NA(e),50),O2(NA(i),50))),this.b=new J4(O2(NA(nLz),297)),this.p=new J4(O2(NA(nLz),297)),this.i=new J4(O2(NA(nOE),297)),this.e=n,this.o=new TP(n.Mf()),this.D=pT(PO(n.of((nlH(),nY1)))),this.F=n.Yf()||pT(PO(n.of(nJQ))),this.A=O2(n.of(nJ9),21),this.B=O2(n.of(nYi),21),this.q=O2(n.of(nYy),101),this.u=O2(n.of(nYE),21),u=this.u,nak(),zq(xk(AR(nZ8,Vp(x2(nLX,1),nbz,279,0,[nZ7])),u))>1||zq(xk(AR(nZ5,Vp(x2(nLX,1),nbz,279,0,[nZ6,n1n])),u))>1)throw new pK("Invalid port label placement: "+this.u).e;if(this.v=pT(PO(n.of(nYP))),this.j=O2(n.of(nJ5),21),o=this.j,ncK(),zq(xk(AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZB])),o))>1||zq(xk(AR(nZR,Vp(x2(nLU,1),nbz,95,0,[nZx,nZF])),o))>1||zq(xk(AR(nZG,Vp(x2(nLU,1),nbz,95,0,[nZU,nZH])),o))>1)throw new pK("Invalid node label placement: "+this.j).e;this.n=O2(ntY(n,nJ4),107),this.k=pE(PI(ntY(n,nYG))),this.d=pE(PI(ntY(n,nYU))),this.w=pE(PI(ntY(n,nYJ))),this.s=pE(PI(ntY(n,nYq))),this.t=pE(PI(ntY(n,nYX))),this.C=O2(ntY(n,nYW),140),this.c=2*this.d,t=!this.B.Hc((nsM(),n1$)),this.f=new ZL(0,t,0),this.g=new ZL(1,t,0),r=this.f,GD(),a=nIc,c=this.g,r.a[a.g]=c}function nf4(){var n,t,e;for(nf4=T,new Ja(1,0),new Ja(10,0),new Ja(0,0),nCT=B0(nPD,nbj,247,11,0,1),nCE=B0(n4h,nb7,28,100,15,1),nCP=B0(n4f,nwd,28,(nCS=Vp(x2(n4d,1),nwW,28,15,[1,5,25,125,625,3125,15625,78125,390625,1953125,9765625,48828125,244140625,1220703125,6103515625,30517578125,152587890625,762939453125,3814697265625,19073486328125,95367431640625,476837158203125,0x878678326eac9])).length,15,1),nCO=B0(n4f,nwd,28,(nCC=Vp(x2(n4d,1),nwW,28,15,[1,10,100,nwn,1e4,nwQ,1e6,1e7,1e8,nwx,1e10,1e11,1e12,1e13,1e14,1e15,1e16])).length,15,1),nCI=B0(nPD,nbj,247,11,0,1),n=0;n0&&(RK(0,t.length),64!=(u=t.charCodeAt(0)))){if(37==u&&(h=t.lastIndexOf("%"),o=!1,0!=h&&(h==f-1||(RK(h+1,t.length),o=46==t.charCodeAt(h+1))))){if(B5(1,h,t.length),m=Cq("%",c=t.substr(1,h-1))?null:nli(c),i=0,o)try{i=nsS((RK(h+2,t.length+1),t.substr(h+2)),nb1,nl5)}catch(n){if(EM(n=Vr(n),130))throw new Ui(n).e;throw n.e}for(d=Xl(n.Gh());d.Ob();)if(EM(b=zF(d),519)&&(p=(r=O2(b,598)).d,(null==m?null==p:Cq(m,p))&&0==i--))return r;return null}if(l=-1==(s=t.lastIndexOf("."))?t:(B5(0,s,t.length),t.substr(0,s)),e=0,-1!=s)try{e=nsS((RK(s+1,t.length+1),t.substr(s+1)),nb1,nl5)}catch(n){if(EM(n=Vr(n),130))l=t;else throw n.e}for(l=Cq("%",l)?null:nli(l),w=Xl(n.Gh());w.Ob();)if(EM(b=zF(w),197)&&(g=(a=O2(b,197)).xe(),(null==l?null==g:Cq(l,g))&&0==e--))return a;return null}return nfU(n,t)}function nln(n,t,e,i,r){var a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k,y,M;if(g=new MH(n.g,n.f),(d=nrY(n)).a=nPH.Math.max(d.a,t),d.b=nPH.Math.max(d.b,e),M=d.a/g.a,h=d.b/g.b,k=d.a-g.a,o=d.b-g.b,i)for(c=xY(n)?O2(ncR(xY(n),(nlH(),nJR)),88):O2(ncR(n,(nlH(),nJR)),88),u=jR(ncR(n,(nlH(),nYy)))===jR((nia(),nZZ)),m=new E2((n.c||(n.c=new LE(nNa,n,9,9)),n.c));m.e!=m.i.gc();)switch(p=O2(Z9(m),123),(v=O2(ncR(p,nYC),64))==(nf9(),n1y)&&(v=ns6(p,c),nnb(p,nYC,v)),v.g){case 1:u||G2(p,p.i*M);break;case 2:G2(p,p.i+k),u||G3(p,p.j*h);break;case 3:u||G2(p,p.i*M),G3(p,p.j+o);break;case 4:u||G3(p,p.j*h)}if(T_(n,d.a,d.b),r)for(l=new E2((n.n||(n.n=new LE(nNi,n,1,7)),n.n));l.e!=l.i.gc();)b=(f=O2(Z9(l),135)).i+f.g/2,w=f.j+f.f/2,(y=b/g.a)+(s=w/g.b)>=1&&(y-s>0&&w>=0?(G2(f,f.i+k),G3(f,f.j+o*s)):y-s<0&&b>=0&&(G2(f,f.i+k*y),G3(f,f.j+o)));return nnb(n,(nlH(),nJ9),(Y2(),new Oe(a=O2(mP(nLV),9),O2(Cs(a,a.length),9),0))),new MH(M,h)}function nlt(n){var t,e;kd(n,new nid(((((t=new c5).c=nyF,t).d="ELK Radial",t).b='A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.',e=new cj,t.e=e,t.a=nyF,t))),KI(n,nyF,nkP,Z8(nVb)),KI(n,nyF,ng8,Z8(nVk)),KI(n,nyF,npu,Z8(nVc)),KI(n,nyF,npS,Z8(nVu)),KI(n,nyF,npc,Z8(nVo)),KI(n,nyF,npo,Z8(nVa)),KI(n,nyF,npr,Z8(nVs)),KI(n,nyF,nps,Z8(nVl)),KI(n,nyF,nyI,Z8(nVi)),KI(n,nyF,nyO,Z8(nVr)),KI(n,nyF,nyC,Z8(nVd)),KI(n,nyF,ny$,Z8(nVm)),KI(n,nyF,nyD,Z8(nVg)),KI(n,nyF,nyx,Z8(nVp)),KI(n,nyF,nyN,Z8(nVh)),KI(n,nyF,nyS,Z8(nVf)),KI(n,nyF,nyP,Z8(nVw)),KI(n,nyF,nyA,Z8(nVv)),KI(n,nyF,nyL,Z8(nVy)),KI(n,nyF,nyE,Z8(nVe))}function nle(n){var t,e,i,r,a,c,u,o,s,h,f;if(null==n)throw new p5(nbc).e;if(s=n,a=n.length,o=!1,a>0&&(RK(0,n.length),(45==(t=n.charCodeAt(0))||43==t)&&(RK(1,n.length+1),n=n.substr(1),--a,o=45==t)),0==a)throw new p5(nwB+s+'"').e;for(;n.length>0&&(RK(0,n.length),48==n.charCodeAt(0));)RK(1,n.length+1),n=n.substr(1),--a;if(a>(nsq(),nCk)[10])throw new p5(nwB+s+'"').e;for(r=0;r0&&(f=-parseInt((B5(0,i,n.length),n.substr(0,i)),10),RK(i,n.length+1),n=n.substr(i),a-=i,e=!1);a>=c;){if(i=parseInt((B5(0,c,n.length),n.substr(0,c)),10),RK(c,n.length+1),n=n.substr(c),a-=c,e)e=!1;else{if(0>QM(f,u))throw new p5(nwB+s+'"').e;f=JU(f,h)}f=JG(f,i)}if(QM(f,0)>0||!o&&0>QM(f=H9(f),0))throw new p5(nwB+s+'"').e;return f}function nli(n){var t,e,i,r,a,c,u,o,s,h;if(nh3(),null==n)return null;if((r=Tp(n,niP(37)))<0)return n;for(o=new Sv((B5(0,r,n.length),n.substr(0,r))),t=B0(n4w,njB,28,4,15,1),u=0,i=0,c=n.length;rr+2&&VR((RK(r+1,n.length),n.charCodeAt(r+1)),n0_,n0B)&&VR((RK(r+2,n.length),n.charCodeAt(r+2)),n0_,n0B)){if(RK(r+1,n.length),s=n.charCodeAt(r+1),RK(r+2,n.length),h=n.charCodeAt(r+2),e=(Q6(s)<<4|Q6(h))&nwt,r+=2,i>0?(192&e)==128?t[u++]=e<<24>>24:i=0:e>=128&&((224&e)==192?(t[u++]=e<<24>>24,i=2):(240&e)==224?(t[u++]=e<<24>>24,i=3):(248&e)==240&&(t[u++]=e<<24>>24,i=4)),i>0){if(u==i){switch(u){case 2:N0(o,((31&t[0])<<6|63&t[1])&nwt);break;case 3:N0(o,((15&t[0])<<12|(63&t[1])<<6|63&t[2])&nwt)}u=0,i=0}}else{for(a=0;a=2){if(0==(n.a||(n.a=new LE(nL9,n,6,6)),n.a).i)my(),e=new u_,Hi((n.a||(n.a=new LE(nL9,n,6,6)),n.a),e);else if((n.a||(n.a=new LE(nL9,n,6,6)),n.a).i>1)for(f=new SW((n.a||(n.a=new LE(nL9,n,6,6)),n.a));f.e!=f.i.gc();)neq(f);nhs(t,O2(GA((n.a||(n.a=new LE(nL9,n,6,6)),n.a),0),166))}if(h)for(i=new E2((n.a||(n.a=new LE(nL9,n,6,6)),n.a));i.e!=i.i.gc();)for(o=new E2(((e=O2(Z9(i),166)).a||(e.a=new EU(nL3,e,5)),e.a));o.e!=o.i.gc();)u=O2(Z9(o),377),c.a=nPH.Math.max(c.a,u.a),c.b=nPH.Math.max(c.b,u.b);for(a=new E2((n.n||(n.n=new LE(nNi,n,1,7)),n.n));a.e!=a.i.gc();)r=O2(Z9(a),135),(s=O2(ncR(r,nZS),8))&&TB(r,s.a,s.b),h&&(c.a=nPH.Math.max(c.a,r.i+r.g),c.b=nPH.Math.max(c.b,r.j+r.f));return c}function nla(n,t,e,i,r){var a,c,u,o,s,h,f,l,b,w,d,g,p,m,v;if(UF(n,t),c=t[0],a=$W(e.c,0),u=-1,Wn(e)){if(i>0){if(c+i>n.length)return!1;u=naR((B5(0,c+i,n.length),n.substr(0,c+i)),t)}else u=naR(n,t)}switch(a){case 71:return u=nrT(n,c,Vp(x2(nP$,1),nbj,2,6,[nwg,nwp]),t),r.e=u,!0;case 77:return h=n,f=t,l=r,b=u,w=c,b<0?((b=nrT(h,w,Vp(x2(nP$,1),nbj,2,6,[nwe,nwi,nwr,nwa,nwc,nwu,nwo,nws,nwh,nwf,nwl,nwb]),f))<0&&(b=nrT(h,w,Vp(x2(nP$,1),nbj,2,6,["Jan","Feb","Mar","Apr",nwc,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),f)),!(b<0)&&(l.k=b,!0)):b>0&&(l.k=b-1,!0);case 76:return d=n,g=t,p=r,m=u,v=c,m<0?((m=nrT(d,v,Vp(x2(nP$,1),nbj,2,6,[nwe,nwi,nwr,nwa,nwc,nwu,nwo,nws,nwh,nwf,nwl,nwb]),g))<0&&(m=nrT(d,v,Vp(x2(nP$,1),nbj,2,6,["Jan","Feb","Mar","Apr",nwc,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),g)),!(m<0)&&(p.k=m,!0)):m>0&&(p.k=m-1,!0);case 69:return(o=nrT(n,c,Vp(x2(nP$,1),nbj,2,6,[nwm,nwv,nwk,nwy,nwM,nwj,nwT]),t))<0&&(o=nrT(n,c,Vp(x2(nP$,1),nbj,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),t)),!(o<0)&&(r.d=o,!0);case 99:return(s=nrT(n,c,Vp(x2(nP$,1),nbj,2,6,[nwm,nwv,nwk,nwy,nwM,nwj,nwT]),t))<0&&(s=nrT(n,c,Vp(x2(nP$,1),nbj,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),t)),!(s<0)&&(r.d=s,!0);case 97:return u=nrT(n,c,Vp(x2(nP$,1),nbj,2,6,["AM","PM"]),t),r.b=u,!0;case 121:return function(n,t,e,i,r,a){var c,u,o;if(u=32,i<0){if(t[0]>=n.length||43!=(u=$W(n,t[0]))&&45!=u||(++t[0],(i=naR(n,t))<0))return!1;45==u&&(i=-i)}return 32==u&&t[0]-e==2&&2==r.b&&(c=(o=(new vx).q.getFullYear()-nww+nww-80)%100,a.a=i==c,i+=(o/100|0)*100+(i3;)r*=10,--a;n=(n+(r>>1))/r|0}return i.i=n,!0}(u,c,t[0],r);case 104:12==u&&(u=0);case 75:case 72:if(u<0)return!1;return r.f=u,r.g=!1,!0;case 107:if(u<0)return!1;return r.f=u,r.g=!0,!0;case 109:if(u<0)return!1;return r.j=u,!0;case 115:if(u<0)return!1;return r.n=u,!0;case 90:if(c=0&&Cq(n.substr(c,3),"GMT")?t[0]=c+3:c>=0&&Cq(n.substr(c,3),"UTC")&&(t[0]=c+3),function(n,t,e){var i,r,a,c;if(t[0]>=n.length)return e.o=0,!0;switch($W(n,t[0])){case 43:r=1;break;case 45:r=-1;break;default:return e.o=0,!0}if(++t[0],a=t[0],0==(c=naR(n,t))&&t[0]==a)return!1;if(t[0]=n.gc())return new _7;for(r=n.Kc();r.Ob();){for(e=O2(r.Pb(),235),w=0,h=nl5,f=nl5,o=nb1,s=nb1,b=new fU(e.e);b.au&&(v=0,k+=c+p,c=0),function(n,t,e,i){var r,a,c,u,o,s,h,f;for(CC(u=new MH(e,i),O2(niB(t,(Xh(),n$M)),8)),f=new fU(t.e);f.a0&&(r=O2(I6(g.c.a,M-1),10),c=n.i[r.p],T=nPH.Math.ceil(Eh(n.n,r,g)),a=y.a.e-g.d.d-(c.a.e+r.o.b+r.d.a)-T),s=nwH,M0&&j.a.e.e-j.a.a-(j.b.e.e-j.b.a)<0,w=v.a.e.e-v.a.a-(v.b.e.e-v.b.a)<0&&j.a.e.e-j.a.a-(j.b.e.e-j.b.a)>0,b=v.a.e.e+v.b.aj.b.e.e+j.a.a,k=0,!d&&!w&&(l?a+f>0?k=f:s-i>0&&(k=i):b&&(a+u>0?k=u:s-m>0&&(k=m))),y.a.e+=k,y.b&&(y.d.e+=k),!1))}function nlo(n,t,e){var i,r,a,c,u,o,s,h,f,l;if(i=new $9(t.Lf().a,t.Lf().b,t.Mf().a,t.Mf().b),r=new TI,n.c)for(c=new fU(t.Rf());c.as&&(i.a+=EA(B0(n4h,nb7,28,-s,15,1))),i.a+="Is",Tp(o,niP(32))>=0)for(r=0;r=2&&(w=O2(d.Kc().Pb(),117),b=n.u.Hc((nak(),nZ5)),g=n.u.Hc(n1n),!w.a&&!b&&(2==d.gc()||g)),e=n.u.Hc((nak(),nZ6)),o=s.Kc();o.Ob();)if((u=O2(o.Pb(),117)).c&&!(u.c.d.c.length<=0)){switch(l=u.b.Mf(),(f=(h=u.c).i).b=(a=h.n,h.e.a+a.b+a.c),f.a=(r=h.n,h.e.b+r.d+r.a),t.g){case 1:u.a?(f.c=(l.a-f.b)/2,Hr(h,(HI(),nIs))):c||e?(f.c=-f.b-n.s,Hr(h,(HI(),nIf))):(f.c=l.a+n.s,Hr(h,(HI(),nIh))),f.d=-f.a-n.t,P4(h,(UT(),nIb));break;case 3:u.a?(f.c=(l.a-f.b)/2,Hr(h,(HI(),nIs))):c||e?(f.c=-f.b-n.s,Hr(h,(HI(),nIf))):(f.c=l.a+n.s,Hr(h,(HI(),nIh))),f.d=l.b+n.t,P4(h,(UT(),nId));break;case 2:u.a?(i=n.v?f.a:O2(I6(h.d,0),187).Mf().b,f.d=(l.b-i)/2,P4(h,(UT(),nIw))):c||e?(f.d=-f.a-n.t,P4(h,(UT(),nIb))):(f.d=l.b+n.t,P4(h,(UT(),nId))),f.c=l.a+n.s,Hr(h,(HI(),nIh));break;case 4:u.a?(i=n.v?f.a:O2(I6(h.d,0),187).Mf().b,f.d=(l.b-i)/2,P4(h,(UT(),nIw))):c||e?(f.d=-f.a-n.t,P4(h,(UT(),nIb))):(f.d=l.b+n.t,P4(h,(UT(),nId))),f.c=-f.b-n.s,Hr(h,(HI(),nIf))}c=!1}}function nlb(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k;if(d=0!=n.i,m=!1,g=null,TN(n.e)){if((h=t.gc())>0){for(r=0,l=h<100?null:new mw(h),w=(s=new za(t)).g,g=B0(n4f,nwd,28,h,15,1),i=0,v=new GT(h);r=0;)if(null!=b?Q0(b,w[o]):jR(b)===jR(w[o])){g.length<=i&&ns7(g,0,g=B0(n4f,nwd,28,2*g.length,15,1),0,i),g[i++]=r,Hi(v,w[o]);break i}if(jR(b)===jR(u))break}}if(s=v,w=v.g,h=i,i>g.length&&ns7(g,0,g=B0(n4f,nwd,28,i,15,1),0,i),i>0){for(a=0,m=!0;a=0;)ntF(n,g[c]);if(i!=h){for(r=h;--r>=i;)ntF(s,r);ns7(g,0,g=B0(n4f,nwd,28,i,15,1),0,i)}t=s}}}else for(t=function(n,t){var e,i,r;if(t.dc())return PR(),PR(),n0I;for(e=new P5(n,t.gc()),r=new E2(n);r.e!=r.i.gc();)i=Z9(r),t.Hc(i)&&Hi(e,i);return e}(n,t),r=n.i;--r>=0;)t.Hc(n.g[r])&&(ntF(n,r),m=!0);if(!m)return!1;if(null!=g){for(f=1==(e=t.gc())?Ru(n,4,t.Kc().Pb(),null,g[0],d):Ru(n,6,t,g,g[0],d),l=e<100?null:new mw(e),r=t.Kc();r.Ob();)l=C6(n,O2(b=r.Pb(),76),l);l?(l.nj(f),l.oj()):zI(n.e,f)}else{for(l=(k=t.gc())<100?null:new mw(k),r=t.Kc();r.Ob();)l=C6(n,O2(b=r.Pb(),76),l);l&&l.oj()}return!0}function nlw(n,t,e,i,r,a,c,u,o){var s,h,f,l,b,w,d,g,p,m,v;switch((b=e,g=h=new nnU(o),nrn(),p=nDm,g.k=p,VF(h,(nlB(),nKU),c),VF(h,(nl$(),nUi),(nia(),nZZ)),d=pE(PI(n.of(nUe))),VF(h,nUe,d),Rf(f=new nrh,h),t!=nZ2&&t!=nZ3||(b=i>=0?Yo(u):Jp(Yo(u)),n.qf(nUo,b)),s=new mm,l=!1,n.pf(nUt))?(Ps(s,O2(n.of(nUt),8)),l=!0):(m=c.a/2,v=c.b/2,s.a=m,s.b=v),b.g){case 4:VF(h,nHL,(Yg(),nFM)),VF(h,nKx,(Vq(),nRU)),h.o.b=c.b,d<0&&(h.o.a=-d),naf(f,(nf9(),n1e)),l||(s.a=c.a),s.a-=c.a;break;case 2:VF(h,nHL,(Yg(),nFT)),VF(h,nKx,(Vq(),nRB)),h.o.b=c.b,d<0&&(h.o.a=-d),naf(f,(nf9(),n1M)),l||(s.a=0);break;case 1:VF(h,nKW,(UE(),nKM)),h.o.a=c.a,d<0&&(h.o.b=-d),naf(f,(nf9(),n1k)),l||(s.b=c.b),s.b-=c.b;break;case 3:VF(h,nKW,(UE(),nKk)),h.o.a=c.a,d<0&&(h.o.b=-d),naf(f,(nf9(),n1i)),l||(s.b=0)}if(Ps(f.n,s),VF(h,nUt,s),t==nZY||t==nZ1||t==nZZ){if(w=0,t==nZY&&n.pf(nUr))switch(b.g){case 1:case 2:w=O2(n.of(nUr),17).a;break;case 3:case 4:w=-O2(n.of(nUr),17).a}else switch(b.g){case 4:case 2:w=a.b,t==nZ1&&(w/=r.b);break;case 1:case 3:w=a.a,t==nZ1&&(w/=r.a)}VF(h,nFc,w)}return VF(h,nKH,b),h}function nld(n,t,e){var i,r,a,c,u,o,s,h,f,l;for(zX(h=new nnU(e),t),VF(h,(nlB(),nK8),t),h.o.a=t.g,h.o.b=t.f,h.n.a=t.i,h.n.b=t.j,EB(e.a,h),$S(n.a,t,h),(0!=(t.a||(t.a=new LE(nNr,t,10,11)),t.a).i||pT(PO(ncR(t,(nl$(),nHE)))))&&VF(h,nKA,(SB(),!0)),s=O2(niB(e,nKq),21),(f=O2(niB(h,(nl$(),nUi)),101))==(nia(),nZ3)?VF(h,nUi,nZ2):f!=nZ2&&s.Fc((noe(),nKf)),l=0,i=O2(niB(e,nHi),88),o=new E2((t.c||(t.c=new LE(nNa,t,9,9)),t.c));o.e!=o.i.gc();)u=O2(Z9(o),123),(jR(ncR(r=xY(t),nBY))!==jR((Zf(),nGI))||jR(ncR(r,nHt))===jR((Zh(),nRx))||jR(ncR(r,nHt))===jR((Zh(),nR$))||pT(PO(ncR(r,nB1)))||jR(ncR(r,nBX))!==jR((ZP(),nDl))||jR(ncR(r,nHR))===jR((nse(),nGv))||jR(ncR(r,nHR))===jR((nse(),nGk))||jR(ncR(r,nHK))===jR((nuC(),nU3))||jR(ncR(r,nHK))===jR((nuC(),nU6)))&&!pT(PO(ncR(t,nBQ)))&&nnb(u,nK5,QR(l++)),pT(PO(ncR(u,nH0)))||function(n,t,e,i,r,a){var c,u,o,s,h,f;for(zX(s=new nrh,t),naf(s,O2(ncR(t,(nl$(),nUo)),64)),VF(s,(nlB(),nK8),t),Rf(s,e),(f=s.o).a=t.g,f.b=t.f,(h=s.n).a=t.i,h.b=t.j,$S(n.a,t,s),(c=_k($J(UD(new As(null,(t.e||(t.e=new CK(nL8,t,7,4)),new RF(t.e,16))),new tR),new tD),new lR(t)))||(c=_k($J(UD(new As(null,(t.d||(t.d=new CK(nL8,t,8,5)),new RF(t.d,16))),new tK),new tx),new lK(t))),c||(c=_k(new As(null,(t.e||(t.e=new CK(nL8,t,7,4)),new RF(t.e,16))),new tF)),VF(s,nKV,(SB(),!!c)),function(n,t,e,i){var r,a,c,u,o,s;if((u=n.j)==(nf9(),n1y)&&t!=(nia(),nZ2)&&t!=(nia(),nZ3)&&(u=nsK(n,e),naf(n,u),(n.q?n.q:(DL(),DL(),nCU))._b((nl$(),nUe))||u==n1y||0==n.n.a&&0==n.n.b||VF(n,nUe,function(n,t){var e;switch(e=n.i,t.g){case 1:return-(n.n.b+n.o.b);case 2:return n.n.a-e.o.a;case 3:return n.n.b-e.o.b;case 4:return-(n.n.a+n.o.a)}return 0}(n,u))),t==(nia(),nZ1)){switch(s=0,u.g){case 1:case 3:(a=n.i.o.a)>0&&(s=n.n.a/a);break;case 2:case 4:(r=n.i.o.b)>0&&(s=n.n.b/r)}VF(n,(nlB(),nFc),s)}if(o=n.o,c=n.a,i)c.a=i.a,c.b=i.b,n.d=!0;else if(t!=nZ2&&t!=nZ3&&u!=n1y)switch(u.g){case 1:c.a=o.a/2;break;case 2:c.a=o.a,c.b=o.b/2;break;case 3:c.a=o.a/2,c.b=o.b;break;case 4:c.b=o.b/2}else c.a=o.a/2,c.b=o.b/2}(s,a,r,O2(ncR(t,nUt),8)),o=new E2((t.n||(t.n=new LE(nNi,t,1,7)),t.n));o.e!=o.i.gc();)!pT(PO(ncR(u=O2(Z9(o),135),nH0)))&&u.a&&EB(s.f,Qk(u));switch(r.g){case 2:case 1:(s.j==(nf9(),n1i)||s.j==n1k)&&i.Fc((noe(),nKl));break;case 4:case 3:(s.j==(nf9(),n1e)||s.j==n1M)&&i.Fc((noe(),nKl))}}(n,u,h,s,i,f);for(c=new E2((t.n||(t.n=new LE(nNi,t,1,7)),t.n));c.e!=c.i.gc();)!pT(PO(ncR(a=O2(Z9(c),135),nH0)))&&a.a&&EB(h.b,Qk(a));return pT(PO(niB(h,nBH)))&&s.Fc((noe(),nKc)),pT(PO(niB(h,nHT)))&&(s.Fc((noe(),nKh)),s.Fc(nKs),VF(h,nUi,nZ2)),h}function nlg(n,t,e,i,r,a,c){var u,o,s,h,f,l,b,w,d,g,p,m,v,k,y,M,j,T,E,S,P,C,O,I;for(d=0,S=0,s=new fU(n.b);s.ad&&(a&&(j6(M,b),j6(T,QR(h.b-1)),EB(n.d,w),u.c.length=0),O=e.b,I+=b+t,b=0,f=nPH.Math.max(f,e.b+e.c+C)),dy(u.c,o),function n(t,e,i){var r;if(t.c)G2(t.c,t.c.i+e),G3(t.c,t.c.j+i);else for(r=new fU(t.b);r.a0,g=v.g.c.length>0,s&&g?dy(l.c,v):s?dy(w.c,v):g&&dy(m.c,v);for(b=new fU(w);b.am.nh()-s.b&&(l=m.nh()-s.b),b>m.oh()-s.d&&(b=m.oh()-s.d),ho&&(f=0,l+=u+t,u=0),noY(a,f,l),e=nPH.Math.max(e,f+s.a),u=nPH.Math.max(u,s.b),f+=s.a+t;return new MH(e+t,l+u+t)}(SD(n,(nf9(),n1o)),t),w=ntT(SD(n,n1s),t),k=ntT(SD(n,n1p),t),T=ntE(SD(n,n1v),t),l=ntE(SD(n,n1r),t),m=ntT(SD(n,n1g),t),d=ntT(SD(n,n1h),t),M=ntT(SD(n,n1m),t),y=ntT(SD(n,n1a),t),E=ntE(SD(n,n1u),t),p=ntT(SD(n,n1w),t),v=ntT(SD(n,n1b),t),j=ntT(SD(n,n1c),t),S=ntE(SD(n,n1d),t),b=ntE(SD(n,n1f),t),g=ntT(SD(n,n1l),t),e=Gd(Vp(x2(n4d,1),nwW,28,15,[m.a,T.a,M.a,S.a])),i=Gd(Vp(x2(n4d,1),nwW,28,15,[w.a,f.a,k.a,g.a])),r=p.a,a=Gd(Vp(x2(n4d,1),nwW,28,15,[d.a,l.a,y.a,b.a])),s=Gd(Vp(x2(n4d,1),nwW,28,15,[m.b,w.b,d.b,v.b])),o=Gd(Vp(x2(n4d,1),nwW,28,15,[T.b,f.b,l.b,g.b])),h=E.b,u=Gd(Vp(x2(n4d,1),nwW,28,15,[M.b,k.b,y.b,j.b])),Hh(SD(n,n1o),e+r,s+h),Hh(SD(n,n1l),e+r,s+h),Hh(SD(n,n1s),e+r,0),Hh(SD(n,n1p),e+r,s+h+o),Hh(SD(n,n1v),0,s+h),Hh(SD(n,n1r),e+r+i,s+h),Hh(SD(n,n1h),e+r+i,0),Hh(SD(n,n1m),0,s+h+o),Hh(SD(n,n1a),e+r+i,s+h+o),Hh(SD(n,n1u),0,s),Hh(SD(n,n1w),e,0),Hh(SD(n,n1c),0,s+h+o),Hh(SD(n,n1f),e+r+i,0),(c=new mm).a=Gd(Vp(x2(n4d,1),nwW,28,15,[e+i+r+a,E.a,v.a,j.a])),c.b=Gd(Vp(x2(n4d,1),nwW,28,15,[s+o+h+u,p.b,S.b,b.b])),c}function nly(n){var t,e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k,y,M;for(w=new MH(nwH,nwH),t=new MH(nwU,nwU),k=new fU(n);k.aJX(Ho(d.d,y),Ho(d.d,d.a))&&dy(r.c,d);for(e.c.length=0,g=new fU(r);g.a=48&&t<=57){for(i=t-48;r=48&&t<=57;)if((i=10*i+t-48)<0)throw new pH(nlQ((T9(),nT9))).e}else throw new pH(nlQ((T9(),nT4))).e;if(e=i,44==t){if(r>=n.j)throw new pH(nlQ((T9(),nT5))).e;if((t=$W(n.i,r++))>=48&&t<=57){for(e=t-48;r=48&&t<=57;)if((e=10*e+t-48)<0)throw new pH(nlQ((T9(),nT9))).e;if(i>e)throw new pH(nlQ((T9(),nT8))).e}else e=-1}if(125!=t)throw new pH(nlQ((T9(),nT6))).e;n.bm(r)?(nlq(),nlq(),++n4o,a=new FD(9,a),n.d=r+1):(nlq(),nlq(),++n4o,a=new FD(3,a),n.d=r),a.Om(i),a.Nm(e),nlD(n)}}return a}function nlT(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v;if(LB(n.a,t)){if(vF(O2(NB(n.a,t),49),e))return 1}else $S(n.a,t,new dV);if(LB(n.a,e)){if(vF(O2(NB(n.a,e),49),t))return -1}else $S(n.a,e,new dV);if(LB(n.e,t)){if(vF(O2(NB(n.e,t),49),e))return -1}else $S(n.e,t,new dV);if(LB(n.e,e)){if(vF(O2(NB(n.a,e),49),t))return 1}else $S(n.e,e,new dV);if(n.c==(Zf(),nGA)||!Pn(t,(nlB(),nK5))||!Pn(e,(nlB(),nK5))){for(f=null,s=new fU(t.j);s.a(c=neV(n,e))?no4(n,t,e):no4(n,e,t),rc?1:0}return(i=O2(niB(t,(nlB(),nK5)),17).a)>(a=O2(niB(e,nK5),17).a)?no4(n,t,e):no4(n,e,t),ia?1:0}function nlE(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m;if(null==e)return null;if(n.a!=t.jk())throw new pN(njK+t.xe()+njF).e;if(EM(t,469)){if(!(d=function(n,t){var e,i,r;if(null==t){for(n.a||(n.a=new LE(n02,n,9,5)),i=new E2(n.a);i.e!=i.i.gc();)if((null==(r=(e=O2(Z9(i),694)).c)?e.zb:r)==null)return e}else for(n.a||(n.a=new LE(n02,n,9,5)),i=new E2(n.a);i.e!=i.i.gc();)if(Cq(t,null==(r=(e=O2(Z9(i),694)).c)?e.zb:r))return e;return null}(O2(t,685),e)))throw new pN(nj_+e+"' is not a valid enumerator of '"+t.xe()+"'").e;return d}switch(QQ((nr_(),n27),t).Nl()){case 2:e=nhU(e,!1);break;case 3:e=nhU(e,!0)}if(i=QQ(n27,t).Jl())return i.jk().wi().ti(i,e);if(f=QQ(n27,t).Ll()){for(d=new du,o=WI(e),s=0,h=o.length;s=u.b.c)&&(u.b=t),(!u.c||t.c<=u.c.c)&&(u.d=u.c,u.c=t),(!u.e||t.d>=u.e.d)&&(u.e=t),(!u.f||t.d<=u.f.d)&&(u.f=t);return i=new nni((Vk(),n$8)),Km(n,nDa,new pU(Vp(x2(nI7,1),nbe,382,0,[i]))),c=new nni(nDn),Km(n,nDr,new pU(Vp(x2(nI7,1),nbe,382,0,[c]))),r=new nni(n$9),Km(n,nDi,new pU(Vp(x2(nI7,1),nbe,382,0,[r]))),a=new nni(n$7),Km(n,nDe,new pU(Vp(x2(nI7,1),nbe,382,0,[a]))),nuc(i.c,n$8),nuc(r.c,n$9),nuc(a.c,n$7),nuc(c.c,nDn),u.a.c.length=0,Vs(u.a,i.c),Vs(u.a,Yc(r.c)),Vs(u.a,a.c),Vs(u.a,Yc(c.c)),u}(h)),Km(k.a,nDc,new pU(Vp(x2(nI7,1),nbe,382,0,[y]))),y.d&&EB(y.f,y.d),y.f),e}(n,O2(f.Pb(),36)),EB(u.a,i),i.a=!O2(niB(i.c,(nlB(),nKF)),21).dc()|i.a;for(n.b=(W0(),(T=new tu).f=new qX(e),T.b=function(n,t){var e,i,r,a,c,u,o,s,h,f,l;for(n.a=new NV((f=O2(nLR.e&&nLR.e(),9),l=O2(HE(f.slice(),f),9),new Oe(f,l,f.length))),i=new fU(t.a);i.anbZ)&&u<10);l=n.c,b=new ts,l.e=b,nfC(n),nfW(w=n.c,(Jf(),nY7)),w.d=!0,function(n){var t,e,i,r,a,c,u,o;for(a=new fU(n.a.b);a.a=0;o--)g=function(n){var t,e,i;return QM(n,0)>=0?(e=neL(n,nwx),i=YW(n,nwx)):(e=neL(t=Li(n,1),5e8),i=JH(Lt(i=YW(t,5e8),1),RU(n,1))),RG(Lt(i,32),RU(e,nwY))}(JH(Lt(M,32),RU(E[o],nwY))),E[o]=AZ(g),M=AZ(Le(g,32));p=AZ(M),d=e;do v[--e]=48+p%10&nwt;while(0!=(p=p/10|0)&&0!=e);for(u=0,i=9-d+e;u0;u++)v[--e]=48;for(h=S-1;0==E[h];h--)if(0==h)break r;S=h+1}for(;48==v[e];)++e}if(l=j<0,a=m-e-t-1,0==t)return l&&(v[--e]=45),Zo(v,e,m-e);if(t>0&&a>=-6){if(a>=0){for(s=e+a,f=m-1;f>=s;f--)v[f+1]=v[f];return v[++s]=46,l&&(v[--e]=45),Zo(v,e,m-e+1)}for(h=2;h<-a+1;h++)v[--e]=48;return v[--e]=46,v[--e]=48,l&&(v[--e]=45),Zo(v,e,m-e)}return T=e+1,k=new p3,l&&(k.a+="-"),m-T>=1?(N0(k,v[e]),k.a+=".",k.a+=Zo(v,e+1,m-e-1)):k.a+=Zo(v,e,m-e),k.a+="E",a>0&&(k.a+="+"),k.a+=""+a,k.a}function nlI(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k;switch(n.c=t,n.g=new dc,kv(),Ys(new ld(new pk(n.c))),p=PA(ncR(n.c,(niG(),nQa))),c=O2(ncR(n.c,nQu),324),v=O2(ncR(n.c,nQo),437),r=O2(ncR(n.c,nQn),490),m=O2(ncR(n.c,nQc),438),n.j=pE(PI(ncR(n.c,nQs))),a=n.a,c.g){case 0:a=n.a;break;case 1:a=n.b;break;case 2:a=n.i;break;case 3:a=n.e;break;case 4:a=n.f;break;default:throw new pN(nMa+(null!=c.f?c.f:""+c.g)).e}if(n.d=new xS(a,v,r),VF(n.d,(zg(),nNm),PO(ncR(n.c,nQe))),n.d.c=pT(PO(ncR(n.c,nQt))),0==Dx(n.c).i)return n.d;for(s=new E2(Dx(n.c));s.e!=s.i.gc();){for(f=(o=O2(Z9(s),27)).g/2,h=o.f/2,k=new MH(o.i+f,o.j+h);LB(n.g,k);)Po(k,(nPH.Math.random()-.5)*ng0,(nPH.Math.random()-.5)*ng0);b=O2(ncR(o,(nlH(),nJ2)),140),w=new x4(k,new $9(k.a-f-n.j/2-b.b,k.b-h-n.j/2-b.d,o.g+n.j+(b.b+b.c),o.f+n.j+(b.d+b.a))),EB(n.d.i,w),$S(n.g,k,new ja(w,o))}switch(m.g){case 0:if(null==p)n.d.d=O2(I6(n.d.i,0),68);else for(g=new fU(n.d.i);g.a1&&FG(h,p,h.c.b,h.c),Gb(r)));p=m}return h}function nlL(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p;for(i=new du,u=new du,g=t/2,b=n.gc(),r=O2(n.Xb(0),8),p=O2(n.Xb(1),8),EB(i,(RR(0,(w=ncD(r.a,r.b,p.a,p.b,g)).c.length),O2(w.c[0],8))),EB(u,(RR(1,w.c.length),O2(w.c[1],8))),s=2;s=0;o--)ID(e,(RR(o,c.c.length),O2(c.c[o],8)));return e}function nlN(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v;for(m=pE(PI(ncR(t,(noN(),nVW)))),l=pE(PI(ncR(t,nVz))),f=pE(PI(ncR(t,nVG))),XM((t.a||(t.a=new LE(nNr,t,10,11)),t.a)),g=nh5((t.a||(t.a=new LE(nNr,t,10,11)),t.a),m,n.b),d=0;d=t.o&&e.f<=t.f||.5*t.a<=e.f&&1.5*t.a>=e.f){if((a=O2(I6(t.n,t.n.c.length-1),209)).e+a.d+e.g+r<=i&&(O2(I6(t.n,t.n.c.length-1),209).f-n.f+e.f<=n.b||1==n.a.c.length))return J3(t,e),!0;if(t.s+e.g<=i&&(t.t+t.d+e.f+r<=n.b||1==n.a.c.length))return EB(t.b,e),c=O2(I6(t.n,t.n.c.length-1),209),EB(t.n,new xC(t.s,c.f+c.a+t.i,t.i)),nn5(O2(I6(t.n,t.n.c.length-1),209),e),nhr(t,e),!0}return!1}(n,t,a,i,r)&&(c=!0,function(n,t){var e,i;for(H6(n.b,t),i=new fU(n.n);i.al&&ner((RR(l,t.c.length),O2(t.c[l],186)),h),h=null;t.c.length>l&&0==(RR(l,t.c.length),O2(t.c[l],186)).a.c.length;)H6(t,(RR(l,t.c.length),t.c[l]));if(!h){--c;continue}if(!pT(PO(O2(I6(h.b,0),27).of((nof(),nWf))))&&function(n,t,e,i,r,a,c,u){var o,s,h;return h=!1,s=a-e.s,o=e.t-t.f+nh$(e,s,!1).a,!(i.g+u>s)&&(o+u+nh$(i,s,!1).a<=t.b&&(Hg(e,a-e.s),e.c=!0,Hg(i,a-e.s),nnD(i,e.s,e.t+e.d+u),i.k=!0,zu(e.q,i),h=!0,r&&(qO(t,i),i.j=t,n.c.length>c&&(ner((RR(c,n.c.length),O2(n.c[c],186)),i),0==(RR(c,n.c.length),O2(n.c[c],186)).a.c.length&&_Y(n,c)))),h)}(t,w,a,h,g,e,l,i)){d=!0;continue}if(g){if(b=w.b,f=h.f,!pT(PO(O2(I6(h.b,0),27).of(nWf)))&&function(n,t,e,i,r,a,c,u){var o,s,h,f,l,b,w,d;if(b=!1,o=nuk(e.q,t.f+t.b-e.q.f),l=i.f>t.b&&u,h=nh$(i,d=r-(e.q.e+o-c),!1).a,l&&h>i.f)return!1;if(l){for(f=0,w=new fU(t.d);w.a=(RR(a,n.c.length),O2(n.c[a],186)).e,(!!l||!(h>t.b)||!!s)&&((s||l||h<=t.b)&&(s&&h>t.b?(e.d=h,Hg(e,nrw(e,h))):(neW(e.q,o),e.c=!0),Hg(i,r-(e.s+e.r)),nnD(i,e.q.e+e.q.d,t.f),qO(t,i),n.c.length>a&&(ner((RR(a,n.c.length),O2(n.c[a],186)),i),0==(RR(a,n.c.length),O2(n.c[a],186)).a.c.length&&_Y(n,a)),b=!0),b))}(t,w,a,h,e,l,i,r)){if(d=!0,b0?n.b:0),++e;t.b=i,t.e=r}(n,o),d+1=n.j){n.a=-1,n.c=1;return}if(t=$W(n.i,n.d++),n.a=t,1==n.b){switch(t){case 92:if(i=10,n.d>=n.j)throw new pH(nlQ((T9(),nTP))).e;n.a=$W(n.i,n.d++);break;case 45:(512&n.e)==512&&n.d=n.j||63!=$W(n.i,n.d))break;if(++n.d>=n.j)throw new pH(nlQ((T9(),nTC))).e;switch(t=$W(n.i,n.d++)){case 58:i=13;break;case 61:i=14;break;case 33:i=15;break;case 91:i=19;break;case 62:i=18;break;case 60:if(n.d>=n.j)throw new pH(nlQ((T9(),nTC))).e;if(61==(t=$W(n.i,n.d++)))i=16;else if(33==t)i=17;else throw new pH(nlQ((T9(),nTO))).e;break;case 35:for(;n.d=n.j)throw new pH(nlQ((T9(),nTP))).e;n.a=$W(n.i,n.d++);break;default:i=0}n.c=i}function nlx(n,t){var e,i,r,a,c,u,o,h,f,l,b,w,d,g,p,m,v,k,y;y=!1;do for(y=!1,a=t?new fS(n.a.b).a.gc()-2:1;t?a>=0:a(a=O2(i,17),Eu(t.a,a.a)))return!1;return!0}(n.a,QR(a))&&n.r==(nse(),nGv)||function(n,t){var e,i,r,a;for(r=new fL(new fS(n.b).a.vc().Kc());r.a.Ob();)if(e=O2(r.a.Pb(),44),i=O2(e.ld(),34),a=O2(i,17),Eu(t.a,a.a)>0)return!1;return!0}(n.a,QR(a))&&n.r==(nse(),nGk))){for(m=0,k=!0;mO2(niB(p,nK5),17).a)&&(k=!1);if(k){for(o=t?a+1:a-1,u=Fe(n.a,QR(o)),c=!1,v=!0,i=!1,f=ZZ(u,0);f.b!=f.d.c;)Pn(h=O2(K6(f),10),nK5)?h.p!=l.p&&(c|=t?O2(niB(h,nK5),17).aO2(niB(l,nK5),17).a,v=!1):!c&&v&&h.k==(nrn(),nDv)&&(i=!0,(b=t?O2(_$(new Lc(Sb(JQ(h).a.Kc(),new s))),18).c.i:O2(_$(new Lc(Sb(JJ(h).a.Kc(),new s))),18).d.i)==l&&(e=t?O2(_$(new Lc(Sb(JJ(h).a.Kc(),new s))),18).d.i:O2(_$(new Lc(Sb(JQ(h).a.Kc(),new s))),18).c.i,(t?O2(Pi(n.a,e),17).a-O2(Pi(n.a,b),17).a:O2(Pi(n.a,b),17).a-O2(Pi(n.a,e),17).a)<=2&&(v=!1)));if(i&&v&&(e=t?O2(_$(new Lc(Sb(JJ(l).a.Kc(),new s))),18).d.i:O2(_$(new Lc(Sb(JQ(l).a.Kc(),new s))),18).c.i,(t?O2(Pi(n.a,e),17).a-O2(Pi(n.a,l),17).a:O2(Pi(n.a,l),17).a-O2(Pi(n.a,e),17).a)<=2&&e.k==(nrn(),nDy)&&(v=!1)),c||v){for(g=nuo(n,l,t);0!=g.a.gc();)d=O2(g.a.ec().Kc().Pb(),10),g.a.Bc(d),XR(g,nuo(n,d,t));--w,y=!0}}}while(y)}function nlR(){nlR=T,nlS(),na_(nDw=new xb,(nf9(),n1s),n1o),na_(nDw,n1v,n1o),na_(nDw,n1h,n1o),na_(nDw,n1g,n1o),na_(nDw,n1d,n1o),na_(nDw,n1b,n1o),na_(nDw,n1g,n1s),na_(nDw,n1o,n1r),na_(nDw,n1s,n1r),na_(nDw,n1v,n1r),na_(nDw,n1h,n1r),na_(nDw,n1w,n1r),na_(nDw,n1g,n1r),na_(nDw,n1d,n1r),na_(nDw,n1b,n1r),na_(nDw,n1u,n1r),na_(nDw,n1o,n1p),na_(nDw,n1s,n1p),na_(nDw,n1r,n1p),na_(nDw,n1v,n1p),na_(nDw,n1h,n1p),na_(nDw,n1w,n1p),na_(nDw,n1g,n1p),na_(nDw,n1u,n1p),na_(nDw,n1m,n1p),na_(nDw,n1d,n1p),na_(nDw,n1f,n1p),na_(nDw,n1b,n1p),na_(nDw,n1s,n1v),na_(nDw,n1h,n1v),na_(nDw,n1g,n1v),na_(nDw,n1b,n1v),na_(nDw,n1s,n1h),na_(nDw,n1v,n1h),na_(nDw,n1g,n1h),na_(nDw,n1h,n1h),na_(nDw,n1d,n1h),na_(nDw,n1o,n1a),na_(nDw,n1s,n1a),na_(nDw,n1r,n1a),na_(nDw,n1p,n1a),na_(nDw,n1v,n1a),na_(nDw,n1h,n1a),na_(nDw,n1w,n1a),na_(nDw,n1g,n1a),na_(nDw,n1m,n1a),na_(nDw,n1u,n1a),na_(nDw,n1b,n1a),na_(nDw,n1d,n1a),na_(nDw,n1l,n1a),na_(nDw,n1o,n1m),na_(nDw,n1s,n1m),na_(nDw,n1r,n1m),na_(nDw,n1v,n1m),na_(nDw,n1h,n1m),na_(nDw,n1w,n1m),na_(nDw,n1g,n1m),na_(nDw,n1u,n1m),na_(nDw,n1b,n1m),na_(nDw,n1f,n1m),na_(nDw,n1l,n1m),na_(nDw,n1s,n1u),na_(nDw,n1v,n1u),na_(nDw,n1h,n1u),na_(nDw,n1g,n1u),na_(nDw,n1m,n1u),na_(nDw,n1b,n1u),na_(nDw,n1d,n1u),na_(nDw,n1o,n1c),na_(nDw,n1s,n1c),na_(nDw,n1r,n1c),na_(nDw,n1v,n1c),na_(nDw,n1h,n1c),na_(nDw,n1w,n1c),na_(nDw,n1g,n1c),na_(nDw,n1u,n1c),na_(nDw,n1b,n1c),na_(nDw,n1s,n1d),na_(nDw,n1r,n1d),na_(nDw,n1p,n1d),na_(nDw,n1h,n1d),na_(nDw,n1o,n1f),na_(nDw,n1s,n1f),na_(nDw,n1p,n1f),na_(nDw,n1v,n1f),na_(nDw,n1h,n1f),na_(nDw,n1w,n1f),na_(nDw,n1g,n1f),na_(nDw,n1g,n1l),na_(nDw,n1h,n1l),na_(nDw,n1u,n1o),na_(nDw,n1u,n1v),na_(nDw,n1u,n1r),na_(nDw,n1w,n1o),na_(nDw,n1w,n1s),na_(nDw,n1w,n1p)}function nlK(n,t){switch(n.e){case 0:case 2:case 4:case 6:case 42:case 44:case 46:case 48:case 8:case 10:case 12:case 14:case 16:case 18:case 20:case 22:case 24:case 26:case 28:case 30:case 32:case 34:case 36:case 38:return new DB(n.b,n.a,t,n.c);case 1:return new EG(n.a,t,Yy(t.Dh(),n.c));case 43:return new EW(n.a,t,Yy(t.Dh(),n.c));case 3:return new EU(n.a,t,Yy(t.Dh(),n.c));case 45:return new EV(n.a,t,Yy(t.Dh(),n.c));case 41:return new Hb(O2(nes(n.c),29),n.a,t,Yy(t.Dh(),n.c));case 50:return new qV(O2(nes(n.c),29),n.a,t,Yy(t.Dh(),n.c));case 5:return new CA(n.a,t,Yy(t.Dh(),n.c),n.d.n);case 47:return new CL(n.a,t,Yy(t.Dh(),n.c),n.d.n);case 7:return new LE(n.a,t,Yy(t.Dh(),n.c),n.d.n);case 49:return new CI(n.a,t,Yy(t.Dh(),n.c),n.d.n);case 9:return new Ez(n.a,t,Yy(t.Dh(),n.c));case 11:return new EX(n.a,t,Yy(t.Dh(),n.c));case 13:return new Eq(n.a,t,Yy(t.Dh(),n.c));case 15:return new Id(n.a,t,Yy(t.Dh(),n.c));case 17:return new EY(n.a,t,Yy(t.Dh(),n.c));case 19:return new EJ(n.a,t,Yy(t.Dh(),n.c));case 21:return new EQ(n.a,t,Yy(t.Dh(),n.c));case 23:return new Iw(n.a,t,Yy(t.Dh(),n.c));case 25:return new CF(n.a,t,Yy(t.Dh(),n.c),n.d.n);case 27:return new CK(n.a,t,Yy(t.Dh(),n.c),n.d.n);case 29:return new Cx(n.a,t,Yy(t.Dh(),n.c),n.d.n);case 31:return new CN(n.a,t,Yy(t.Dh(),n.c),n.d.n);case 33:return new CR(n.a,t,Yy(t.Dh(),n.c),n.d.n);case 35:return new CD(n.a,t,Yy(t.Dh(),n.c),n.d.n);case 37:return new C$(n.a,t,Yy(t.Dh(),n.c),n.d.n);case 39:return new LC(n.a,t,Yy(t.Dh(),n.c),n.d.n);case 40:return new zS(t,Yy(t.Dh(),n.c));default:throw new ph("Unknown feature style: "+n.e).e}}function nlF(n){var t,e,i,r,a,c,u,o;for(a=0,r=n.a.b,o=ZZ(n.a,0);o.b!=o.d.c;){if(u=O2(K6(o),240),c=(a+1)/(r+1),!n.c&&!n.d)return;n.c&&!n.d?(n.g=!0,n.b==(Jf(),nY7)?(i=n.c.e.b+n.c.f.b+n.e*(a+1),t=new MH(pE(PI(niB(n.c,(nf6(),nXL))))+n.e,i),e=new MH(pE(PI(niB(n.c,nXN)))-n.e,i)):n.b==nZn?(i=n.c.e.b+n.c.f.b+n.e*(a+1),t=new MH(pE(PI(niB(n.c,(nf6(),nXN))))-n.e,i),e=new MH(pE(PI(niB(n.c,nXL)))+n.e,i)):n.b==nZe?(t=new MH(i=n.c.e.a+n.c.f.a+n.e*(a+1),pE(PI(niB(n.c,(nf6(),nXL))))+n.e),e=new MH(i,pE(PI(niB(n.c,nXN)))-n.e)):(t=new MH(i=n.c.e.a+n.c.f.a+n.e*(a+1),pE(PI(niB(n.c,(nf6(),nXN))))-n.e),e=new MH(i,pE(PI(niB(n.c,nXL)))+n.e))):n.c&&n.d?n.b==(Jf(),nY7)?(i=n.d.e.b*c+(n.c.e.b+n.c.f.b)*(1-c),t=new MH(pE(PI(niB(n.c,(nf6(),nXL))))+n.e,i),e=new MH(pE(PI(niB(n.c,nXN)))-n.e,i)):n.b==nZn?(i=n.d.e.b*c+(n.c.e.b+n.c.f.b)*(1-c),t=new MH(pE(PI(niB(n.c,(nf6(),nXN))))-n.e,i),e=new MH(pE(PI(niB(n.c,nXL)))+n.e,i)):n.b==nZe?(t=new MH(i=n.d.e.a*c+(n.c.e.a+n.c.f.a)*(1-c),pE(PI(niB(n.c,(nf6(),nXL))))+n.e),e=new MH(i,pE(PI(niB(n.c,nXN)))-n.e)):(t=new MH(i=n.d.e.a*c+(n.c.e.a+n.c.f.a)*(1-c),pE(PI(niB(n.c,(nf6(),nXN))))-n.e),e=new MH(i,pE(PI(niB(n.c,nXL)))+n.e)):(n.f=!0,n.b==(Jf(),nY7)?(i=n.d.e.b-n.e*(a+1),t=new MH(pE(PI(niB(n.d,(nf6(),nXL))))+n.e,i),e=new MH(pE(PI(niB(n.d,nXN)))-n.e,i)):n.b==nZn?(i=n.d.e.b-n.e*(a+1),t=new MH(pE(PI(niB(n.d,(nf6(),nXN))))-n.e,i),e=new MH(pE(PI(niB(n.d,nXL)))+n.e,i)):n.b==nZe?(t=new MH(i=n.d.e.a-n.e*(a+1),pE(PI(niB(n.d,(nf6(),nXL))))+n.e),e=new MH(i,pE(PI(niB(n.d,nXN)))-n.e)):(t=new MH(i=n.d.e.a-n.e*(a+1),pE(PI(niB(n.d,(nf6(),nXN))))-n.e),e=new MH(i,pE(PI(niB(n.d,nXL)))+n.e))),O2(u.a,8).a=t.a,O2(u.a,8).b=t.b,u.b.a=e.a,u.b.b=e.b,++a}}function nl_(n,t,e,i){var r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k,y,M,j,T,E,S,P,C;if(noZ(t),o=O2(GA((t.b||(t.b=new CK(nL5,t,4,7)),t.b),0),84),h=O2(GA((t.c||(t.c=new CK(nL5,t,5,8)),t.c),0),84),u=nip(o),s=nip(h),c=0==(t.a||(t.a=new LE(nL9,t,6,6)),t.a).i?null:O2(GA((t.a||(t.a=new LE(nL9,t,6,6)),t.a),0),166),M=O2(NB(n.a,u),10),S=O2(NB(n.a,s),10),j=null,P=null,EM(o,193)&&(EM(y=O2(NB(n.a,o),305),12)?j=O2(y,12):EM(y,10)&&(M=O2(y,10),j=O2(I6(M.j,0),12))),EM(h,193)&&(EM(E=O2(NB(n.a,h),305),12)?P=O2(E,12):EM(E,10)&&(S=O2(E,10),P=O2(I6(S.j,0),12))),!M||!S)throw new pF("The source or the target of edge "+t+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN.").e;for(zX(d=new D4,t),VF(d,(nlB(),nK8),t),VF(d,(nl$(),nHO),null),b=O2(niB(i,nKq),21),M==S&&b.Fc((noe(),nKw)),j||(qj(),k=nGK,T=null,c&&T$(O2(niB(M,nUi),101))&&(Fy(T=new MH(c.j,c.k),xI(t)),_s(T,e),Gp(s,u)&&(k=nGR,CP(T,M.n))),j=nhV(M,T,k,i)),P||(qj(),k=nGR,C=null,c&&T$(O2(niB(S,nUi),101))&&(Fy(C=new MH(c.b,c.c),xI(t)),_s(C,e)),P=nhV(S,C,k,$u(S))),Rs(d,j),Rl(d,P),(j.e.c.length>1||j.g.c.length>1||P.e.c.length>1||P.g.c.length>1)&&b.Fc((noe(),nKs)),l=new E2((t.n||(t.n=new LE(nNi,t,1,7)),t.n));l.e!=l.i.gc();)if(!pT(PO(ncR(f=O2(Z9(l),135),nH0)))&&f.a)switch(g=Qk(f),EB(d.b,g),O2(niB(g,nHo),278).g){case 1:case 2:b.Fc((noe(),nKu));break;case 0:b.Fc((noe(),nKa)),VF(g,nHo,(Gx(),nZr))}if(a=O2(niB(i,nHn),322),p=O2(niB(i,nHQ),323),r=a==(qK(),nRT)||p==(nno(),nGb),c&&0!=(c.a||(c.a=new EU(nL3,c,5)),c.a).i&&r){for(m=nrg(c),w=new gE,v=ZZ(m,0);v.b!=v.d.c;)ID(w,new TP(O2(K6(v),8)));VF(d,nK9,w)}return d}function nlB(){var n,t;nlB=T,nK8=new wX(npd),nKL=new wX("coordinateOrigin"),nFu=new wX("processors"),nKA=new P7("compoundNode",(SB(),!1)),nKV=new P7("insideConnections",!1),nK9=new wX("originalBendpoints"),nK7=new wX("originalDummyNodePosition"),nFn=new wX("originalLabelEdge"),nFs=new wX("representedLabels"),nKR=new wX("endLabels"),nKK=new wX("endLabel.origin"),nKZ=new P7("labelSide",(ntz(),nZ$)),nK6=new P7("maxEdgeThickness",0),nFh=new P7("reversed",!1),nFo=new wX(npg),nK2=new P7("longEdgeSource",null),nK3=new P7("longEdgeTarget",null),nK0=new P7("longEdgeHasLabelDummies",!1),nK1=new P7("longEdgeBeforeLabelDummy",!1),nKx=new P7("edgeConstraint",(Vq(),nRH)),nKQ=new wX("inLayerLayoutUnit"),nKW=new P7("inLayerConstraint",(UE(),nKy)),nKJ=new P7("inLayerSuccessorConstraint",new du),nKY=new P7("inLayerSuccessorConstraintBetweenNonDummies",!1),nFa=new wX("portDummy"),nKN=new P7("crossingHint",QR(0)),nKq=new P7("graphProperties",new Oe(t=O2(mP(nAI),9),O2(Cs(t,t.length),9),0)),nKH=new P7("externalPortSide",(nf9(),n1y)),nKU=new P7("externalPortSize",new mm),nK_=new wX("externalPortReplacedDummies"),nKB=new wX("externalPortReplacedDummy"),nKF=new P7("externalPortConnections",new Oe(n=O2(mP(nLz),9),O2(Cs(n,n.length),9),0)),nFc=new P7(ngi,0),nKP=new wX("barycenterAssociates"),nFk=new wX("TopSideComments"),nKC=new wX("BottomSideComments"),nKI=new wX("CommentConnectionPort"),nKz=new P7("inputCollect",!1),nFi=new P7("outputCollect",!1),nKD=new P7("cyclic",!1),nK$=new wX("crossHierarchyMap"),nFv=new wX("targetOffset"),new P7("splineLabelSize",new mm),nFb=new wX("spacings"),nFr=new P7("partitionConstraint",!1),nKO=new wX("breakingPoint.info"),nFp=new wX("splines.survivingEdge"),nFg=new wX("splines.route.start"),nFw=new wX("splines.edgeChain"),nFe=new wX("originalPortConstraints"),nFl=new wX("selfLoopHolder"),nFd=new wX("splines.nsPortY"),nK5=new wX("modelOrder"),nK4=new wX("longEdgeTargetNode"),nKG=new P7(nmk,!1),nFf=new P7(nmk,!1),nKX=new wX("layerConstraints.hiddenNodes"),nFt=new wX("layerConstraints.opposidePort"),nFm=new wX("targetNode.modelOrder")}function nlH(){var n,t;nlH=T,nJT=new wX(nMB),nYN=new wX(nMH),nnO(),nJE=new Tu(nkc,nJS=nQ9),new da,nJP=new Tu(ngR,null),nJC=new wX(nMU),neY(),nJ$=new Tu(nkm,nJD=AR(nJM,Vp(x2(nLx,1),nbz,298,0,[nJm]))),nJx=new Tu(nka,(SB(),!1)),Jf(),nJR=new Tu(nks,nJK=nZt),Jz(),nJH=new Tu(nvH,nJU=nZf),nJX=new Tu(nMF,!1),QA(),nJz=new Tu(nvR,nJV=nZC),nYu=new Tu(ngK,nYo=new TW(12)),nJY=new Tu(npt,!1),nJZ=new Tu(nkI,!1),nYc=new Tu(npr,!1),nia(),nYy=new Tu(npe,nYM=nZ3),nYI=new wX(nkP),nYA=new wX(ng5),nYL=new wX(ng7),nYD=new wX(npn),nJ1=new Tu(nkv,nJ0=new gE),nJN=new Tu(nkM,!1),nJW=new Tu(nkj,!1),new wX(nMG),nJ2=new Tu(nkC,nJ3=new gd),nYa=new Tu(nki,!1),new da,nY$=new Tu(nMq,1),nJL=new wX(nMX),nJA=new wX(nMz),nY1=new Tu(nph,!1),new Tu(nMV,!0),QR(0),new Tu(nMW,QR(100)),new Tu(nMQ,!1),QR(0),new Tu(nMJ,QR(4e3)),QR(0),new Tu(nMY,QR(400)),new Tu(nMZ,!1),new Tu(nM1,!1),new Tu(nM0,!0),new Tu(nM2,!1),Yp(),nJO=new Tu(nM_,nJI=n11),nYx=new Tu(nv0,10),nYR=new Tu(nv2,10),nYK=new Tu(ngD,20),nYF=new Tu(nv3,10),nY_=new Tu(ng9,2),nYB=new Tu(nv4,10),nYU=new Tu(nv6,0),nYG=new Tu(nv9,5),nYq=new Tu(nv5,1),nYX=new Tu(nv8,1),nYz=new Tu(ng8,20),nYV=new Tu(nv7,10),nYJ=new Tu(nkn,10),nYH=new wX(nkt),nYW=new Tu(nkO,nYQ=new TM),nYf=new wX(nkS),nYs=new Tu(nkE,nYh=!1),nJ4=new Tu(nkh,nJ6=new TW(5)),ncK(),nJ5=new Tu(npo,nJ8=new Oe(t=O2(mP(nLU),9),O2(Cs(t,t.length),9),0)),Z4(),nYb=new Tu(nkb,nYw=nZV),nYg=new wX(nkw),nYp=new wX(nkd),nYm=new wX(nkg),nYd=new wX(nkp),nJ9=new Tu(npu,nJ7=new Oe(n=O2(mP(nLV),9),O2(Cs(n,n.length),9),0)),nYi=new Tu(npc,nYr=JI((nsM(),n1x))),nYt=new Tu(npS,nYe=new MH(0,0)),nYn=new Tu(npa,!1),Gx(),nJ_=new Tu(nkk,nJB=nZr),nJF=new Tu(npi,!1),new wX(nM3),QR(1),new Tu(nM4,null),nYv=new wX(nkT),nYj=new wX(nky),nf9(),nYC=new Tu(nkr,nYO=n1y),nYk=new wX(nke),nak(),nYE=new Tu(nps,nYS=JI(nZ7)),nYT=new Tu(nkf,!1),nYP=new Tu(nkl,!0),new da,nY4=new Tu(npf,1),nY5=new Tu(nM6,null),nYZ=new Tu(npl,150),nYY=new Tu(npb,1.414),nY0=new Tu(npw,null),nY2=new Tu(nM5,1),nJQ=new Tu(nku,!1),nJJ=new Tu(nko,!1),nJG=new Tu(ngx,1),niC(),new Tu(nM8,nJq=nZp),nYl=!0,QI(),nY6=n1G,nY8=n1G,nY3=n1G}function nlU(){nlU=T,nDX=new yc("DIRECTION_PREPROCESSOR",0),nDU=new yc("COMMENT_PREPROCESSOR",1),nDz=new yc("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),nD7=new yc("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),nxm=new yc("PARTITION_PREPROCESSOR",4),nxi=new yc("LABEL_DUMMY_INSERTER",5),nxT=new yc("SELF_LOOP_PREPROCESSOR",6),nxo=new yc("LAYER_CONSTRAINT_PREPROCESSOR",7),nxg=new yc("PARTITION_MIDPROCESSOR",8),nD4=new yc("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),nxl=new yc("NODE_PROMOTION",10),nxu=new yc("LAYER_CONSTRAINT_POSTPROCESSOR",11),nxp=new yc("PARTITION_POSTPROCESSOR",12),nD1=new yc("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),nxS=new yc("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),nDR=new yc("BREAKING_POINT_INSERTER",15),nxf=new yc("LONG_EDGE_SPLITTER",16),nxk=new yc("PORT_SIDE_PROCESSOR",17),nxn=new yc("INVERTED_PORT_PROCESSOR",18),nxv=new yc("PORT_LIST_SORTER",19),nxC=new yc("SORT_BY_INPUT_ORDER_OF_MODEL",20),nxw=new yc("NORTH_SOUTH_PORT_PREPROCESSOR",21),nDK=new yc("BREAKING_POINT_PROCESSOR",22),nxd=new yc(np8,23),nxO=new yc(np9,24),nxM=new yc("SELF_LOOP_PORT_RESTORER",25),nxP=new yc("SINGLE_EDGE_GRAPH_WRAPPER",26),nxt=new yc("IN_LAYER_CONSTRAINT_PROCESSOR",27),nDJ=new yc("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),nxe=new yc("LABEL_AND_NODE_SIZE_PROCESSOR",29),nD9=new yc("INNERMOST_NODE_MARGIN_CALCULATOR",30),nxE=new yc("SELF_LOOP_ROUTER",31),nDB=new yc("COMMENT_NODE_MARGIN_CALCULATOR",32),nDW=new yc("END_LABEL_PREPROCESSOR",33),nxa=new yc("LABEL_DUMMY_SWITCHER",34),nD_=new yc("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),nxc=new yc("LABEL_SIDE_SELECTOR",36),nD5=new yc("HYPEREDGE_DUMMY_MERGER",37),nD0=new yc("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),nxs=new yc("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),nD3=new yc("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),nDG=new yc("CONSTRAINTS_POSTPROCESSOR",41),nDH=new yc("COMMENT_POSTPROCESSOR",42),nD8=new yc("HYPERNODE_PROCESSOR",43),nD2=new yc("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),nxh=new yc("LONG_EDGE_JOINER",45),nxj=new yc("SELF_LOOP_POSTPROCESSOR",46),nDF=new yc("BREAKING_POINT_REMOVER",47),nxb=new yc("NORTH_SOUTH_PORT_POSTPROCESSOR",48),nD6=new yc("HORIZONTAL_COMPACTOR",49),nxr=new yc("LABEL_DUMMY_REMOVER",50),nDY=new yc("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),nDQ=new yc("END_LABEL_SORTER",52),nxy=new yc("REVERSED_EDGE_RESTORER",53),nDV=new yc("END_LABEL_POSTPROCESSOR",54),nDZ=new yc("HIERARCHICAL_NODE_RESIZER",55),nDq=new yc("DIRECTION_POSTPROCESSOR",56)}function nlG(){nlG=T,U8(),n_n=new Tu(nmy,n_t=nRK),n_m=new Tu(nmM,(SB(),!1)),Fr(),n_j=new Tu(nmj,n_T=nKT),n_H=new Tu(nmT,!1),n_U=new Tu(nmE,!0),nFP=new Tu(nmS,!1),US(),n_9=new Tu(nmP,n_7=nG$),QR(1),nBu=new Tu(nmC,QR(7)),nBo=new Tu(nmO,!1),n_v=new Tu(nmI,!1),Zh(),nF9=new Tu(nmA,nF7=nRN),nuC(),n__=new Tu(nmL,n_B=nGn),Yg(),n_I=new Tu(nmN,n_A=nFE),QR(-1),n_O=new Tu(nm$,null),QR(-1),n_L=new Tu(nmD,QR(-1)),QR(-1),n_N=new Tu(nmx,QR(4)),QR(-1),n_D=new Tu(nmR,QR(2)),nse(),n_K=new Tu(nmK,n_F=nGS),QR(0),n_R=new Tu(nmF,QR(0)),n_P=new Tu(nm_,QR(nl5)),qK(),nF5=new Tu(nmB,nF8=nRE),nFU=new Tu(nmH,!1),nFY=new Tu(nmU,.1),nF4=new Tu(nmG,!1),nF1=new Tu(nmq,null),nF0=new Tu(nmX,null),QR(-1),nF2=new Tu(nmz,null),QR(-1),nF3=new Tu(nmV,QR(-1)),QR(0),nFG=new Tu(nmW,QR(40)),z1(),nFW=new Tu(nmQ,nFQ=nKm),nFq=new Tu(nmJ,nFX=nKg),nno(),n_5=new Tu(nmY,n_8=nGl),n_Q=new wX(nmZ),HB(),n_G=new Tu(nm1,n_q=nRY),ne_(),n_z=new Tu(nm0,n_V=nR4),new da,n_Z=new Tu(nm2,.3),n_0=new wX(nm3),nnP(),n_2=new Tu(nm4,n_3=nGs),zd(),n_o=new Tu(nm6,n_s=nGH),Wy(),n_h=new Tu(nm5,n_f=nGz),WZ(),n_l=new Tu(nm8,n_b=nGJ),n_d=new Tu(nm9,.2),n_c=new Tu(nm7,2),nBi=new Tu(nvn,null),nBa=new Tu(nvt,10),nBr=new Tu(nve,10),nBc=new Tu(nvi,20),QR(0),nBn=new Tu(nvr,QR(0)),QR(0),nBt=new Tu(nva,QR(0)),QR(0),nBe=new Tu(nvc,QR(0)),nFC=new Tu(nvu,!1),ni6(),nFA=new Tu(nvo,nFL=nKe),Bk(),nFO=new Tu(nvs,nFI=nRM),n_y=new Tu(nvh,!1),QR(0),n_k=new Tu(nvf,QR(16)),QR(0),n_M=new Tu(nvl,QR(5)),Vy(),nBI=new Tu(nvb,nBA=nG4),nBs=new Tu(nvw,10),nBl=new Tu(nvd,1),qM(),nBk=new Tu(nvg,nBy=nRI),nBd=new wX(nvp),nBm=QR(1),QR(0),nBp=new Tu(nvm,nBm),qy(),nBD=new Tu(nvv,nBx=nGZ),nBL=new wX(nvk),nBS=new Tu(nvy,!0),nBT=new Tu(nvM,2),nBC=new Tu(nvj,!0),nrr(),n_r=new Tu(nvT,n_a=nRW),nrU(),n_e=new Tu(nvE,n_i=nRg),Zf(),nFB=new Tu(nvS,nFH=nGI),nF_=new Tu(nvP,!1),nFF=new Tu(nvC,!1),ZP(),nFN=new Tu(nvO,nF$=nDl),QO(),nFR=new Tu(nvI,nFK=nGi),nFD=new Tu(nvA,0),nFx=new Tu(nvL,0),n_S=nRD,n_E=nRT,n_$=nU7,n_x=nU7,n_C=nU4,QA(),nFZ=nZP,nF6=nRE,nFJ=nRE,nFz=nRE,nFV=nZP,n_J=nGd,n_Y=nGl,n_X=nGl,n_W=nGl,n_1=nGw,n_6=nGd,n_4=nGd,Jz(),n_w=nZh,n_g=nZh,n_p=nGJ,n_u=nZs,nBh=nG6,nBf=nG3,nBb=nG6,nBw=nG3,nBM=nG6,nBj=nG3,nBg=nRO,nBv=nRI,nBR=nG6,nBK=nG3,nBN=nG6,nB$=nG3,nBP=nG3,nBE=nG3,nBO=nG3}function nlq(){nlq=T,n31=new dr(7),++n4o,n30=new Av(8,94),++n4o,new Av(8,64),++n4o,n32=new Av(8,36),++n4o,n39=new Av(8,65),++n4o,n37=new Av(8,122),++n4o,n4n=new Av(8,90),++n4o,n4i=new Av(8,98),++n4o,n35=new Av(8,66),++n4o,n4t=new Av(8,60),++n4o,n4r=new Av(8,62),n3Z=new dr(11),++n4o,nu6(n3Y=new RQ(4),48,57),++n4o,nu6(n4e=new RQ(4),48,57),nu6(n4e,65,90),nu6(n4e,95,95),nu6(n4e,97,122),++n4o,nu6(n38=new RQ(4),9,9),nu6(n38,10,10),nu6(n38,12,12),nu6(n38,13,13),nu6(n38,32,32),n33=ns5(n3Y),n36=ns5(n4e),n34=ns5(n38),n3V=new dc,n3W=new dc,n3Q=Vp(x2(nP$,1),nbj,2,6,["Cn","Lu","Ll","Lt","Lm","Lo","Mn","Me","Mc","Nd","Nl","No","Zs","Zl","Zp","Cc","Cf",null,"Co","Cs","Pd","Ps","Pe","Pc","Po","Sm","Sc","Sk","So","Pi","Pf","L","M","N","Z","C","P","S"]),n3z=Vp(x2(nP$,1),nbj,2,6,["Basic Latin","Latin-1 Supplement","Latin Extended-A","Latin Extended-B","IPA Extensions","Spacing Modifier Letters","Combining Diacritical Marks","Greek","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul Jamo","Ethiopic","Cherokee","Unified Canadian Aboriginal Syllabics","Ogham","Runic","Khmer","Mongolian","Latin Extended Additional","Greek Extended","General Punctuation","Superscripts and Subscripts","Currency Symbols","Combining Marks for Symbols","Letterlike Symbols","Number Forms","Arrows","Mathematical Operators","Miscellaneous Technical","Control Pictures","Optical Character Recognition","Enclosed Alphanumerics","Box Drawing","Block Elements","Geometric Shapes","Miscellaneous Symbols","Dingbats","Braille Patterns","CJK Radicals Supplement","Kangxi Radicals","Ideographic Description Characters","CJK Symbols and Punctuation","Hiragana","Katakana","Bopomofo","Hangul Compatibility Jamo","Kanbun","Bopomofo Extended","Enclosed CJK Letters and Months","CJK Compatibility","CJK Unified Ideographs Extension A","CJK Unified Ideographs","Yi Syllables","Yi Radicals","Hangul Syllables",nS4,"CJK Compatibility Ideographs","Alphabetic Presentation Forms","Arabic Presentation Forms-A","Combining Half Marks","CJK Compatibility Forms","Small Form Variants","Arabic Presentation Forms-B","Specials","Halfwidth and Fullwidth Forms","Old Italic","Gothic","Deseret","Byzantine Musical Symbols","Musical Symbols","Mathematical Alphanumeric Symbols","CJK Unified Ideographs Extension B","CJK Compatibility Ideographs Supplement","Tags"]),n3J=Vp(x2(n4f,1),nwd,28,15,[66304,66351,66352,66383,66560,66639,118784,119039,119040,119295,119808,120831,131072,173782,194560,195103,917504,917631])}function nlX(){nlX=T,nIx=new XJ("OUT_T_L",0,(HI(),nIh),(UT(),nIb),(GD(),nIa),nIa,Vp(x2(nPl,1),nbe,21,0,[AR((ncK(),nZB),Vp(x2(nLU,1),nbz,95,0,[nZG,nZR]))])),nID=new XJ("OUT_T_C",1,nIs,nIb,nIa,nIc,Vp(x2(nPl,1),nbe,21,0,[AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZG,nZx])),AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZG,nZx,nZK]))])),nIR=new XJ("OUT_T_R",2,nIf,nIb,nIa,nIu,Vp(x2(nPl,1),nbe,21,0,[AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZG,nZF]))])),nIP=new XJ("OUT_B_L",3,nIh,nId,nIu,nIa,Vp(x2(nPl,1),nbe,21,0,[AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZH,nZR]))])),nIS=new XJ("OUT_B_C",4,nIs,nId,nIu,nIc,Vp(x2(nPl,1),nbe,21,0,[AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZH,nZx])),AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZH,nZx,nZK]))])),nIC=new XJ("OUT_B_R",5,nIf,nId,nIu,nIu,Vp(x2(nPl,1),nbe,21,0,[AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZH,nZF]))])),nIA=new XJ("OUT_L_T",6,nIf,nId,nIa,nIa,Vp(x2(nPl,1),nbe,21,0,[AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZR,nZG,nZK]))])),nII=new XJ("OUT_L_C",7,nIf,nIw,nIc,nIa,Vp(x2(nPl,1),nbe,21,0,[AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZR,nZU])),AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZR,nZU,nZK]))])),nIO=new XJ("OUT_L_B",8,nIf,nIb,nIu,nIa,Vp(x2(nPl,1),nbe,21,0,[AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZR,nZH,nZK]))])),nI$=new XJ("OUT_R_T",9,nIh,nId,nIa,nIu,Vp(x2(nPl,1),nbe,21,0,[AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZF,nZG,nZK]))])),nIN=new XJ("OUT_R_C",10,nIh,nIw,nIc,nIu,Vp(x2(nPl,1),nbe,21,0,[AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZF,nZU])),AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZF,nZU,nZK]))])),nIL=new XJ("OUT_R_B",11,nIh,nIb,nIu,nIu,Vp(x2(nPl,1),nbe,21,0,[AR(nZB,Vp(x2(nLU,1),nbz,95,0,[nZF,nZH,nZK]))])),nIT=new XJ("IN_T_L",12,nIh,nId,nIa,nIa,Vp(x2(nPl,1),nbe,21,0,[AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZG,nZR])),AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZG,nZR,nZK]))])),nIj=new XJ("IN_T_C",13,nIs,nId,nIa,nIc,Vp(x2(nPl,1),nbe,21,0,[AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZG,nZx])),AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZG,nZx,nZK]))])),nIE=new XJ("IN_T_R",14,nIf,nId,nIa,nIu,Vp(x2(nPl,1),nbe,21,0,[AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZG,nZF])),AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZG,nZF,nZK]))])),nIy=new XJ("IN_C_L",15,nIh,nIw,nIc,nIa,Vp(x2(nPl,1),nbe,21,0,[AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZU,nZR])),AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZU,nZR,nZK]))])),nIk=new XJ("IN_C_C",16,nIs,nIw,nIc,nIc,Vp(x2(nPl,1),nbe,21,0,[AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZU,nZx])),AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZU,nZx,nZK]))])),nIM=new XJ("IN_C_R",17,nIf,nIw,nIc,nIu,Vp(x2(nPl,1),nbe,21,0,[AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZU,nZF])),AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZU,nZF,nZK]))])),nIm=new XJ("IN_B_L",18,nIh,nIb,nIu,nIa,Vp(x2(nPl,1),nbe,21,0,[AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZH,nZR])),AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZH,nZR,nZK]))])),nIp=new XJ("IN_B_C",19,nIs,nIb,nIu,nIc,Vp(x2(nPl,1),nbe,21,0,[AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZH,nZx])),AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZH,nZx,nZK]))])),nIv=new XJ("IN_B_R",20,nIf,nIb,nIu,nIu,Vp(x2(nPl,1),nbe,21,0,[AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZH,nZF])),AR(nZ_,Vp(x2(nLU,1),nbz,95,0,[nZH,nZF,nZK]))])),nIK=new XJ(nd9,21,null,null,null,null,Vp(x2(nPl,1),nbe,21,0,[]))}function nlz(){nlz=T,n2h=(NR(),n2o).b,O2(GA(DK(n2o.b),0),35),O2(GA(DK(n2o.b),1),19),n2s=n2o.a,O2(GA(DK(n2o.a),0),35),O2(GA(DK(n2o.a),1),19),O2(GA(DK(n2o.a),2),19),O2(GA(DK(n2o.a),3),19),O2(GA(DK(n2o.a),4),19),n2f=n2o.o,O2(GA(DK(n2o.o),0),35),O2(GA(DK(n2o.o),1),35),n2b=O2(GA(DK(n2o.o),2),19),O2(GA(DK(n2o.o),3),19),O2(GA(DK(n2o.o),4),19),O2(GA(DK(n2o.o),5),19),O2(GA(DK(n2o.o),6),19),O2(GA(DK(n2o.o),7),19),O2(GA(DK(n2o.o),8),19),O2(GA(DK(n2o.o),9),19),O2(GA(DK(n2o.o),10),19),O2(GA(DK(n2o.o),11),19),O2(GA(DK(n2o.o),12),19),O2(GA(DK(n2o.o),13),19),O2(GA(DK(n2o.o),14),19),O2(GA(DK(n2o.o),15),19),O2(GA(DR(n2o.o),0),62),O2(GA(DR(n2o.o),1),62),O2(GA(DR(n2o.o),2),62),O2(GA(DR(n2o.o),3),62),O2(GA(DR(n2o.o),4),62),O2(GA(DR(n2o.o),5),62),O2(GA(DR(n2o.o),6),62),O2(GA(DR(n2o.o),7),62),O2(GA(DR(n2o.o),8),62),O2(GA(DR(n2o.o),9),62),n2l=n2o.p,O2(GA(DK(n2o.p),0),35),O2(GA(DK(n2o.p),1),35),O2(GA(DK(n2o.p),2),35),O2(GA(DK(n2o.p),3),35),O2(GA(DK(n2o.p),4),19),O2(GA(DK(n2o.p),5),19),O2(GA(DR(n2o.p),0),62),O2(GA(DR(n2o.p),1),62),n2w=n2o.q,O2(GA(DK(n2o.q),0),35),n2d=n2o.v,O2(GA(DK(n2o.v),0),19),O2(GA(DR(n2o.v),0),62),O2(GA(DR(n2o.v),1),62),O2(GA(DR(n2o.v),2),62),n2g=n2o.w,O2(GA(DK(n2o.w),0),35),O2(GA(DK(n2o.w),1),35),O2(GA(DK(n2o.w),2),35),O2(GA(DK(n2o.w),3),19),n2p=n2o.B,O2(GA(DK(n2o.B),0),19),O2(GA(DR(n2o.B),0),62),O2(GA(DR(n2o.B),1),62),O2(GA(DR(n2o.B),2),62),n2k=n2o.Q,O2(GA(DK(n2o.Q),0),19),O2(GA(DR(n2o.Q),0),62),n2y=n2o.R,O2(GA(DK(n2o.R),0),35),n2M=n2o.S,O2(GA(DR(n2o.S),0),62),O2(GA(DR(n2o.S),1),62),O2(GA(DR(n2o.S),2),62),O2(GA(DR(n2o.S),3),62),O2(GA(DR(n2o.S),4),62),O2(GA(DR(n2o.S),5),62),O2(GA(DR(n2o.S),6),62),O2(GA(DR(n2o.S),7),62),O2(GA(DR(n2o.S),8),62),O2(GA(DR(n2o.S),9),62),O2(GA(DR(n2o.S),10),62),O2(GA(DR(n2o.S),11),62),O2(GA(DR(n2o.S),12),62),O2(GA(DR(n2o.S),13),62),O2(GA(DR(n2o.S),14),62),n2j=n2o.T,O2(GA(DK(n2o.T),0),19),O2(GA(DK(n2o.T),2),19),n2T=O2(GA(DK(n2o.T),3),19),O2(GA(DK(n2o.T),4),19),O2(GA(DR(n2o.T),0),62),O2(GA(DR(n2o.T),1),62),O2(GA(DK(n2o.T),1),19),n2E=n2o.U,O2(GA(DK(n2o.U),0),35),O2(GA(DK(n2o.U),1),35),O2(GA(DK(n2o.U),2),19),O2(GA(DK(n2o.U),3),19),O2(GA(DK(n2o.U),4),19),O2(GA(DK(n2o.U),5),19),O2(GA(DR(n2o.U),0),62),n2S=n2o.V,O2(GA(DK(n2o.V),0),19),n2P=n2o.W,O2(GA(DK(n2o.W),0),35),O2(GA(DK(n2o.W),1),35),O2(GA(DK(n2o.W),2),35),O2(GA(DK(n2o.W),3),19),O2(GA(DK(n2o.W),4),19),O2(GA(DK(n2o.W),5),19),n2O=n2o.bb,O2(GA(DK(n2o.bb),0),35),O2(GA(DK(n2o.bb),1),35),O2(GA(DK(n2o.bb),2),35),O2(GA(DK(n2o.bb),3),35),O2(GA(DK(n2o.bb),4),35),O2(GA(DK(n2o.bb),5),35),O2(GA(DK(n2o.bb),6),35),O2(GA(DK(n2o.bb),7),19),O2(GA(DR(n2o.bb),0),62),O2(GA(DR(n2o.bb),1),62),n2I=n2o.eb,O2(GA(DK(n2o.eb),0),35),O2(GA(DK(n2o.eb),1),35),O2(GA(DK(n2o.eb),2),35),O2(GA(DK(n2o.eb),3),35),O2(GA(DK(n2o.eb),4),35),O2(GA(DK(n2o.eb),5),35),O2(GA(DK(n2o.eb),6),19),O2(GA(DK(n2o.eb),7),19),n2C=n2o.ab,O2(GA(DK(n2o.ab),0),35),O2(GA(DK(n2o.ab),1),35),n2m=n2o.H,O2(GA(DK(n2o.H),0),19),O2(GA(DK(n2o.H),1),19),O2(GA(DK(n2o.H),2),19),O2(GA(DK(n2o.H),3),19),O2(GA(DK(n2o.H),4),19),O2(GA(DK(n2o.H),5),19),O2(GA(DR(n2o.H),0),62),n2A=n2o.db,O2(GA(DK(n2o.db),0),19),n2v=n2o.M}function nlV(n,t){var e;return n26||(n26=new dc,n25=new dc,nlq(),nlq(),++n4o,Y1(e=new RQ(4)," \n\r\r "),Ro(n26,nSZ,e),Ro(n25,nSZ,ns5(e)),++n4o,Y1(e=new RQ(4),nS2),Ro(n26,nSJ,e),Ro(n25,nSJ,ns5(e)),++n4o,Y1(e=new RQ(4),nS2),Ro(n26,nSJ,e),Ro(n25,nSJ,ns5(e)),++n4o,Y1(e=new RQ(4),nS3),nhG(e,O2(xp(n26,nSJ),122)),Ro(n26,nSY,e),Ro(n25,nSY,ns5(e)),++n4o,Y1(e=new RQ(4),"-.0:AZ__az\xb7\xb7\xc0\xd6\xd8\xf6\xf8ıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁːˑ̀͠͡ͅΆΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁ҃҆ҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆֹֻֽֿֿׁׂ֑֣֡ׄׄאתװײءغـْ٠٩ٰڷںھۀێېۓە۪ۭۨ۰۹ँःअह़्॑॔क़ॣ०९ঁঃঅঌএঐওনপরললশহ়়াৄেৈো্ৗৗড়ঢ়য়ৣ০ৱਂਂਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹ਼਼ਾੂੇੈੋ੍ਖ਼ੜਫ਼ਫ਼੦ੴઁઃઅઋઍઍએઑઓનપરલળવહ઼ૅેૉો્ૠૠ૦૯ଁଃଅଌଏଐଓନପରଲଳଶହ଼ୃେୈୋ୍ୖୗଡ଼ଢ଼ୟୡ୦୯ஂஃஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹாூெைொ்ௗௗ௧௯ఁఃఅఌఎఐఒనపళవహాౄెైొ్ౕౖౠౡ౦౯ಂಃಅಌಎಐಒನಪಳವಹಾೄೆೈೊ್ೕೖೞೞೠೡ೦೯ംഃഅഌഎഐഒനപഹാൃെൈൊ്ൗൗൠൡ൦൯กฮะฺเ๎๐๙ກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະູົຽເໄໆໆ່ໍ໐໙༘༙༠༩༹༹༵༵༷༷༾ཇཉཀྵ྄ཱ྆ྋྐྕྗྗྙྭྱྷྐྵྐྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼ⃐⃜⃡⃡ΩΩKÅ℮℮ↀↂ々々〇〇〡〯〱〵ぁゔ゙゚ゝゞァヺーヾㄅㄬ一龥가힣"),Ro(n26,nS1,e),Ro(n25,nS1,ns5(e)),++n4o,Y1(e=new RQ(4),nS3),nu6(e,95,95),nu6(e,58,58),Ro(n26,nS0,e),Ro(n25,nS0,ns5(e))),t?O2(xp(n26,n),138):O2(xp(n25,n),138)}function nlW(n){var t,e,i;kd(n,new nid(((((t=new c5).c=nwX,t).d="ELK Layered",t).b="Layer-based algorithm provided by the Eclipse Layout Kernel. Arranges as many edges as possible into one direction by placing nodes into subsequent layers. This implementation supports different routing styles (straight, orthogonal, splines); if orthogonal routing is selected, arbitrary port constraints are respected, thus enabling the layout of block diagrams such as actor-oriented models or circuit schematics. Furthermore, full layout of compound graphs with cross-hierarchy edges is supported when the respective option is activated on the top level.",e=new rR,t.e=e,t.a=nwX,i=AR((ncp(),n0T),Vp(x2(nNs,1),nbz,245,0,[n0y,n0M,n0k,n0j,n0m,n0p])),t.f=i,t))),KI(n,nwX,nv0,Z8(nUm)),KI(n,nwX,nv2,Z8(nUv)),KI(n,nwX,ngD,Z8(nUk)),KI(n,nwX,nv3,Z8(nUy)),KI(n,nwX,ng9,Z8(nUj)),KI(n,nwX,nv4,Z8(nUT)),KI(n,nwX,nv6,Z8(nUP)),KI(n,nwX,nv5,Z8(nUO)),KI(n,nwX,nv8,Z8(nUI)),KI(n,nwX,nv9,Z8(nUC)),KI(n,nwX,ng8,Z8(nUA)),KI(n,nwX,nv7,Z8(nUN)),KI(n,nwX,nkn,Z8(nUD)),KI(n,nwX,nkt,Z8(nUS)),KI(n,nwX,nvn,Z8(nUp)),KI(n,nwX,nve,Z8(nUM)),KI(n,nwX,nvt,Z8(nUE)),KI(n,nwX,nvi,Z8(nUL)),KI(n,nwX,ng5,QR(0)),KI(n,nwX,nvr,Z8(nUl)),KI(n,nwX,nva,Z8(nUb)),KI(n,nwX,nvc,Z8(nUw)),KI(n,nwX,nvb,Z8(nUJ)),KI(n,nwX,nvw,Z8(nUU)),KI(n,nwX,nvd,Z8(nUG)),KI(n,nwX,nvg,Z8(nUz)),KI(n,nwX,nvp,Z8(nUq)),KI(n,nwX,nvm,Z8(nUX)),KI(n,nwX,nvv,Z8(nUZ)),KI(n,nwX,nvk,Z8(nUY)),KI(n,nwX,nvy,Z8(nUW)),KI(n,nwX,nvM,Z8(nUV)),KI(n,nwX,nvj,Z8(nUQ)),KI(n,nwX,nm3,Z8(nHV)),KI(n,nwX,nm4,Z8(nHW)),KI(n,nwX,nm8,Z8(nHd)),KI(n,nwX,nm9,Z8(nHg)),KI(n,nwX,nph,Z8(nUF)),KI(n,nwX,npf,Z8(nUB)),KI(n,nwX,npl,Z8(nUK)),KI(n,nwX,npb,Z8(nUR)),KI(n,nwX,npw,nU_),KI(n,nwX,ngK,nH3),KI(n,nwX,nvH,nHf),KI(n,nwX,nke,0),KI(n,nwX,ng7,QR(1)),KI(n,nwX,ngR,ng4),KI(n,nwX,nki,Z8(nH0)),KI(n,nwX,npe,Z8(nUi)),KI(n,nwX,nkr,Z8(nUo)),KI(n,nwX,nka,Z8(nHe)),KI(n,nwX,nkc,Z8(nBF)),KI(n,nwX,nvR,Z8(nHk)),KI(n,nwX,npn,(SB(),!0)),KI(n,nwX,nku,Z8(nHE)),KI(n,nwX,nko,Z8(nHS)),KI(n,nwX,npu,Z8(nHJ)),KI(n,nwX,npc,Z8(nH1)),KI(n,nwX,npa,Z8(nHY)),KI(n,nwX,nks,nHa),KI(n,nwX,npo,Z8(nHU)),KI(n,nwX,nkh,Z8(nHH)),KI(n,nwX,nps,Z8(nUc)),KI(n,nwX,nkf,Z8(nUa)),KI(n,nwX,nkl,Z8(nUu)),KI(n,nwX,nkb,nH5),KI(n,nwX,nkw,Z8(nH9)),KI(n,nwX,nkd,Z8(nH7)),KI(n,nwX,nkg,Z8(nUn)),KI(n,nwX,nkp,Z8(nH8)),KI(n,nwX,nmO,Z8(nUH)),KI(n,nwX,nmL,Z8(nHK)),KI(n,nwX,nmK,Z8(nHR)),KI(n,nwX,nmC,Z8(nUx)),KI(n,nwX,nmN,Z8(nHL)),KI(n,nwX,nmA,Z8(nHt)),KI(n,nwX,nmB,Z8(nHn)),KI(n,nwX,nmH,Z8(nB1)),KI(n,nwX,nmW,Z8(nB0)),KI(n,nwX,nmQ,Z8(nB3)),KI(n,nwX,nmJ,Z8(nB2)),KI(n,nwX,nmG,Z8(nB7)),KI(n,nwX,nmT,Z8(nH_)),KI(n,nwX,nmE,Z8(nHB)),KI(n,nwX,nmj,Z8(nHC)),KI(n,nwX,nmY,Z8(nHQ)),KI(n,nwX,nm0,Z8(nHq)),KI(n,nwX,nmM,Z8(nHm)),KI(n,nwX,nm2,Z8(nHz)),KI(n,nwX,nm6,Z8(nHb)),KI(n,nwX,nm5,Z8(nHw)),KI(n,nwX,nkm,Z8(nBZ)),KI(n,nwX,nm1,Z8(nHG)),KI(n,nwX,nvo,Z8(nBq)),KI(n,nwX,nvs,Z8(nBG)),KI(n,nwX,nvu,Z8(nBU)),KI(n,nwX,nvh,Z8(nHM)),KI(n,nwX,nvf,Z8(nHy)),KI(n,nwX,nvl,Z8(nHj)),KI(n,nwX,npS,Z8(nHZ)),KI(n,nwX,nkv,Z8(nHO)),KI(n,nwX,ngx,Z8(nHp)),KI(n,nwX,nkk,Z8(nHo)),KI(n,nwX,npi,Z8(nHu)),KI(n,nwX,nmU,Z8(nB4)),KI(n,nwX,nky,Z8(nUr)),KI(n,nwX,nkM,Z8(nBH)),KI(n,nwX,nkj,Z8(nHT)),KI(n,nwX,nkT,Z8(nUt)),KI(n,nwX,nkE,Z8(nH4)),KI(n,nwX,nkS,Z8(nH6)),KI(n,nwX,nmx,Z8(nH$)),KI(n,nwX,nmR,Z8(nHD)),KI(n,nwX,nkP,Z8(nUh)),KI(n,nwX,nmS,Z8(nB_)),KI(n,nwX,nmF,Z8(nHx)),KI(n,nwX,nvT,Z8(nHs)),KI(n,nwX,nvE,Z8(nHc)),KI(n,nwX,nkC,Z8(nHF)),KI(n,nwX,nm_,Z8(nHI)),KI(n,nwX,nmZ,Z8(nHX)),KI(n,nwX,nkO,Z8(nU$)),KI(n,nwX,nmy,Z8(nHr)),KI(n,nwX,nmP,Z8(nUs)),KI(n,nwX,nm7,Z8(nHl)),KI(n,nwX,nmq,Z8(nB6)),KI(n,nwX,nmX,Z8(nB5)),KI(n,nwX,nm$,Z8(nHA)),KI(n,nwX,nmz,Z8(nB8)),KI(n,nwX,nkI,Z8(nHP)),KI(n,nwX,nmD,Z8(nHN)),KI(n,nwX,nmV,Z8(nB9)),KI(n,nwX,nvS,Z8(nBY)),KI(n,nwX,nvI,Z8(nBW)),KI(n,nwX,nvA,Z8(nBz)),KI(n,nwX,nvL,Z8(nBV)),KI(n,nwX,nvC,Z8(nBQ)),KI(n,nwX,nvO,Z8(nBX)),KI(n,nwX,nvP,Z8(nBJ)),KI(n,nwX,nmI,Z8(nHv))}function nlQ(n){return Cq("_UI_EMFDiagnostic_marker",n)?"EMF Problem":Cq("_UI_CircularContainment_diagnostic",n)?"An object may not circularly contain itself":Cq(nTE,n)?"Wrong character.":Cq(nTS,n)?"Invalid reference number.":Cq(nTP,n)?"A character is required after \\.":Cq(nTC,n)?"'?' is not expected. '(?:' or '(?=' or '(?!' or '(?<' or '(?#' or '(?>'?":Cq(nTO,n)?"'(?<' or '(? toIndex: ",ndv=", toIndex: ",ndk="Index: ",ndy=", Size: ",ndM="org.eclipse.elk.alg.common",ndj={50:1},ndT="org.eclipse.elk.alg.common.compaction",ndE="Scanline/EventHandler",ndS="org.eclipse.elk.alg.common.compaction.oned",ndP="CNode belongs to another CGroup.",ndC="ISpacingsHandler/1",ndO="The ",ndI=" instance has been finished already.",ndA="The direction ",ndL=" is not supported by the CGraph instance.",ndN="OneDimensionalCompactor",nd$="OneDimensionalCompactor/lambda$0$Type",ndD="Quadruplet",ndx="ScanlineConstraintCalculator",ndR="ScanlineConstraintCalculator/ConstraintsScanlineHandler",ndK="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",ndF="ScanlineConstraintCalculator/Timestamp",nd_="ScanlineConstraintCalculator/lambda$0$Type",ndB={178:1,46:1},ndH="org.eclipse.elk.alg.common.compaction.options",ndU="org.eclipse.elk.core.data",ndG="org.eclipse.elk.polyomino.traversalStrategy",ndq="org.eclipse.elk.polyomino.lowLevelSort",ndX="org.eclipse.elk.polyomino.highLevelSort",ndz="org.eclipse.elk.polyomino.fill",ndV={134:1},ndW="polyomino",ndQ="org.eclipse.elk.alg.common.networksimplex",ndJ={183:1,3:1,4:1},ndY="org.eclipse.elk.alg.common.nodespacing",ndZ="org.eclipse.elk.alg.common.nodespacing.cellsystem",nd1="CENTER",nd0={217:1,336:1},nd2={3:1,4:1,5:1,603:1},nd3="LEFT",nd4="RIGHT",nd6="Vertical alignment cannot be null",nd5="BOTTOM",nd8="org.eclipse.elk.alg.common.nodespacing.internal",nd9="UNDEFINED",nd7=.01,ngn="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",ngt="LabelPlacer/lambda$0$Type",nge="LabelPlacer/lambda$1$Type",ngi="portRatioOrPosition",ngr="org.eclipse.elk.alg.common.overlaps",nga="DOWN",ngc="org.eclipse.elk.alg.common.polyomino",ngu="NORTH",ngo="EAST",ngs="SOUTH",ngh="WEST",ngf="org.eclipse.elk.alg.common.polyomino.structures",ngl="Direction",ngb="Grid is only of size ",ngw=". Requested point (",ngd=") is out of bounds.",ngg=" Given center based coordinates were (",ngp="org.eclipse.elk.graph.properties",ngm="IPropertyHolder",ngv={3:1,96:1,137:1},ngk="org.eclipse.elk.alg.common.spore",ngy="org.eclipse.elk.alg.common.utils",ngM={205:1},ngj="org.eclipse.elk.core",ngT="Connected Components Compaction",ngE="org.eclipse.elk.alg.disco",ngS="org.eclipse.elk.alg.disco.graph",ngP="org.eclipse.elk.alg.disco.options",ngC="CompactionStrategy",ngO="org.eclipse.elk.disco.componentCompaction.strategy",ngI="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",ngA="org.eclipse.elk.disco.debug.discoGraph",ngL="org.eclipse.elk.disco.debug.discoPolys",ngN="componentCompaction",ng$="org.eclipse.elk.disco",ngD="org.eclipse.elk.spacing.componentComponent",ngx="org.eclipse.elk.edge.thickness",ngR="org.eclipse.elk.aspectRatio",ngK="org.eclipse.elk.padding",ngF="org.eclipse.elk.alg.disco.transform",ng_=1.5707963267948966,ngB=17976931348623157e292,ngH={3:1,4:1,5:1,198:1},ngU={3:1,6:1,4:1,5:1,100:1,115:1},ngG="org.eclipse.elk.alg.force",ngq="ComponentsProcessor",ngX="ComponentsProcessor/1",ngz="ElkGraphImporter/lambda$0$Type",ngV="org.eclipse.elk.alg.force.graph",ngW="Component Layout",ngQ="org.eclipse.elk.alg.force.model",ngJ="org.eclipse.elk.force.model",ngY="org.eclipse.elk.force.iterations",ngZ="org.eclipse.elk.force.repulsivePower",ng1="org.eclipse.elk.force.temperature",ng0=.001,ng2="org.eclipse.elk.force.repulsion",ng3="org.eclipse.elk.alg.force.options",ng4=1.600000023841858,ng6="org.eclipse.elk.force",ng5="org.eclipse.elk.priority",ng8="org.eclipse.elk.spacing.nodeNode",ng9="org.eclipse.elk.spacing.edgeLabel",ng7="org.eclipse.elk.randomSeed",npn="org.eclipse.elk.separateConnectedComponents",npt="org.eclipse.elk.interactive",npe="org.eclipse.elk.portConstraints",npi="org.eclipse.elk.edgeLabels.inline",npr="org.eclipse.elk.omitNodeMicroLayout",npa="org.eclipse.elk.nodeSize.fixedGraphSize",npc="org.eclipse.elk.nodeSize.options",npu="org.eclipse.elk.nodeSize.constraints",npo="org.eclipse.elk.nodeLabels.placement",nps="org.eclipse.elk.portLabels.placement",nph="org.eclipse.elk.topdownLayout",npf="org.eclipse.elk.topdown.scaleFactor",npl="org.eclipse.elk.topdown.hierarchicalNodeWidth",npb="org.eclipse.elk.topdown.hierarchicalNodeAspectRatio",npw="org.eclipse.elk.topdown.nodeType",npd="origin",npg="random",npp="boundingBox.upLeft",npm="boundingBox.lowRight",npv="org.eclipse.elk.stress.fixed",npk="org.eclipse.elk.stress.desiredEdgeLength",npy="org.eclipse.elk.stress.dimension",npM="org.eclipse.elk.stress.epsilon",npj="org.eclipse.elk.stress.iterationLimit",npT="org.eclipse.elk.stress",npE="ELK Stress",npS="org.eclipse.elk.nodeSize.minimum",npP="org.eclipse.elk.alg.force.stress",npC="Layered layout",npO="org.eclipse.elk.alg.layered",npI="org.eclipse.elk.alg.layered.compaction.components",npA="org.eclipse.elk.alg.layered.compaction.oned",npL="org.eclipse.elk.alg.layered.compaction.oned.algs",npN="org.eclipse.elk.alg.layered.compaction.recthull",np$="org.eclipse.elk.alg.layered.components",npD="NONE",npx="MODEL_ORDER",npR={3:1,6:1,4:1,9:1,5:1,126:1},npK={3:1,6:1,4:1,5:1,150:1,100:1,115:1},npF="org.eclipse.elk.alg.layered.compound",np_={47:1},npB="org.eclipse.elk.alg.layered.graph",npH=" -> ",npU="Not supported by LGraph",npG="Port side is undefined",npq={3:1,6:1,4:1,5:1,483:1,150:1,100:1,115:1},npX={3:1,6:1,4:1,5:1,150:1,199:1,210:1,100:1,115:1},npz={3:1,6:1,4:1,5:1,150:1,2042:1,210:1,100:1,115:1},npV="([{\"' \r\n",npW=")]}\"' \r\n",npQ="The given string contains parts that cannot be parsed as numbers.",npJ="org.eclipse.elk.core.math",npY={3:1,4:1,140:1,214:1,423:1},npZ={3:1,4:1,107:1,214:1,423:1},np1="org.eclipse.elk.alg.layered.graph.transform",np0="ElkGraphImporter",np2="ElkGraphImporter/lambda$1$Type",np3="ElkGraphImporter/lambda$2$Type",np4="ElkGraphImporter/lambda$4$Type",np6="org.eclipse.elk.alg.layered.intermediate",np5="Node margin calculation",np8="ONE_SIDED_GREEDY_SWITCH",np9="TWO_SIDED_GREEDY_SWITCH",np7="No implementation is available for the layout processor ",nmn="IntermediateProcessorStrategy",nmt="Node '",nme="FIRST_SEPARATE",nmi="LAST_SEPARATE",nmr="Odd port side processing",nma="org.eclipse.elk.alg.layered.intermediate.compaction",nmc="org.eclipse.elk.alg.layered.intermediate.greedyswitch",nmu="org.eclipse.elk.alg.layered.p3order.counting",nmo={230:1},nms="org.eclipse.elk.alg.layered.intermediate.loops",nmh="org.eclipse.elk.alg.layered.intermediate.loops.ordering",nmf="org.eclipse.elk.alg.layered.intermediate.loops.routing",nml="org.eclipse.elk.alg.layered.intermediate.preserveorder",nmb="org.eclipse.elk.alg.layered.intermediate.wrapping",nmw="org.eclipse.elk.alg.layered.options",nmd="INTERACTIVE",nmg="GREEDY",nmp="DEPTH_FIRST",nmm="EDGE_LENGTH",nmv="SELF_LOOPS",nmk="firstTryWithInitialOrder",nmy="org.eclipse.elk.layered.directionCongruency",nmM="org.eclipse.elk.layered.feedbackEdges",nmj="org.eclipse.elk.layered.interactiveReferencePoint",nmT="org.eclipse.elk.layered.mergeEdges",nmE="org.eclipse.elk.layered.mergeHierarchyEdges",nmS="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",nmP="org.eclipse.elk.layered.portSortingStrategy",nmC="org.eclipse.elk.layered.thoroughness",nmO="org.eclipse.elk.layered.unnecessaryBendpoints",nmI="org.eclipse.elk.layered.generatePositionAndLayerIds",nmA="org.eclipse.elk.layered.cycleBreaking.strategy",nmL="org.eclipse.elk.layered.layering.strategy",nmN="org.eclipse.elk.layered.layering.layerConstraint",nm$="org.eclipse.elk.layered.layering.layerChoiceConstraint",nmD="org.eclipse.elk.layered.layering.layerId",nmx="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",nmR="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",nmK="org.eclipse.elk.layered.layering.nodePromotion.strategy",nmF="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",nm_="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",nmB="org.eclipse.elk.layered.crossingMinimization.strategy",nmH="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",nmU="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",nmG="org.eclipse.elk.layered.crossingMinimization.semiInteractive",nmq="org.eclipse.elk.layered.crossingMinimization.inLayerPredOf",nmX="org.eclipse.elk.layered.crossingMinimization.inLayerSuccOf",nmz="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",nmV="org.eclipse.elk.layered.crossingMinimization.positionId",nmW="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",nmQ="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",nmJ="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",nmY="org.eclipse.elk.layered.nodePlacement.strategy",nmZ="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",nm1="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",nm0="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",nm2="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",nm3="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",nm4="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",nm6="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",nm5="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",nm8="org.eclipse.elk.layered.edgeRouting.splines.mode",nm9="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",nm7="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",nvn="org.eclipse.elk.layered.spacing.baseValue",nvt="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",nve="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",nvi="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",nvr="org.eclipse.elk.layered.priority.direction",nva="org.eclipse.elk.layered.priority.shortness",nvc="org.eclipse.elk.layered.priority.straightness",nvu="org.eclipse.elk.layered.compaction.connectedComponents",nvo="org.eclipse.elk.layered.compaction.postCompaction.strategy",nvs="org.eclipse.elk.layered.compaction.postCompaction.constraints",nvh="org.eclipse.elk.layered.highDegreeNodes.treatment",nvf="org.eclipse.elk.layered.highDegreeNodes.threshold",nvl="org.eclipse.elk.layered.highDegreeNodes.treeHeight",nvb="org.eclipse.elk.layered.wrapping.strategy",nvw="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",nvd="org.eclipse.elk.layered.wrapping.correctionFactor",nvg="org.eclipse.elk.layered.wrapping.cutting.strategy",nvp="org.eclipse.elk.layered.wrapping.cutting.cuts",nvm="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",nvv="org.eclipse.elk.layered.wrapping.validify.strategy",nvk="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",nvy="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",nvM="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",nvj="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",nvT="org.eclipse.elk.layered.edgeLabels.sideSelection",nvE="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",nvS="org.eclipse.elk.layered.considerModelOrder.strategy",nvP="org.eclipse.elk.layered.considerModelOrder.portModelOrder",nvC="org.eclipse.elk.layered.considerModelOrder.noModelOrder",nvO="org.eclipse.elk.layered.considerModelOrder.components",nvI="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",nvA="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",nvL="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",nvN="layering",nv$="layering.minWidth",nvD="layering.nodePromotion",nvx="crossingMinimization",nvR="org.eclipse.elk.hierarchyHandling",nvK="crossingMinimization.greedySwitch",nvF="nodePlacement",nv_="nodePlacement.bk",nvB="edgeRouting",nvH="org.eclipse.elk.edgeRouting",nvU="spacing",nvG="priority",nvq="compaction",nvX="compaction.postCompaction",nvz="Specifies whether and how post-process compaction is applied.",nvV="highDegreeNodes",nvW="wrapping",nvQ="wrapping.cutting",nvJ="wrapping.validify",nvY="wrapping.multiEdge",nvZ="edgeLabels",nv1="considerModelOrder",nv0="org.eclipse.elk.spacing.commentComment",nv2="org.eclipse.elk.spacing.commentNode",nv3="org.eclipse.elk.spacing.edgeEdge",nv4="org.eclipse.elk.spacing.edgeNode",nv6="org.eclipse.elk.spacing.labelLabel",nv5="org.eclipse.elk.spacing.labelPortHorizontal",nv8="org.eclipse.elk.spacing.labelPortVertical",nv9="org.eclipse.elk.spacing.labelNode",nv7="org.eclipse.elk.spacing.nodeSelfLoop",nkn="org.eclipse.elk.spacing.portPort",nkt="org.eclipse.elk.spacing.individual",nke="org.eclipse.elk.port.borderOffset",nki="org.eclipse.elk.noLayout",nkr="org.eclipse.elk.port.side",nka="org.eclipse.elk.debugMode",nkc="org.eclipse.elk.alignment",nku="org.eclipse.elk.insideSelfLoops.activate",nko="org.eclipse.elk.insideSelfLoops.yo",nks="org.eclipse.elk.direction",nkh="org.eclipse.elk.nodeLabels.padding",nkf="org.eclipse.elk.portLabels.nextToPortIfPossible",nkl="org.eclipse.elk.portLabels.treatAsGroup",nkb="org.eclipse.elk.portAlignment.default",nkw="org.eclipse.elk.portAlignment.north",nkd="org.eclipse.elk.portAlignment.south",nkg="org.eclipse.elk.portAlignment.west",nkp="org.eclipse.elk.portAlignment.east",nkm="org.eclipse.elk.contentAlignment",nkv="org.eclipse.elk.junctionPoints",nkk="org.eclipse.elk.edgeLabels.placement",nky="org.eclipse.elk.port.index",nkM="org.eclipse.elk.commentBox",nkj="org.eclipse.elk.hypernode",nkT="org.eclipse.elk.port.anchor",nkE="org.eclipse.elk.partitioning.activate",nkS="org.eclipse.elk.partitioning.partition",nkP="org.eclipse.elk.position",nkC="org.eclipse.elk.margins",nkO="org.eclipse.elk.spacing.portsSurrounding",nkI="org.eclipse.elk.interactiveLayout",nkA="org.eclipse.elk.core.util",nkL={3:1,4:1,5:1,601:1},nkN="NETWORK_SIMPLEX",nk$="SIMPLE",nkD={106:1,47:1},nkx="org.eclipse.elk.alg.layered.p1cycles",nkR="org.eclipse.elk.alg.layered.p2layers",nkK={413:1,230:1},nkF={846:1,3:1,4:1},nk_="org.eclipse.elk.alg.layered.p3order",nkB="org.eclipse.elk.alg.layered.p4nodes",nkH={3:1,4:1,5:1,854:1},nkU=1e-5,nkG="org.eclipse.elk.alg.layered.p4nodes.bk",nkq="org.eclipse.elk.alg.layered.p5edges",nkX="org.eclipse.elk.alg.layered.p5edges.orthogonal",nkz="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",nkV=1e-6,nkW="org.eclipse.elk.alg.layered.p5edges.splines",nkQ=.09999999999999998,nkJ=1e-8,nkY=4.71238898038469,nkZ=3.141592653589793,nk1="org.eclipse.elk.alg.mrtree",nk0="SUPER_ROOT",nk2="org.eclipse.elk.alg.mrtree.graph",nk3=-17976931348623157e292,nk4="org.eclipse.elk.alg.mrtree.intermediate",nk6="Processor compute fanout",nk5={3:1,6:1,4:1,5:1,534:1,100:1,115:1},nk8="Set neighbors in level",nk9="org.eclipse.elk.alg.mrtree.options",nk7="DESCENDANTS",nyn="org.eclipse.elk.mrtree.compaction",nyt="org.eclipse.elk.mrtree.edgeEndTextureLength",nye="org.eclipse.elk.mrtree.treeLevel",nyi="org.eclipse.elk.mrtree.positionConstraint",nyr="org.eclipse.elk.mrtree.weighting",nya="org.eclipse.elk.mrtree.edgeRoutingMode",nyc="org.eclipse.elk.mrtree.searchOrder",nyu="Position Constraint",nyo="org.eclipse.elk.mrtree",nys="org.eclipse.elk.tree",nyh="Processor arrange level",nyf="org.eclipse.elk.alg.mrtree.p2order",nyl="org.eclipse.elk.alg.mrtree.p4route",nyb="org.eclipse.elk.alg.radial",nyw=6.283185307179586,nyd="Before",nyg=5e-324,nyp="After",nym="org.eclipse.elk.alg.radial.intermediate",nyv="COMPACTION",nyk="org.eclipse.elk.alg.radial.intermediate.compaction",nyy={3:1,4:1,5:1,100:1},nyM="org.eclipse.elk.alg.radial.intermediate.optimization",nyj="No implementation is available for the layout option ",nyT="org.eclipse.elk.alg.radial.options",nyE="org.eclipse.elk.radial.centerOnRoot",nyS="org.eclipse.elk.radial.orderId",nyP="org.eclipse.elk.radial.radius",nyC="org.eclipse.elk.radial.rotate",nyO="org.eclipse.elk.radial.compactor",nyI="org.eclipse.elk.radial.compactionStepSize",nyA="org.eclipse.elk.radial.sorter",nyL="org.eclipse.elk.radial.wedgeCriteria",nyN="org.eclipse.elk.radial.optimizationCriteria",ny$="org.eclipse.elk.radial.rotation.targetAngle",nyD="org.eclipse.elk.radial.rotation.computeAdditionalWedgeSpace",nyx="org.eclipse.elk.radial.rotation.outgoingEdgeAngles",nyR="Compaction",nyK="rotation",nyF="org.eclipse.elk.radial",ny_="org.eclipse.elk.alg.radial.p1position.wedge",nyB="org.eclipse.elk.alg.radial.sorting",nyH=5.497787143782138,nyU=3.9269908169872414,nyG=2.356194490192345,nyq="org.eclipse.elk.alg.rectpacking",nyX="org.eclipse.elk.alg.rectpacking.intermediate",nyz="org.eclipse.elk.alg.rectpacking.options",nyV="org.eclipse.elk.rectpacking.trybox",nyW="org.eclipse.elk.rectpacking.currentPosition",nyQ="org.eclipse.elk.rectpacking.desiredPosition",nyJ="org.eclipse.elk.rectpacking.inNewRow",nyY="org.eclipse.elk.rectpacking.widthApproximation.strategy",nyZ="org.eclipse.elk.rectpacking.widthApproximation.targetWidth",ny1="org.eclipse.elk.rectpacking.widthApproximation.optimizationGoal",ny0="org.eclipse.elk.rectpacking.widthApproximation.lastPlaceShift",ny2="org.eclipse.elk.rectpacking.packing.strategy",ny3="org.eclipse.elk.rectpacking.packing.compaction.rowHeightReevaluation",ny4="org.eclipse.elk.rectpacking.packing.compaction.iterations",ny6="org.eclipse.elk.rectpacking.whiteSpaceElimination.strategy",ny5="widthApproximation",ny8="Compaction Strategy",ny9="packing.compaction",ny7="org.eclipse.elk.rectpacking",nMn="org.eclipse.elk.alg.rectpacking.p1widthapproximation",nMt="org.eclipse.elk.alg.rectpacking.p2packing",nMe="No Compaction",nMi="org.eclipse.elk.alg.rectpacking.p3whitespaceelimination",nMr="org.eclipse.elk.alg.rectpacking.util",nMa="No implementation available for ",nMc="org.eclipse.elk.alg.spore",nMu="org.eclipse.elk.alg.spore.options",nMo="org.eclipse.elk.sporeCompaction",nMs="org.eclipse.elk.underlyingLayoutAlgorithm",nMh="org.eclipse.elk.processingOrder.treeConstruction",nMf="org.eclipse.elk.processingOrder.spanningTreeCostFunction",nMl="org.eclipse.elk.processingOrder.preferredRoot",nMb="org.eclipse.elk.processingOrder.rootSelection",nMw="org.eclipse.elk.structure.structureExtractionStrategy",nMd="org.eclipse.elk.compaction.compactionStrategy",nMg="org.eclipse.elk.compaction.orthogonal",nMp="org.eclipse.elk.overlapRemoval.maxIterations",nMm="org.eclipse.elk.overlapRemoval.runScanline",nMv="processingOrder",nMk="overlapRemoval",nMy="org.eclipse.elk.sporeOverlap",nMM="org.eclipse.elk.alg.spore.p1structure",nMj="org.eclipse.elk.alg.spore.p2processingorder",nMT="org.eclipse.elk.alg.spore.p3execution",nME="Topdown Layout",nMS="Invalid index: ",nMP="org.eclipse.elk.core.alg",nMC={341:1},nMO={295:1},nMI="Make sure its type is registered with the ",nMA=" utility class.",nML="true",nMN="false",nM$="Couldn't clone property '",nMD=.05,nMx="org.eclipse.elk.core.options",nMR=1.2999999523162842,nMK="org.eclipse.elk.box",nMF="org.eclipse.elk.expandNodes",nM_="org.eclipse.elk.box.packingMode",nMB="org.eclipse.elk.algorithm",nMH="org.eclipse.elk.resolvedAlgorithm",nMU="org.eclipse.elk.bendPoints",nMG="org.eclipse.elk.labelManager",nMq="org.eclipse.elk.scaleFactor",nMX="org.eclipse.elk.childAreaWidth",nMz="org.eclipse.elk.childAreaHeight",nMV="org.eclipse.elk.animate",nMW="org.eclipse.elk.animTimeFactor",nMQ="org.eclipse.elk.layoutAncestors",nMJ="org.eclipse.elk.maxAnimTime",nMY="org.eclipse.elk.minAnimTime",nMZ="org.eclipse.elk.progressBar",nM1="org.eclipse.elk.validateGraph",nM0="org.eclipse.elk.validateOptions",nM2="org.eclipse.elk.zoomToFit",nM3="org.eclipse.elk.font.name",nM4="org.eclipse.elk.font.size",nM6="org.eclipse.elk.topdown.sizeApproximator",nM5="org.eclipse.elk.topdown.scaleCap",nM8="org.eclipse.elk.edge.type",nM9="partitioning",nM7="nodeLabels",njn="portAlignment",njt="nodeSize",nje="port",nji="portLabels",njr="topdown",nja="insideSelfLoops",njc="org.eclipse.elk.fixed",nju="org.eclipse.elk.random",njo={3:1,34:1,22:1,347:1},njs="port must have a parent node to calculate the port side",njh="The edge needs to have exactly one edge section. Found: ",njf="org.eclipse.elk.core.util.adapters",njl="org.eclipse.emf.ecore",njb="org.eclipse.elk.graph",njw="EMapPropertyHolder",njd="ElkBendPoint",njg="ElkGraphElement",njp="ElkConnectableShape",njm="ElkEdge",njv="ElkEdgeSection",njk="EModelElement",njy="ENamedElement",njM="ElkLabel",njj="ElkNode",njT="ElkPort",njE={94:1,93:1},njS="org.eclipse.emf.common.notify.impl",njP="The feature '",njC="' is not a valid changeable feature",njO="Expecting null",njI="' is not a valid feature",njA="The feature ID",njL=" is not a valid feature ID",njN=32768,nj$={110:1,94:1,93:1,58:1,54:1,99:1},njD="org.eclipse.emf.ecore.impl",njx="org.eclipse.elk.graph.impl",njR="Recursive containment not allowed for ",njK="The datatype '",njF="' is not a valid classifier",nj_="The value '",njB={195:1,3:1,4:1},njH="The class '",njU="http://www.eclipse.org/elk/ElkGraph",njG="property",njq="value",njX="source",njz="properties",njV="identifier",njW="height",njQ="width",njJ="parent",njY="text",njZ="children",nj1="hierarchical",nj0="sources",nj2="targets",nj3="sections",nj4="bendPoints",nj6="outgoingShape",nj5="incomingShape",nj8="outgoingSections",nj9="incomingSections",nj7="org.eclipse.emf.common.util",nTn="Severe implementation error in the Json to ElkGraph importer.",nTt="id",nTe="org.eclipse.elk.graph.json",nTi="Unhandled parameter types: ",nTr="startPoint",nTa="An edge must have at least one source and one target (edge id: '",nTc="Referenced edge section does not exist: ",nTu=" (edge id: '",nTo="target",nTs="sourcePoint",nTh="targetPoint",nTf="group",nTl="name",nTb="connectableShape cannot be null",nTw="edge cannot be null",nTd="Passed edge is not 'simple'.",nTg="org.eclipse.elk.graph.util",nTp="The 'no duplicates' constraint is violated",nTm="targetIndex=",nTv=", size=",nTk="sourceIndex=",nTy={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1},nTM={3:1,4:1,20:1,31:1,56:1,16:1,51:1,15:1,59:1,70:1,66:1,61:1,596:1},nTj="logging",nTT="measureExecutionTime",nTE="parser.parse.1",nTS="parser.parse.2",nTP="parser.next.1",nTC="parser.next.2",nTO="parser.next.3",nTI="parser.next.4",nTA="parser.factor.1",nTL="parser.factor.2",nTN="parser.factor.3",nT$="parser.factor.4",nTD="parser.factor.5",nTx="parser.factor.6",nTR="parser.atom.1",nTK="parser.atom.2",nTF="parser.atom.3",nT_="parser.atom.4",nTB="parser.atom.5",nTH="parser.cc.1",nTU="parser.cc.2",nTG="parser.cc.3",nTq="parser.cc.5",nTX="parser.cc.6",nTz="parser.cc.7",nTV="parser.cc.8",nTW="parser.ope.1",nTQ="parser.ope.2",nTJ="parser.ope.3",nTY="parser.descape.1",nTZ="parser.descape.2",nT1="parser.descape.3",nT0="parser.descape.4",nT2="parser.descape.5",nT3="parser.process.1",nT4="parser.quantifier.1",nT6="parser.quantifier.2",nT5="parser.quantifier.3",nT8="parser.quantifier.4",nT9="parser.quantifier.5",nT7="org.eclipse.emf.common.notify",nEn={424:1,686:1},nEt={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1},nEe={378:1,152:1},nEi="index=",nEr={3:1,4:1,5:1,129:1},nEa={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,61:1},nEc={3:1,6:1,4:1,5:1,198:1},nEu={3:1,4:1,5:1,173:1,379:1},nEo=";/?:@&=+$,",nEs="invalid authority: ",nEh="EAnnotation",nEf="ETypedElement",nEl="EStructuralFeature",nEb="EAttribute",nEw="EClassifier",nEd="EEnumLiteral",nEg="EGenericType",nEp="EOperation",nEm="EParameter",nEv="EReference",nEk="ETypeParameter",nEy="org.eclipse.emf.ecore.util",nEM={79:1},nEj={3:1,20:1,16:1,15:1,61:1,597:1,79:1,71:1,97:1},nET="org.eclipse.emf.ecore.util.FeatureMap$Entry",nEE=8192,nES=2048,nEP="byte",nEC="char",nEO="double",nEI="float",nEA="int",nEL="long",nEN="short",nE$="java.lang.Object",nED={3:1,4:1,5:1,254:1},nEx={3:1,4:1,5:1,688:1},nER={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,71:1},nEK={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,71:1,97:1},nEF="mixed",nE_="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",nEB="kind",nEH={3:1,4:1,5:1,689:1},nEU={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,79:1,71:1,97:1},nEG={20:1,31:1,56:1,16:1,15:1,61:1,71:1},nEq={51:1,128:1,287:1},nEX={76:1,343:1},nEz="The value of type '",nEV="' must be of type '",nEW="http://www.eclipse.org/emf/2002/Ecore",nEQ="constraints",nEJ="baseType",nEY="getEStructuralFeature",nEZ="getFeatureID",nE1="feature",nE0="getOperationID",nE2="operation",nE3="defaultValue",nE4="eTypeParameters",nE6="isInstance",nE5="getEEnumLiteral",nE8="eContainingClass",nE9={57:1},nE7={3:1,4:1,5:1,124:1},nSn="org.eclipse.emf.ecore.resource",nSt={94:1,93:1,599:1,2034:1},nSe="org.eclipse.emf.ecore.resource.impl",nSi="unspecified",nSr="simple",nSa="attribute",nSc="attributeWildcard",nSu="element",nSo="elementWildcard",nSs="collapse",nSh="itemType",nSf="namespace",nSl="##targetNamespace",nSb="whiteSpace",nSw="wildcards",nSd="http://www.eclipse.org/emf/2003/XMLType",nSg="##any",nSp="uninitialized",nSm="The multiplicity constraint is violated",nSv="org.eclipse.emf.ecore.xml.type",nSk="ProcessingInstruction",nSy="SimpleAnyType",nSM="XMLTypeDocumentRoot",nSj="org.eclipse.emf.ecore.xml.type.impl",nST="processing",nSE="ENTITIES_._base",nSS="minLength",nSP="ENTITY",nSC="NCName",nSO="IDREFS_._base",nSI="integer",nSA="token",nSL="pattern",nSN="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",nS$="\\i\\c*",nSD="[\\i-[:]][\\c-[:]]*",nSx="nonPositiveInteger",nSR="maxInclusive",nSK="NMTOKEN",nSF="NMTOKENS_._base",nS_="nonNegativeInteger",nSB="minInclusive",nSH="normalizedString",nSU="unsignedByte",nSG="unsignedInt",nSq="18446744073709551615",nSX="unsignedShort",nSz="processingInstruction",nSV="org.eclipse.emf.ecore.xml.type.internal",nSW=1114111,nSQ="Internal Error: shorthands: \\u",nSJ="xml:isDigit",nSY="xml:isWord",nSZ="xml:isSpace",nS1="xml:isNameChar",nS0="xml:isInitialNameChar",nS2="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",nS3="AZaz\xc0\xd6\xd8\xf6\xf8ıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",nS4="Private Use",nS6="ASSIGNED",nS5="\0\x7f\x80\xffĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯",nS8="UNASSIGNED",nS9={3:1,122:1},nS7="org.eclipse.emf.ecore.xml.type.util",nPn={3:1,4:1,5:1,381:1},nPt="org.eclipse.xtext.xbase.lib",nPe="Cannot add elements to a Range",nPi="Cannot set elements in a Range",nPr="Cannot remove elements from a Range",nPa="user.agent";nPH.goog=nPH.goog||{},nPH.goog.global=nPH.goog.global||nPH,nPG={},ncy(1,null,{},e),nPU.Fb=function(n){return jR(this)===jR(n)},nPU.Gb=function(){return this.Rm},nPU.Hb=function(){return SK(this)},nPU.Ib=function(){return mI(W2(this))+"@"+(XO(this)>>>0).toString(16)},nPU.equals=function(n){return this.Fb(n)},nPU.hashCode=function(){return this.Hb()},nPU.toString=function(){return this.Ib()},ncy(297,1,{297:1,2124:1},Vz),nPU.ve=function(n){var t;return(t=new Vz).i=4,n>1?t.c=x2(this,n-1):t.c=this,t},nPU.we=function(){return PL(this),this.b},nPU.xe=function(){return mI(this)},nPU.ye=function(){return PL(this),this.k},nPU.ze=function(){return(4&this.i)!=0},nPU.Ae=function(){return(1&this.i)!=0},nPU.Ib=function(){return Gc(this)},nPU.i=0;var nPc=1,nPu=NO(nl8,"Object",1),nPo=NO(nl8,"Class",297);ncy(2096,1,nl9),NO(nl7,"Optional",2096),ncy(1191,2096,nl9,r),nPU.Fb=function(n){return n===this},nPU.Hb=function(){return 2040732332},nPU.Ib=function(){return"Optional.absent()"},nPU.Jb=function(n){return NA(n),gY(),nPW},NO(nl7,"Absent",1191),ncy(636,1,{},pW),NO(nl7,"Joiner",636);var nPs=IX(nl7,"Predicate");ncy(589,1,{178:1,589:1,3:1,46:1},hq),nPU.Mb=function(n){return V7(this,n)},nPU.Lb=function(n){return V7(this,n)},nPU.Fb=function(n){var t;return!!EM(n,589)&&(t=O2(n,589),ncI(this.a,t.a))},nPU.Hb=function(){return We(this.a)+306654252},nPU.Ib=function(){return function(n){var t,e,i,r;for(t=N0(jY(new Sv("Predicates."),"and"),40),e=!0,r=new fq(n);r.b0},nPU.Pb=function(){if(this.c>=this.d)throw(new dF).e;return this.Xb(this.c++)},nPU.Tb=function(){return this.c},nPU.Ub=function(){if(this.c<=0)throw(new dF).e;return this.Xb(--this.c)},nPU.Vb=function(){return this.c-1},nPU.c=0,nPU.d=0,NO(nbo,"AbstractIndexedListIterator",399),ncy(713,204,nbu),nPU.Ob=function(){return Xe(this)},nPU.Pb=function(){return H8(this)},nPU.e=1,NO(nbo,"AbstractIterator",713),ncy(2084,1,{229:1}),nPU.Zb=function(){return this.f||(this.f=this.ac())},nPU.Fb=function(n){return WS(this,n)},nPU.Hb=function(){return XO(this.Zb())},nPU.dc=function(){return 0==this.gc()},nPU.ec=function(){return A2(this)},nPU.Ib=function(){return J6(this.Zb())},NO(nbo,"AbstractMultimap",2084),ncy(742,2084,nbh),nPU.$b=function(){qA(this)},nPU._b=function(n){return this.c._b(n)},nPU.ac=function(){return new vg(this,this.c)},nPU.ic=function(n){return this.hc()},nPU.bc=function(){return new E4(this,this.c)},nPU.jc=function(){return this.mc(this.hc())},nPU.kc=function(){return new g4(this)},nPU.lc=function(){return niS(this.c.vc().Nc(),new c,64,this.d)},nPU.cc=function(n){return _V(this,n)},nPU.fc=function(n){return Qg(this,n)},nPU.gc=function(){return this.d},nPU.mc=function(n){return DL(),new fF(n)},nPU.nc=function(){return new g3(this)},nPU.oc=function(){return niS(this.c.Cc().Nc(),new a,64,this.d)},nPU.pc=function(n,t){return new Bh(this,n,t,null)},nPU.d=0,NO(nbo,"AbstractMapBasedMultimap",742),ncy(1696,742,nbh),nPU.hc=function(){return new Bd(this.a)},nPU.jc=function(){return DL(),DL(),nCH},nPU.cc=function(n){return O2(_V(this,n),15)},nPU.fc=function(n){return O2(Qg(this,n),15)},nPU.Zb=function(){return DS(this)},nPU.Fb=function(n){return WS(this,n)},nPU.qc=function(n){return O2(_V(this,n),15)},nPU.rc=function(n){return O2(Qg(this,n),15)},nPU.mc=function(n){return Dq(O2(n,15))},nPU.pc=function(n,t){return K2(this,n,O2(t,15),null)},NO(nbo,"AbstractListMultimap",1696),ncy(748,1,nbf),nPU.Nb=function(n){L_(this,n)},nPU.Ob=function(){return this.c.Ob()||this.e.Ob()},nPU.Pb=function(){var n;return this.e.Ob()||(n=O2(this.c.Pb(),44),this.b=n.ld(),this.a=O2(n.md(),16),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},nPU.Qb=function(){this.e.Qb(),O2($w(this.a),16).dc()&&this.c.Qb(),--this.d.d},NO(nbo,"AbstractMapBasedMultimap/Itr",748),ncy(1129,748,nbf,g3),nPU.sc=function(n,t){return t},NO(nbo,"AbstractMapBasedMultimap/1",1129),ncy(1130,1,{},a),nPU.Kb=function(n){return O2(n,16).Nc()},NO(nbo,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1130),ncy(1131,748,nbf,g4),nPU.sc=function(n,t){return new vE(n,t)},NO(nbo,"AbstractMapBasedMultimap/2",1131);var nPh=IX(nbl,"Map");ncy(2065,1,nbb),nPU.wc=function(n){zl(this,n)},nPU.yc=function(n,t,e){return J1(this,n,t,e)},nPU.$b=function(){this.vc().$b()},nPU.tc=function(n){return nti(this,n)},nPU._b=function(n){return!!ne7(this,n,!1)},nPU.uc=function(n){var t,e;for(t=this.vc().Kc();t.Ob();)if(e=O2(t.Pb(),44).md(),jR(n)===jR(e)||null!=n&&Q0(n,e))return!0;return!1},nPU.Fb=function(n){var t,e,i;if(n===this)return!0;if(!EM(n,85)||(i=O2(n,85),this.gc()!=i.gc()))return!1;for(e=i.vc().Kc();e.Ob();)if(t=O2(e.Pb(),44),!this.tc(t))return!1;return!0},nPU.xc=function(n){return jx(ne7(this,n,!1))},nPU.Hb=function(){return VP(this.vc())},nPU.dc=function(){return 0==this.gc()},nPU.ec=function(){return new fS(this)},nPU.zc=function(n,t){throw new pR("Put not supported on this map").e},nPU.Ac=function(n){ze(this,n)},nPU.Bc=function(n){return jx(ne7(this,n,!0))},nPU.gc=function(){return this.vc().gc()},nPU.Ib=function(){return nic(this)},nPU.Cc=function(){return new fN(this)},NO(nbl,"AbstractMap",2065),ncy(2085,2065,nbb),nPU.bc=function(){return new v$(this)},nPU.vc=function(){return A0(this)},nPU.ec=function(){return this.g||(this.g=this.bc())},nPU.Cc=function(){return this.i||(this.i=new vN(this))},NO(nbo,"Maps/ViewCachingAbstractMap",2085),ncy(402,2085,nbb,vg),nPU.xc=function(n){var t;return(t=O2(Qq(this.d,n),16))?this.e.pc(n,t):null},nPU.Bc=function(n){var t,e;return(t=O2(this.d.Bc(n),16))?((e=this.e.hc()).Gc(t),this.e.d-=t.gc(),t.$b(),e):null},nPU.$b=function(){this.d==this.e.c?this.e.$b():I0(new I3(this))},nPU._b=function(n){return QU(this.d,n)},nPU.Ec=function(){return new hz(this)},nPU.Dc=function(){return this.Ec()},nPU.Fb=function(n){return this===n||Q0(this.d,n)},nPU.Hb=function(){return XO(this.d)},nPU.ec=function(){return this.e.ec()},nPU.gc=function(){return this.d.gc()},nPU.Ib=function(){return J6(this.d)},NO(nbo,"AbstractMapBasedMultimap/AsMap",402);var nPf=IX(nl8,"Iterable");ncy(31,1,nbw),nPU.Jc=function(n){_o(this,n)},nPU.Lc=function(){return this.Oc()},nPU.Nc=function(){return new RF(this,0)},nPU.Oc=function(){return new As(null,this.Nc())},nPU.Fc=function(n){throw new pR("Add not supported on this collection").e},nPU.Gc=function(n){return XR(this,n)},nPU.$b=function(){$0(this)},nPU.Hc=function(n){return Ym(this,n,!1)},nPU.Ic=function(n){return Ve(this,n)},nPU.dc=function(){return 0==this.gc()},nPU.Mc=function(n){return Ym(this,n,!0)},nPU.Pc=function(){return A8(this)},nPU.Qc=function(n){return nte(this,n)},nPU.Ib=function(){return niJ(this)},NO(nbl,"AbstractCollection",31);var nPl=IX(nbl,"Set");ncy(2063,31,nbd),nPU.Nc=function(){return new RF(this,1)},nPU.Fb=function(n){return ZT(this,n)},nPU.Hb=function(){return VP(this)},NO(nbl,"AbstractSet",2063),ncy(2068,2063,nbd),NO(nbo,"Sets/ImprovedAbstractSet",2068),ncy(2069,2068,nbd),nPU.$b=function(){this.Rc().$b()},nPU.Hc=function(n){return YG(this,n)},nPU.dc=function(){return this.Rc().dc()},nPU.Mc=function(n){var t;return!!(this.Hc(n)&&EM(n,44))&&(t=O2(n,44),this.Rc().ec().Mc(t.ld()))},nPU.gc=function(){return this.Rc().gc()},NO(nbo,"Maps/EntrySet",2069),ncy(1127,2069,nbd,hz),nPU.Hc=function(n){return QG(this.a.d.vc(),n)},nPU.Kc=function(){return new I3(this.a)},nPU.Rc=function(){return this.a},nPU.Mc=function(n){var t,e,i,r,a;return!!QG(this.a.d.vc(),n)&&(t=O2($w(O2(n,44)),44),e=this.a.e,i=t.ld(),(r=O2(function(n,t){NA(n);try{return n.Bc(t)}catch(n){if(EM(n=Vr(n),212)||EM(n,169))return null;throw n.e}}(e.c,i),16))&&(a=r.gc(),r.$b(),e.d-=a),!0)},nPU.Nc=function(){return OQ(this.a.d.vc().Nc(),new hV(this.a))},NO(nbo,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1127),ncy(1128,1,{},hV),nPU.Kb=function(n){return _L(this.a,O2(n,44))},NO(nbo,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1128),ncy(746,1,nbf,I3),nPU.Nb=function(n){L_(this,n)},nPU.Pb=function(){var n;return n=O2(this.b.Pb(),44),this.a=O2(n.md(),16),_L(this.c,n)},nPU.Ob=function(){return this.b.Ob()},nPU.Qb=function(){Ob(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},NO(nbo,"AbstractMapBasedMultimap/AsMap/AsMapIterator",746),ncy(542,2068,nbd,v$),nPU.$b=function(){this.b.$b()},nPU.Hc=function(n){return this.b._b(n)},nPU.Jc=function(n){NA(n),this.b.wc(new fo(n))},nPU.dc=function(){return this.b.dc()},nPU.Kc=function(){return new pa(this.b.vc().Kc())},nPU.Mc=function(n){return!!this.b._b(n)&&(this.b.Bc(n),!0)},nPU.gc=function(){return this.b.gc()},NO(nbo,"Maps/KeySet",542),ncy(327,542,nbd,E4),nPU.$b=function(){I0(new vp(this,this.b.vc().Kc()))},nPU.Ic=function(n){return this.b.ec().Ic(n)},nPU.Fb=function(n){return this===n||Q0(this.b.ec(),n)},nPU.Hb=function(){return XO(this.b.ec())},nPU.Kc=function(){return new vp(this,this.b.vc().Kc())},nPU.Mc=function(n){var t,e;return e=0,(t=O2(this.b.Bc(n),16))&&(e=t.gc(),t.$b(),this.a.d-=e),e>0},nPU.Nc=function(){return this.b.ec().Nc()},NO(nbo,"AbstractMapBasedMultimap/KeySet",327),ncy(747,1,nbf,vp),nPU.Nb=function(n){L_(this,n)},nPU.Ob=function(){return this.c.Ob()},nPU.Pb=function(){return this.a=O2(this.c.Pb(),44),this.a.ld()},nPU.Qb=function(){var n;Ob(!!this.a),n=O2(this.a.md(),16),this.c.Qb(),this.b.a.d-=n.gc(),n.$b(),this.a=null},NO(nbo,"AbstractMapBasedMultimap/KeySet/1",747),ncy(503,402,{85:1,133:1},Pq),nPU.bc=function(){return this.Sc()},nPU.ec=function(){return this.Uc()},nPU.Sc=function(){return new vu(this.c,this.Wc())},nPU.Tc=function(){return this.Wc().Tc()},nPU.Uc=function(){return this.b||(this.b=this.Sc())},nPU.Vc=function(){return this.Wc().Vc()},nPU.Wc=function(){return O2(this.d,133)},NO(nbo,"AbstractMapBasedMultimap/SortedAsMap",503),ncy(446,503,nbg,PX),nPU.bc=function(){return new vo(this.a,O2(O2(this.d,133),139))},nPU.Sc=function(){return new vo(this.a,O2(O2(this.d,133),139))},nPU.ec=function(){return O2(this.b||(this.b=new vo(this.a,O2(O2(this.d,133),139))),277)},nPU.Uc=function(){return O2(this.b||(this.b=new vo(this.a,O2(O2(this.d,133),139))),277)},nPU.Wc=function(){return O2(O2(this.d,133),139)},nPU.Xc=function(n){return O2(O2(this.d,133),139).Xc(n)},nPU.Yc=function(n){return O2(O2(this.d,133),139).Yc(n)},nPU.Zc=function(n,t){return new PX(this.a,O2(O2(this.d,133),139).Zc(n,t))},nPU.$c=function(n){return O2(O2(this.d,133),139).$c(n)},nPU._c=function(n){return O2(O2(this.d,133),139)._c(n)},nPU.ad=function(n,t){return new PX(this.a,O2(O2(this.d,133),139).ad(n,t))},NO(nbo,"AbstractMapBasedMultimap/NavigableAsMap",446),ncy(502,327,nbp,vu),nPU.Nc=function(){return this.b.ec().Nc()},NO(nbo,"AbstractMapBasedMultimap/SortedKeySet",502),ncy(401,502,nbm,vo),NO(nbo,"AbstractMapBasedMultimap/NavigableKeySet",401),ncy(551,31,nbw,Bh),nPU.Fc=function(n){var t,e;return Yn(this),e=this.d.dc(),(t=this.d.Fc(n))&&(++this.f.d,e&&Cc(this)),t},nPU.Gc=function(n){var t,e,i;return!n.dc()&&(Yn(this),i=this.d.gc(),(t=this.d.Gc(n))&&(e=this.d.gc(),this.f.d+=e-i,0==i&&Cc(this)),t)},nPU.$b=function(){var n;Yn(this),0!=(n=this.d.gc())&&(this.d.$b(),this.f.d-=n,AE(this))},nPU.Hc=function(n){return Yn(this),this.d.Hc(n)},nPU.Ic=function(n){return Yn(this),this.d.Ic(n)},nPU.Fb=function(n){return n===this||(Yn(this),Q0(this.d,n))},nPU.Hb=function(){return Yn(this),XO(this.d)},nPU.Kc=function(){return Yn(this),new OW(this)},nPU.Mc=function(n){var t;return Yn(this),(t=this.d.Mc(n))&&(--this.f.d,AE(this)),t},nPU.gc=function(){return jX(this)},nPU.Nc=function(){return Yn(this),this.d.Nc()},nPU.Ib=function(){return Yn(this),J6(this.d)},NO(nbo,"AbstractMapBasedMultimap/WrappedCollection",551);var nPb=IX(nbl,"List");ncy(744,551,{20:1,31:1,16:1,15:1},Ll),nPU.jd=function(n){Xy(this,n)},nPU.Nc=function(){return Yn(this),this.d.Nc()},nPU.bd=function(n,t){var e;Yn(this),e=this.d.dc(),O2(this.d,15).bd(n,t),++this.a.d,e&&Cc(this)},nPU.cd=function(n,t){var e,i,r;return!t.dc()&&(Yn(this),r=this.d.gc(),(e=O2(this.d,15).cd(n,t))&&(i=this.d.gc(),this.a.d+=i-r,0==r&&Cc(this)),e)},nPU.Xb=function(n){return Yn(this),O2(this.d,15).Xb(n)},nPU.dd=function(n){return Yn(this),O2(this.d,15).dd(n)},nPU.ed=function(){return Yn(this),new T4(this)},nPU.fd=function(n){return Yn(this),new Dj(this,n)},nPU.gd=function(n){var t;return Yn(this),t=O2(this.d,15).gd(n),--this.a.d,AE(this),t},nPU.hd=function(n,t){return Yn(this),O2(this.d,15).hd(n,t)},nPU.kd=function(n,t){return Yn(this),K2(this.a,this.e,O2(this.d,15).kd(n,t),this.b?this.b:this)},NO(nbo,"AbstractMapBasedMultimap/WrappedList",744),ncy(1126,744,{20:1,31:1,16:1,15:1,59:1},SV),NO(nbo,"AbstractMapBasedMultimap/RandomAccessWrappedList",1126),ncy(628,1,nbf,OW),nPU.Nb=function(n){L_(this,n)},nPU.Ob=function(){return Dv(this),this.b.Ob()},nPU.Pb=function(){return Dv(this),this.b.Pb()},nPU.Qb=function(){Si(this)},NO(nbo,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",628),ncy(745,628,nbv,T4,Dj),nPU.Qb=function(){Si(this)},nPU.Rb=function(n){var t;t=0==jX(this.a),(Dv(this),O2(this.b,128)).Rb(n),++this.a.a.d,t&&Cc(this.a)},nPU.Sb=function(){return(Dv(this),O2(this.b,128)).Sb()},nPU.Tb=function(){return(Dv(this),O2(this.b,128)).Tb()},nPU.Ub=function(){return(Dv(this),O2(this.b,128)).Ub()},nPU.Vb=function(){return(Dv(this),O2(this.b,128)).Vb()},nPU.Wb=function(n){(Dv(this),O2(this.b,128)).Wb(n)},NO(nbo,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",745),ncy(743,551,nbp,PU),nPU.Nc=function(){return Yn(this),this.d.Nc()},NO(nbo,"AbstractMapBasedMultimap/WrappedSortedSet",743),ncy(1125,743,nbm,TG),NO(nbo,"AbstractMapBasedMultimap/WrappedNavigableSet",1125),ncy(1124,551,nbd,PG),nPU.Nc=function(){return Yn(this),this.d.Nc()},NO(nbo,"AbstractMapBasedMultimap/WrappedSet",1124),ncy(1133,1,{},c),nPU.Kb=function(n){var t,e;return e=(t=O2(n,44)).ld(),OQ(O2(t.md(),16).Nc(),new hY(e))},NO(nbo,"AbstractMapBasedMultimap/lambda$1$Type",1133),ncy(1132,1,{},hY),nPU.Kb=function(n){return new vE(this.a,n)},NO(nbo,"AbstractMapBasedMultimap/lambda$2$Type",1132);var nPw=IX(nbl,"Map/Entry");ncy(358,1,nbk),nPU.Fb=function(n){var t;return!!EM(n,44)&&(t=O2(n,44),$i(this.ld(),t.ld())&&$i(this.md(),t.md()))},nPU.Hb=function(){var n,t;return n=this.ld(),t=this.md(),(null==n?0:XO(n))^(null==t?0:XO(t))},nPU.nd=function(n){throw(new dx).e},nPU.Ib=function(){return this.ld()+"="+this.md()},NO(nbo,nby,358),ncy(2086,31,nbw),nPU.$b=function(){this.od().$b()},nPU.Hc=function(n){var t,e,i,r,a;return!!EM(n,44)&&(t=O2(n,44),e=this.od(),i=t.ld(),r=t.md(),!!(a=O2(e.Zb().xc(i),16))&&a.Hc(r))},nPU.Mc=function(n){var t;return!!EM(n,44)&&(t=O2(n,44),Kw(this.od(),t.ld(),t.md()))},nPU.gc=function(){return this.od().d},NO(nbo,"Multimaps/Entries",2086),ncy(749,2086,nbw,hZ),nPU.Kc=function(){return this.a.kc()},nPU.od=function(){return this.a},nPU.Nc=function(){return this.a.lc()},NO(nbo,"AbstractMultimap/Entries",749),ncy(750,749,nbd,g6),nPU.Nc=function(){return this.a.lc()},nPU.Fb=function(n){return nrp(this,n)},nPU.Hb=function(){return XK(this)},NO(nbo,"AbstractMultimap/EntrySet",750),ncy(751,31,nbw,h1),nPU.$b=function(){this.a.$b()},nPU.Hc=function(n){return function(n,t){var e;for(e=n.Zb().Cc().Kc();e.Ob();)if(O2(e.Pb(),16).Hc(t))return!0;return!1}(this.a,n)},nPU.Kc=function(){return this.a.nc()},nPU.gc=function(){return this.a.d},nPU.Nc=function(){return this.a.oc()},NO(nbo,"AbstractMultimap/Values",751),ncy(2087,31,{849:1,20:1,31:1,16:1}),nPU.Jc=function(n){NA(n),$2(this).Jc(new fw(n))},nPU.Nc=function(){var n;return niS(n=$2(this).Nc(),new w,64|1296&n.yd(),this.a.d)},nPU.Fc=function(n){return pJ(),!0},nPU.Gc=function(n){var t;return NA(this),NA(n),EM(n,552)?!$2(t=O2(n,849)).dc()&&(NA(new b),$2(t).Jc(new l),!0):!n.dc()&&UA(this,n.Kc())},nPU.Hc=function(n){var t;return((t=O2(Qq(DS(this.a),n),16))?t.gc():0)>0},nPU.Fb=function(n){return function(n,t){var e,i,r;if(t===n)return!0;if(EM(t,552)){if(r=O2(t,849),n.a.d!=r.a.d||$2(n).gc()!=$2(r).gc())return!1;for(i=$2(r).Kc();i.Ob();)if(Rj(n,(e=O2(i.Pb(),425)).a.ld())!=O2(e.a.md(),16).gc())return!1;return!0}return!1}(this,n)},nPU.Hb=function(){return XO($2(this))},nPU.dc=function(){return $2(this).dc()},nPU.Mc=function(n){return naE(this,n,1)>0},nPU.Ib=function(){return J6($2(this))},NO(nbo,"AbstractMultiset",2087),ncy(2089,2068,nbd),nPU.$b=function(){qA(this.a.a)},nPU.Hc=function(n){var t;return!!EM(n,504)&&(t=O2(n,425),!(0>=O2(t.a.md(),16).gc())&&Rj(this.a,t.a.ld())==O2(t.a.md(),16).gc())},nPU.Mc=function(n){var t,e,i,r,a,c,u,o,s;return!!EM(n,504)&&(t=(e=O2(n,425)).a.ld(),0!=(i=O2(e.a.md(),16).gc()))&&(r=this.a,a=t,qD(c=i,"oldCount"),qD(0,"newCount"),((u=O2(Qq(DS(r.a),a),16))?u.gc():0)==c&&(qD(0,"count"),(s=-((o=O2(Qq(DS(r.a),a),16))?o.gc():0))>0?pJ():s<0&&naE(r,a,-s),!0))},NO(nbo,"Multisets/EntrySet",2089),ncy(1139,2089,nbd,h0),nPU.Kc=function(){return new pu(A0(DS(this.a.a)).Kc())},nPU.gc=function(){return DS(this.a.a).gc()},NO(nbo,"AbstractMultiset/EntrySet",1139),ncy(627,742,nbh),nPU.hc=function(){return this.pd()},nPU.jc=function(){return this.qd()},nPU.cc=function(n){return this.rd(n)},nPU.fc=function(n){return this.sd(n)},nPU.Zb=function(){return this.f||(this.f=this.ac())},nPU.qd=function(){return DL(),DL(),nCG},nPU.Fb=function(n){return WS(this,n)},nPU.rd=function(n){return O2(_V(this,n),21)},nPU.sd=function(n){return O2(Qg(this,n),21)},nPU.mc=function(n){return DL(),new p8(O2(n,21))},nPU.pc=function(n,t){return new PG(this,n,O2(t,21))},NO(nbo,"AbstractSetMultimap",627),ncy(1723,627,nbh),nPU.hc=function(){return new mH(this.b)},nPU.pd=function(){return new mH(this.b)},nPU.jc=function(){return $o(new mH(this.b))},nPU.qd=function(){return $o(new mH(this.b))},nPU.cc=function(n){return O2(O2(_V(this,n),21),87)},nPU.rd=function(n){return O2(O2(_V(this,n),21),87)},nPU.fc=function(n){return O2(O2(Qg(this,n),21),87)},nPU.sd=function(n){return O2(O2(Qg(this,n),21),87)},nPU.mc=function(n){return EM(n,277)?$o(O2(n,277)):(DL(),new SE(O2(n,87)))},nPU.Zb=function(){return this.f||(this.f=EM(this.c,139)?new PX(this,O2(this.c,139)):EM(this.c,133)?new Pq(this,O2(this.c,133)):new vg(this,this.c))},nPU.pc=function(n,t){return EM(t,277)?new TG(this,n,O2(t,277)):new PU(this,n,O2(t,87))},NO(nbo,"AbstractSortedSetMultimap",1723),ncy(1724,1723,nbh),nPU.Zb=function(){return O2(O2(this.f||(this.f=EM(this.c,139)?new PX(this,O2(this.c,139)):EM(this.c,133)?new Pq(this,O2(this.c,133)):new vg(this,this.c)),133),139)},nPU.ec=function(){return O2(O2(this.i||(this.i=EM(this.c,139)?new vo(this,O2(this.c,139)):EM(this.c,133)?new vu(this,O2(this.c,133)):new E4(this,this.c)),87),277)},nPU.bc=function(){return EM(this.c,139)?new vo(this,O2(this.c,139)):EM(this.c,133)?new vu(this,O2(this.c,133)):new E4(this,this.c)},NO(nbo,"AbstractSortedKeySortedSetMultimap",1724),ncy(2109,1,{2046:1}),nPU.Fb=function(n){var t;return n===this||!!EM(n,678)&&(t=O2(n,2046),ZT(this.g||(this.g=new h3(this)),t.g||(t.g=new h3(t))))},nPU.Hb=function(){return VP(this.g||(this.g=new h3(this)))},nPU.Ib=function(){return nic(this.f||(this.f=new Sr(this)))},NO(nbo,"AbstractTable",2109),ncy(679,2063,nbd,h3),nPU.$b=function(){pY()},nPU.Hc=function(n){var t,e;return!!EM(n,479)&&(t=O2(n,697),!!(e=O2(Qq(Nj(this.a),jq(t.c.e,t.b)),85))&&QG(e.vc(),new vE(jq(t.c.c,t.a),Bo(t.c,t.b,t.a))))},nPU.Kc=function(){var n;return new Sa(n=this.a,n.e.Rd().gc()*n.c.Rd().gc())},nPU.Mc=function(n){var t,e;return!!EM(n,479)&&(t=O2(n,697),!!(e=O2(Qq(Nj(this.a),jq(t.c.e,t.b)),85))&&function(n,t){NA(n);try{return n.Mc(t)}catch(n){if(EM(n=Vr(n),212)||EM(n,169))return!1;throw n.e}}(e.vc(),new vE(jq(t.c.c,t.a),Bo(t.c,t.b,t.a))))},nPU.gc=function(){return IQ(this.a)},nPU.Nc=function(){var n;return IJ((n=this.a).e.Rd().gc()*n.c.Rd().gc(),273,new hW(n))},NO(nbo,"AbstractTable/CellSet",679),ncy(2025,31,nbw,h4),nPU.$b=function(){pY()},nPU.Hc=function(n){return function(n,t){var e,i,r,a,c,u,o;for(c=n.a,u=0,o=c.length;uzt(this.a,n)},nPU.Ib=function(){return"/"+this.a+"\\"},NO(nbo,"Cut/AboveValue",526),ncy(1822,253,nbO,g0),nPU.Ed=function(n){return n==this?0:-1},nPU.Gd=function(n){n.a+="(-∞"},nPU.Hd=function(n){throw(new dO).e},nPU.Id=function(){throw new p$(nbI).e},nPU.Hb=function(){return vX(),Zm(this)},nPU.Jd=function(n){return!0},nPU.Ib=function(){return"-∞"},NO(nbo,"Cut/BelowAll",1822),ncy(1824,253,nbO,Sy),nPU.Gd=function(n){jJ((n.a+="[",n),this.a)},nPU.Hd=function(n){N0(jJ(n,this.a),41)},nPU.Hb=function(){return XO(this.a)},nPU.Jd=function(n){return Ik(),0>=zt(this.a,n)},nPU.Ib=function(){return"\\"+this.a+"/"},NO(nbo,"Cut/BelowValue",1824),ncy(547,1,nbA),nPU.Jc=function(n){_o(this,n)},nPU.Ib=function(){return function(n){var t,e;for(e=N0(new p2,91),t=!0;n.Ob();)t||(e.a+=nbn),t=!1,jJ(e,n.Pb());return(e.a+="]",e).a}(O2(DD(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},NO(nbo,"FluentIterable",547),ncy(442,547,nbA,TC),nPU.Kc=function(){return new Lc(Sb(this.a.Kc(),new s))},NO(nbo,"FluentIterable/2",442),ncy(1059,547,nbA,TO),nPU.Kc=function(){return LU(this)},NO(nbo,"FluentIterable/3",1059),ncy(724,399,nbs,So),nPU.Xb=function(n){return this.a[n].Kc()},NO(nbo,"FluentIterable/3/1",724),ncy(2070,1,{}),nPU.Ib=function(){return J6(this.Kd().b)},NO(nbo,"ForwardingObject",2070),ncy(2071,2070,nbL),nPU.Kd=function(){return this.Ld()},nPU.Jc=function(n){_o(this,n)},nPU.Lc=function(){return this.Oc()},nPU.Nc=function(){return new RF(this,0)},nPU.Oc=function(){return new As(null,this.Nc())},nPU.Fc=function(n){return this.Ld(),mR()},nPU.Gc=function(n){return this.Ld(),mK()},nPU.$b=function(){this.Ld(),mF()},nPU.Hc=function(n){return this.Ld().Hc(n)},nPU.Ic=function(n){return this.Ld().Ic(n)},nPU.dc=function(){return this.Ld().b.dc()},nPU.Kc=function(){return this.Ld().Kc()},nPU.Mc=function(n){return this.Ld(),m_()},nPU.gc=function(){return this.Ld().b.gc()},nPU.Pc=function(){return this.Ld().Pc()},nPU.Qc=function(n){return this.Ld().Qc(n)},NO(nbo,"ForwardingCollection",2071),ncy(2078,31,nbN),nPU.Kc=function(){return this.Od()},nPU.Fc=function(n){throw(new dx).e},nPU.Gc=function(n){throw(new dx).e},nPU.Md=function(){return this.c||(this.c=this.Nd())},nPU.$b=function(){throw(new dx).e},nPU.Hc=function(n){return null!=n&&Ym(this,n,!1)},nPU.Nd=function(){switch(this.gc()){case 0:return ND(),ND(),nPY;case 1:return ND(),new I2(NA(this.Od().Pb()));default:return new LR(this,this.Pc())}},nPU.Mc=function(n){throw(new dx).e},NO(nbo,"ImmutableCollection",2078),ncy(727,2078,nbN,dj),nPU.Kc=function(){return Hv(this.a.Kc())},nPU.Hc=function(n){return null!=n&&this.a.Hc(n)},nPU.Ic=function(n){return this.a.Ic(n)},nPU.dc=function(){return this.a.dc()},nPU.Od=function(){return Hv(this.a.Kc())},nPU.gc=function(){return this.a.gc()},nPU.Pc=function(){return this.a.Pc()},nPU.Qc=function(n){return this.a.Qc(n)},nPU.Ib=function(){return J6(this.a)},NO(nbo,"ForwardingImmutableCollection",727),ncy(307,2078,nb$),nPU.Kc=function(){return this.Od()},nPU.ed=function(){return this.Pd(0)},nPU.fd=function(n){return this.Pd(n)},nPU.jd=function(n){Xy(this,n)},nPU.Nc=function(){return new RF(this,16)},nPU.kd=function(n,t){return this.Qd(n,t)},nPU.bd=function(n,t){throw(new dx).e},nPU.cd=function(n,t){throw(new dx).e},nPU.Md=function(){return this},nPU.Fb=function(n){return function(n,t){var e,i,r;if(jR(t)===jR(NA(n)))return!0;if(!EM(t,15)||(i=O2(t,15),(r=n.gc())!=i.gc()))return!1;if(!EM(i,59))return function(n,t){for(var e,i;n.Ob();)if(!t.Ob()||(e=n.Pb(),i=t.Pb(),!(jR(e)===jR(i)||null!=e&&Q0(e,i))))return!1;return!t.Ob()}(n.Kc(),i.Kc());for(e=0;e(c=n.b.length)&&c=0?"+":"")+(e/60|0),t=Tv(nPH.Math.abs(e)%60),(niF(),nCW)[this.q.getDay()]+" "+nCQ[this.q.getMonth()]+" "+Tv(this.q.getDate())+" "+Tv(this.q.getHours())+":"+Tv(this.q.getMinutes())+":"+Tv(this.q.getSeconds())+" GMT"+n+t+" "+this.q.getFullYear()};var nPT=NO(nbl,"Date",206);ncy(2015,206,nwO,nev),nPU.a=!1,nPU.b=0,nPU.c=0,nPU.d=0,nPU.e=0,nPU.f=0,nPU.g=!1,nPU.i=0,nPU.j=0,nPU.k=0,nPU.n=0,nPU.o=0,nPU.p=0,NO("com.google.gwt.i18n.shared.impl","DateRecord",2015),ncy(2064,1,{}),nPU.pe=function(){return null},nPU.qe=function(){return null},nPU.re=function(){return null},nPU.se=function(){return null},nPU.te=function(){return null},NO(nwI,"JSONValue",2064),ncy(221,2064,{221:1},fM,fm),nPU.Fb=function(n){return!!EM(n,221)&&RH(this.a,O2(n,221).a)},nPU.oe=function(){return dd},nPU.Hb=function(){return Dz(this.a)},nPU.pe=function(){return this},nPU.Ib=function(){var n,t,e;for(t=0,e=new Sv("["),n=this.a.length;t0&&(e.a+=","),jJ(e,U$(this,t));return e.a+="]",e.a},NO(nwI,"JSONArray",221),ncy(493,2064,{493:1},fv),nPU.oe=function(){return dg},nPU.qe=function(){return this},nPU.Ib=function(){return SB(),""+this.a},nPU.a=!1,NO(nwI,"JSONBoolean",493),ncy(997,63,nb2,pf),NO(nwI,"JSONException",997),ncy(1036,2064,{},M),nPU.oe=function(){return dp},nPU.Ib=function(){return nbc},NO(nwI,"JSONNull",1036),ncy(263,2064,{263:1},fk),nPU.Fb=function(n){return!!EM(n,263)&&this.a==O2(n,263).a},nPU.oe=function(){return db},nPU.Hb=function(){return Td(this.a)},nPU.re=function(){return this},nPU.Ib=function(){return this.a+""},nPU.a=0,NO(nwI,"JSONNumber",263),ncy(190,2064,{190:1},pl,fy),nPU.Fb=function(n){return!!EM(n,190)&&RH(this.a,O2(n,190).a)},nPU.oe=function(){return dw},nPU.Hb=function(){return Dz(this.a)},nPU.se=function(){return this},nPU.Ib=function(){var n,t,e,i,r,a;for(e=0,a=new Sv("{"),n=!0,i=(r=XF(this,B0(nP$,nbj,2,0,6,1))).length;e=0?":"+this.c:"")+")"},nPU.c=0;var nPN=NO(nl8,"StackTraceElement",319);nPV={3:1,484:1,34:1,2:1};var nP$=NO(nl8,nb4,2);ncy(111,427,{484:1},p1,p0,Sm),NO(nl8,"StringBuffer",111),ncy(104,427,{484:1},p2,p3,Sv),NO(nl8,"StringBuilder",104),ncy(702,77,nwF,p4),NO(nl8,"StringIndexOutOfBoundsException",702),ncy(2145,1,{}),ncy(48,63,{3:1,103:1,63:1,82:1,48:1},dx,pR),NO(nl8,"UnsupportedOperationException",48),ncy(247,242,{3:1,34:1,242:1,247:1},Ja,mW),nPU.Fd=function(n){return ns4(this,O2(n,247))},nPU.ue=function(){return nre(nh7(this))},nPU.Fb=function(n){var t;return this===n||!!EM(n,247)&&(t=O2(n,247),this.e==t.e&&0==ns4(this,t))},nPU.Hb=function(){var n;return 0!=this.b||(this.a<54?(n=zH(this.f),this.b=AZ(RU(n,-1)),this.b=33*this.b+AZ(RU(Le(n,32),-1)),this.b=17*this.b+xT(this.e)):this.b=17*Qv(this.c)+xT(this.e)),this.b},nPU.Ib=function(){return nh7(this)},nPU.a=0,nPU.b=0,nPU.d=0,nPU.e=0,nPU.f=0;var nPD=NO("java.math","BigDecimal",247);ncy(92,242,{3:1,34:1,242:1,92:1},F$,RV,L3,ZA,TV),nPU.Fd=function(n){return Zg(this,O2(n,92))},nPU.ue=function(){return nre(nlO(this,0))},nPU.Fb=function(n){return Yu(this,n)},nPU.Hb=function(){return Qv(this)},nPU.Ib=function(){return nlO(this,0)},nPU.b=-2,nPU.c=0,nPU.d=0,nPU.e=0;var nPx=NO("java.math","BigInteger",92);ncy(498,2065,nbb),nPU.$b=function(){LX(this)},nPU._b=function(n){return LB(this,n)},nPU.uc=function(n){return WR(this,n,this.i)||WR(this,n,this.f)},nPU.vc=function(){return new fP(this)},nPU.xc=function(n){return NB(this,n)},nPU.zc=function(n,t){return $S(this,n,t)},nPU.Bc=function(n){return _2(this,n)},nPU.gc=function(){return v_(this)},nPU.g=0,NO(nbl,"AbstractHashMap",498),ncy(267,2063,nbd,fP),nPU.$b=function(){this.a.$b()},nPU.Hc=function(n){return KD(this,n)},nPU.Kc=function(){return new zE(this.a)},nPU.Mc=function(n){var t;return!!KD(this,n)&&(t=O2(n,44).ld(),this.a.Bc(t),!0)},nPU.gc=function(){return this.a.gc()},NO(nbl,"AbstractHashMap/EntrySet",267),ncy(268,1,nbf,zE),nPU.Nb=function(n){L_(this,n)},nPU.Pb=function(){return Xf(this)},nPU.Ob=function(){return this.b},nPU.Qb=function(){Uc(this)},nPU.b=!1,nPU.d=0,NO(nbl,"AbstractHashMap/EntrySetIterator",268),ncy(426,1,nbf,fq),nPU.Nb=function(n){L_(this,n)},nPU.Ob=function(){return kA(this)},nPU.Pb=function(){return Dk(this)},nPU.Qb=function(){N7(this)},nPU.b=0,nPU.c=-1,NO(nbl,"AbstractList/IteratorImpl",426),ncy(98,426,nbv,Ky),nPU.Qb=function(){N7(this)},nPU.Rb=function(n){Ca(this,n)},nPU.Sb=function(){return this.b>0},nPU.Tb=function(){return this.b},nPU.Ub=function(){return P$(this.b>0),this.a.Xb(this.c=--this.b)},nPU.Vb=function(){return this.b-1},nPU.Wb=function(n){PD(-1!=this.c),this.a.hd(this.c,n)},NO(nbl,"AbstractList/ListIteratorImpl",98),ncy(244,56,nbV,RE),nPU.bd=function(n,t){Rx(n,this.b),this.c.bd(this.a+n,t),++this.b},nPU.Xb=function(n){return RR(n,this.b),this.c.Xb(this.a+n)},nPU.gd=function(n){var t;return RR(n,this.b),t=this.c.gd(this.a+n),--this.b,t},nPU.hd=function(n,t){return RR(n,this.b),this.c.hd(this.a+n,t)},nPU.gc=function(){return this.b},nPU.a=0,nPU.b=0,NO(nbl,"AbstractList/SubList",244),ncy(266,2063,nbd,fS),nPU.$b=function(){this.a.$b()},nPU.Hc=function(n){return this.a._b(n)},nPU.Kc=function(){return new fL(this.a.vc().Kc())},nPU.Mc=function(n){return!!this.a._b(n)&&(this.a.Bc(n),!0)},nPU.gc=function(){return this.a.gc()},NO(nbl,"AbstractMap/1",266),ncy(541,1,nbf,fL),nPU.Nb=function(n){L_(this,n)},nPU.Ob=function(){return this.a.Ob()},nPU.Pb=function(){return O2(this.a.Pb(),44).ld()},nPU.Qb=function(){this.a.Qb()},NO(nbl,"AbstractMap/1/1",541),ncy(231,31,nbw,fN),nPU.$b=function(){this.a.$b()},nPU.Hc=function(n){return this.a.uc(n)},nPU.Kc=function(){return new f$(this.a.vc().Kc())},nPU.gc=function(){return this.a.gc()},NO(nbl,"AbstractMap/2",231),ncy(301,1,nbf,f$),nPU.Nb=function(n){L_(this,n)},nPU.Ob=function(){return this.a.Ob()},nPU.Pb=function(){return O2(this.a.Pb(),44).md()},nPU.Qb=function(){this.a.Qb()},NO(nbl,"AbstractMap/2/1",301),ncy(494,1,{494:1,44:1}),nPU.Fb=function(n){var t;return!!EM(n,44)&&(t=O2(n,44),$x(this.d,t.ld())&&$x(this.e,t.md()))},nPU.ld=function(){return this.d},nPU.md=function(){return this.e},nPU.Hb=function(){return T2(this.d)^T2(this.e)},nPU.nd=function(n){return Cr(this,n)},nPU.Ib=function(){return this.d+"="+this.e},NO(nbl,"AbstractMap/AbstractEntry",494),ncy(397,494,{494:1,397:1,44:1},kH),NO(nbl,"AbstractMap/SimpleEntry",397),ncy(2082,1,nw1),nPU.Fb=function(n){var t;return!!EM(n,44)&&(t=O2(n,44),$x(this.ld(),t.ld())&&$x(this.md(),t.md()))},nPU.Hb=function(){return T2(this.ld())^T2(this.md())},nPU.Ib=function(){return this.ld()+"="+this.md()},NO(nbl,nby,2082),ncy(2090,2065,nbg),nPU.Xc=function(n){return mO(this.Ee(n))},nPU.tc=function(n){return _A(this,n)},nPU._b=function(n){return!!this.Fe(n)},nPU.vc=function(){return new fR(this)},nPU.Tc=function(){return Lz(this.Ge())},nPU.Yc=function(n){return mO(this.He(n))},nPU.xc=function(n){return jx(this.Fe(n))},nPU.$c=function(n){return mO(this.Ie(n))},nPU.ec=function(){return new fD(this)},nPU.Vc=function(){return Lz(this.Je())},nPU._c=function(n){return mO(this.Ke(n))},NO(nbl,"AbstractNavigableMap",2090),ncy(629,2063,nbd,fR),nPU.Hc=function(n){return EM(n,44)&&_A(this.b,O2(n,44))},nPU.Kc=function(){return this.b.De()},nPU.Mc=function(n){var t;return!!EM(n,44)&&(t=O2(n,44),this.b.Le(t))},nPU.gc=function(){return this.b.gc()},NO(nbl,"AbstractNavigableMap/EntrySet",629),ncy(1146,2063,nbm,fD),nPU.Nc=function(){return new kK(this)},nPU.$b=function(){this.a.$b()},nPU.Hc=function(n){return!!this.a.Fe(n)},nPU.Kc=function(){return new fx(this.a.vc().b.De())},nPU.Mc=function(n){return!!this.a.Fe(n)&&(this.a.Bc(n),!0)},nPU.gc=function(){return this.a.gc()},NO(nbl,"AbstractNavigableMap/NavigableKeySet",1146),ncy(1147,1,nbf,fx),nPU.Nb=function(n){L_(this,n)},nPU.Ob=function(){return kA(this.a.a)},nPU.Pb=function(){return Pt(this.a).ld()},nPU.Qb=function(){Oc(this.a)},NO(nbl,"AbstractNavigableMap/NavigableKeySet/1",1147),ncy(2103,31,nbw),nPU.Fc=function(n){return Ii(niO(this,n),nw0),!0},nPU.Gc=function(n){return $d(n),Ie(n!=this,"Can't add a queue to itself"),XR(this,n)},nPU.$b=function(){for(;null!=Ux(this););},NO(nbl,"AbstractQueue",2103),ncy(310,31,{4:1,20:1,31:1,16:1},E1,KM),nPU.Fc=function(n){return K5(this,n),!0},nPU.$b=function(){FC(this)},nPU.Hc=function(n){return Vu(new $z(this),n)},nPU.dc=function(){return pq(this)},nPU.Kc=function(){return new $z(this)},nPU.Mc=function(n){var t;return!!Vu(t=new $z(this),n)&&(qI(t),!0)},nPU.gc=function(){return this.c-this.b&this.a.length-1},nPU.Nc=function(){return new RF(this,272)},nPU.Qc=function(n){var t;return t=this.c-this.b&this.a.length-1,n.lengtht&&NH(n,t,null),n},nPU.b=0,nPU.c=0,NO(nbl,"ArrayDeque",310),ncy(459,1,nbf,$z),nPU.Nb=function(n){L_(this,n)},nPU.Ob=function(){return this.a!=this.b},nPU.Pb=function(){return Qm(this)},nPU.Qb=function(){qI(this)},nPU.a=0,nPU.b=0,nPU.c=-1,NO(nbl,"ArrayDeque/IteratorImpl",459),ncy(13,56,nw2,du,Bd,Ot),nPU.bd=function(n,t){AN(this,n,t)},nPU.Fc=function(n){return EB(this,n)},nPU.cd=function(n,t){return W4(this,n,t)},nPU.Gc=function(n){return Vs(this,n)},nPU.$b=function(){dG(this.c,0)},nPU.Hc=function(n){return -1!=H7(this,n,0)},nPU.Jc=function(n){Gm(this,n)},nPU.Xb=function(n){return I6(this,n)},nPU.dd=function(n){return H7(this,n,0)},nPU.dc=function(){return 0==this.c.length},nPU.Kc=function(){return new fU(this)},nPU.gd=function(n){return _Y(this,n)},nPU.Mc=function(n){return H6(this,n)},nPU.ce=function(n,t){RT(this,n,t)},nPU.hd=function(n,t){return _f(this,n,t)},nPU.gc=function(){return this.c.length},nPU.jd=function(n){Ei(this,n)},nPU.Pc=function(){return II(this.c)},nPU.Qc=function(n){return ZG(this,n)};var nPR=NO(nbl,"ArrayList",13);ncy(7,1,nbf,fU),nPU.Nb=function(n){L_(this,n)},nPU.Ob=function(){return Er(this)},nPU.Pb=function(){return Rz(this)},nPU.Qb=function(){L7(this)},nPU.a=0,nPU.b=-1,NO(nbl,"ArrayList/1",7),ncy(2112,nPH.Function,{},S),nPU.Me=function(n,t){return JC(n,t)},ncy(151,56,nw3,pU),nPU.Hc=function(n){return -1!=qN(this,n)},nPU.Jc=function(n){var t,e,i,r;for($d(n),e=this.a,i=0,r=e.length;i0)throw new pN(ndo+n+" greater than "+this.e).e;return this.f.Te()?xm(this.c,this.b,this.a,n,t):RI(this.c,n,t)},nPU.zc=function(n,t){if(!ntR(this.c,this.f,n,this.b,this.a,this.e,this.d))throw new pN(n+" outside the range "+this.b+" to "+this.e).e;return VZ(this.c,n,t)},nPU.Bc=function(n){return ntR(this.c,this.f,n,this.b,this.a,this.e,this.d)?xy(this.c,n):null},nPU.Le=function(n){return $t(this,n.ld())&&B3(this.c,n)},nPU.gc=function(){var n,t,e;if(!((t=this.f.Te()?this.a?Y6(this.c,this.b,!0):Y6(this.c,this.b,!1):HG(this.c))&&$t(this,t.d)?t:null))return 0;for(n=0,e=new XW(this.c,this.f,this.b,this.a,this.e,this.d);kA(e.a);e.b=O2(Dk(e.a),44))++n;return n},nPU.ad=function(n,t){if(this.f.Te()&&0>this.c.a.Ne(n,this.b))throw new pN(ndo+n+nds+this.b).e;return this.f.Ue()?xm(this.c,n,t,this.e,this.d):RA(this.c,n,t)},nPU.a=!1,nPU.d=!1,NO(nbl,"TreeMap/SubMap",631),ncy(304,22,ndh,kF),nPU.Te=function(){return!1},nPU.Ue=function(){return!1};var nC8=qs(nbl,"TreeMap/SubMapType",304,nPg,function(){return HO(),Vp(x2(nC8,1),nbz,304,0,[nOI,nOA,nOL,nON])},function(n){return HO(),qo((HC(),nO$),n)});ncy(1143,304,ndh,Tz),nPU.Ue=function(){return!0},qs(nbl,"TreeMap/SubMapType/1",1143,nC8,null,null),ncy(1144,304,ndh,Eb),nPU.Te=function(){return!0},nPU.Ue=function(){return!0},qs(nbl,"TreeMap/SubMapType/2",1144,nC8,null,null),ncy(1145,304,ndh,TX),nPU.Te=function(){return!0},qs(nbl,"TreeMap/SubMapType/3",1145,nC8,null,null),ncy(157,2063,{3:1,20:1,31:1,16:1,277:1,21:1,87:1,157:1},dQ,mH,f0),nPU.Nc=function(){return new kK(this)},nPU.Fc=function(n){return LJ(this,n)},nPU.$b=function(){this.a.$b()},nPU.Hc=function(n){return this.a._b(n)},nPU.Kc=function(){return this.a.ec().Kc()},nPU.Mc=function(n){return ER(this,n)},nPU.gc=function(){return this.a.gc()};var nC9=NO(nbl,"TreeSet",157);ncy(1082,1,{},f2),nPU.Ve=function(n,t){return 0>=this.a.Ne(n,t)?t:n},NO(ndf,"BinaryOperator/lambda$0$Type",1082),ncy(1083,1,{},f3),nPU.Ve=function(n,t){return 0>=this.a.Ne(n,t)?n:t},NO(ndf,"BinaryOperator/lambda$1$Type",1083),ncy(952,1,{},B),nPU.Kb=function(n){return n},NO(ndf,"Function/lambda$0$Type",952),ncy(395,1,nbJ,f4),nPU.Mb=function(n){return!this.a.Mb(n)},NO(ndf,"Predicate/lambda$2$Type",395),ncy(581,1,{581:1});var nC7=NO(ndl,"Handler",581);ncy(2107,1,nl9),nPU.xe=function(){return"DUMMY"},nPU.Ib=function(){return this.xe()},NO(ndl,"Level",2107),ncy(1706,2107,nl9,H),nPU.xe=function(){return"INFO"},NO(ndl,"Level/LevelInfo",1706),ncy(1843,1,{},dW),NO(ndl,"LogManager",1843),ncy(1896,1,nl9,Oa),nPU.b=null,NO(ndl,"LogRecord",1896),ncy(525,1,{525:1},_d),nPU.e=!1;var nOn=!1,nOt=!1,nOe=!1,nOi=!1,nOr=!1;NO(ndl,"Logger",525),ncy(835,581,{581:1},U),NO(ndl,"SimpleConsoleLogHandler",835),ncy(108,22,{3:1,34:1,22:1,108:1},k_);var nOa=qs(ndd,"Collector/Characteristics",108,nPg,function(){return W1(),Vp(x2(nOa,1),nbz,108,0,[nOR,nOK,nOF])},function(n){return W1(),qo((Bq(),nO_),n)});ncy(758,1,{},L4),NO(ndd,"CollectorImpl",758),ncy(1074,1,{},G),nPU.Ve=function(n,t){var e,i,r;return e=O2(n,213),(i=O2(t,213)).a&&(r=i.a.a.length,e.a?jY(e.a,e.b):e.a=new Sv(e.d),Kk(e.a,i.a,i.d.length,r)),e},NO(ndd,"Collectors/10methodref$merge$Type",1074),ncy(1075,1,{},q),nPU.Kb=function(n){return KE(O2(n,213))},NO(ndd,"Collectors/11methodref$toString$Type",1075),ncy(1076,1,{},f6),nPU.Kb=function(n){return SB(),!!Tw(n)},NO(ndd,"Collectors/12methodref$test$Type",1076),ncy(144,1,{},X),nPU.Yd=function(n,t){O2(n,16).Fc(t)},NO(ndd,"Collectors/20methodref$add$Type",144),ncy(146,1,{},z),nPU.Xe=function(){return new du},NO(ndd,"Collectors/21methodref$ctor$Type",146),ncy(359,1,{},V),nPU.Xe=function(){return new dV},NO(ndd,"Collectors/23methodref$ctor$Type",359),ncy(360,1,{},W),nPU.Yd=function(n,t){LQ(O2(n,49),t)},NO(ndd,"Collectors/24methodref$add$Type",360),ncy(1069,1,{},Q),nPU.Ve=function(n,t){var e,i;return e=O2(n,15),i=O2(t,16),e.Gc(i),e},NO(ndd,"Collectors/4methodref$addAll$Type",1069),ncy(1073,1,{},J),nPU.Yd=function(n,t){_0(O2(n,213),O2(t,484))},NO(ndd,"Collectors/9methodref$add$Type",1073),ncy(1072,1,{},O6),nPU.Xe=function(){return new zW(this.a,this.b,this.c)},NO(ndd,"Collectors/lambda$15$Type",1072),ncy(1077,1,{},Y),nPU.Xe=function(){var n;return ZV(n=new FU,(SB(),!1),new du),ZV(n,!0,new du),n},NO(ndd,"Collectors/lambda$22$Type",1077),ncy(1078,1,{},f5),nPU.Xe=function(){return Vp(x2(nPu,1),nbe,1,5,[this.a])},NO(ndd,"Collectors/lambda$25$Type",1078),ncy(1079,1,{},f8),nPU.Yd=function(n,t){var e;this.a,NH(e=qu(n),0,I9(e[0],ZS(1)))},NO(ndd,"Collectors/lambda$26$Type",1079),ncy(1080,1,{},f9),nPU.Ve=function(n,t){var e,i;return this.a,e=qu(n),i=qu(t),NH(e,0,I9(e[0],i[0])),e},NO(ndd,"Collectors/lambda$27$Type",1080),ncy(1081,1,{},Z),nPU.Kb=function(n){return qu(n)[0]},NO(ndd,"Collectors/lambda$28$Type",1081),ncy(728,1,{},nn),nPU.Ve=function(n,t){return I9(n,t)},NO(ndd,"Collectors/lambda$4$Type",728),ncy(145,1,{},nt),nPU.Ve=function(n,t){var e,i;return e=O2(n,16),i=O2(t,16),e.Gc(i),e},NO(ndd,"Collectors/lambda$42$Type",145),ncy(361,1,{},ne),nPU.Ve=function(n,t){var e;return XR(e=O2(n,49),O2(t,49)),e},NO(ndd,"Collectors/lambda$50$Type",361),ncy(362,1,{},ni),nPU.Kb=function(n){return O2(n,49)},NO(ndd,"Collectors/lambda$51$Type",362),ncy(1068,1,{},f7),nPU.Yd=function(n,t){var e,i,r;this.a,e=O2(n,85),SB(),i=!!Tw(t),(r=O2(e.xc(i),15))||(r=new du,e.zc(i,r)),r.Fc(t)},NO(ndd,"Collectors/lambda$7$Type",1068),ncy(1070,1,{},nr),nPU.Ve=function(n,t){return function(n,t,e){var i,r;for(r=t.vc().Kc();r.Ob();)i=O2(r.Pb(),44),n.yc(i.ld(),i.md(),e);return n}(O2(n,85),O2(t,85),new Q)},NO(ndd,"Collectors/lambda$8$Type",1070),ncy(1071,1,{},ln),nPU.Kb=function(n){return function(n,t){var e,i,r;for(r=new dc,i=t.vc().Kc();i.Ob();)$S(r,(e=O2(i.Pb(),44)).ld(),function(n,t){var e,i,r;for(e=n.c.Xe(),r=t.Kc();r.Ob();)i=r.Pb(),n.a.Yd(e,i);return n.b.Kb(e)}(n,O2(e.md(),15)));return r}(this.a,O2(n,85))},NO(ndd,"Collectors/lambda$9$Type",1071),ncy(550,1,{}),nPU.$e=function(){$h(this)},nPU.d=!1,NO(ndd,"TerminatableStream",550),ncy(827,550,ndg,PB),nPU.$e=function(){$h(this)},NO(ndd,"DoubleStreamImpl",827),ncy(1847,736,nbE,O5),nPU.Re=function(n){var t,e;return t=O2(n,189),this.a||(e=B0(n4d,nwW,28,0,15,1),mZ(this.b.a,new lt(e)),function(n,t){n.sort(t)}(e,GI(S.prototype.Me,S,[])),this.a=new C2(e,this.d)),Bw(this.a,t)},nPU.a=null,NO(ndd,"DoubleStreamImpl/2",1847),ncy(1848,1,nw5,lt),nPU.Pe=function(n){var t;(t=this.a)[t.length]=n},NO(ndd,"DoubleStreamImpl/2/lambda$0$Type",1848),ncy(1845,1,nw5,le),nPU.Pe=function(n){var t;(t=this.a)[t.length]=n},NO(ndd,"DoubleStreamImpl/lambda$0$Type",1845),ncy(1846,1,nw5,li),nPU.Pe=function(n){YD(this.a,n)},NO(ndd,"DoubleStreamImpl/lambda$2$Type",1846),ncy(1397,735,nbE,_g),nPU.Re=function(n){var t;return t=O2(n,202),this.a<=this.b&&(t.Dd(this.a++),!0)},nPU.a=0,nPU.b=0,nPU.c=0,NO(ndd,"IntStream/5",1397),ncy(806,550,ndg,PH),nPU.$e=function(){$h(this)},nPU._e=function(){return $s(this),this.a},NO(ndd,"IntStreamImpl",806),ncy(807,550,ndg,vJ),nPU.$e=function(){$h(this)},nPU._e=function(){return $s(this),E9(),nOO},NO(ndd,"IntStreamImpl/Empty",807),ncy(1687,1,nbP,lr),nPU.Dd=function(n){zO(this.a,n)},NO(ndd,"IntStreamImpl/lambda$4$Type",1687);var nOc=IX(ndd,"Stream");ncy(26,550,{533:1,687:1,848:1},As),nPU.$e=function(){$h(this)},NO(ndd,"StreamImpl",26),ncy(1102,500,nbE,CY),nPU.Bd=function(n){for(;function(n){for(;!n.a;)if(!CX(n.c,new la(n)))return!1;return!0}(this);){if(this.a.Bd(n))return!0;$h(this.b),this.b=null,this.a=null}return!1},NO(ndd,"StreamImpl/1",1102),ncy(1103,1,nbS,la),nPU.Cd=function(n){var t,e;t=this.a,(e=O2(n,848))&&(t.b=e,t.a=($s(e),e.a))},NO(ndd,"StreamImpl/1/lambda$0$Type",1103),ncy(1104,1,nbJ,lc),nPU.Mb=function(n){return LQ(this.a,n)},NO(ndd,"StreamImpl/1methodref$add$Type",1104),ncy(1105,500,nbE,DE),nPU.Bd=function(n){var t;return this.a||(t=new du,this.b.a.Nb(new lu(t)),DL(),Ei(t,this.c),this.a=new RF(t,16)),Gs(this.a,n)},nPU.a=null,NO(ndd,"StreamImpl/5",1105),ncy(1106,1,nbS,lu),nPU.Cd=function(n){EB(this.a,n)},NO(ndd,"StreamImpl/5/2methodref$add$Type",1106),ncy(737,500,nbE,Hz),nPU.Bd=function(n){for(this.b=!1;!this.b&&this.c.Bd(new kU(this,n)););return this.b},nPU.b=!1,NO(ndd,"StreamImpl/FilterSpliterator",737),ncy(1096,1,nbS,kU),nPU.Cd=function(n){var t,e;t=this.a,e=this.b,t.a.Mb(n)&&(t.b=!0,e.Cd(n))},NO(ndd,"StreamImpl/FilterSpliterator/lambda$0$Type",1096),ncy(1091,736,nbE,_3),nPU.Re=function(n){var t;return t=O2(n,189),this.b.Bd(new kG(this,t))},NO(ndd,"StreamImpl/MapToDoubleSpliterator",1091),ncy(1095,1,nbS,kG),nPU.Cd=function(n){!function(n,t,e){t.Pe(n.a.Ye(e))}(this.a,this.b,n)},NO(ndd,"StreamImpl/MapToDoubleSpliterator/lambda$0$Type",1095),ncy(1090,735,nbE,_4),nPU.Re=function(n){var t;return t=O2(n,202),this.b.Bd(new kq(this,t))},NO(ndd,"StreamImpl/MapToIntSpliterator",1090),ncy(1094,1,nbS,kq),nPU.Cd=function(n){!function(n,t,e){t.Dd(n.a.Ze(e))}(this.a,this.b,n)},NO(ndd,"StreamImpl/MapToIntSpliterator/lambda$0$Type",1094),ncy(734,500,nbE,_6),nPU.Bd=function(n){return CX(this,n)},NO(ndd,"StreamImpl/MapToObjSpliterator",734),ncy(1093,1,nbS,kX),nPU.Cd=function(n){!function(n,t,e){t.Cd(n.a.Kb(e))}(this.a,this.b,n)},NO(ndd,"StreamImpl/MapToObjSpliterator/lambda$0$Type",1093),ncy(1092,500,nbE,qJ),nPU.Bd=function(n){for(;QM(this.b,0)>0;){if(!this.a.Bd(new na))return!1;this.b=JG(this.b,1)}return this.a.Bd(n)},nPU.b=0,NO(ndd,"StreamImpl/SkipSpliterator",1092),ncy(1097,1,nbS,na),nPU.Cd=function(n){},NO(ndd,"StreamImpl/SkipSpliterator/lambda$0$Type",1097),ncy(626,1,nbS,nc),nPU.Cd=function(n){this.a=n},NO(ndd,"StreamImpl/ValueConsumer",626),ncy(1098,1,nbS,nu),nPU.Cd=function(n){vY()},NO(ndd,"StreamImpl/lambda$0$Type",1098),ncy(1099,1,nbS,no),nPU.Cd=function(n){vY()},NO(ndd,"StreamImpl/lambda$1$Type",1099),ncy(1100,1,{},lo),nPU.Ve=function(n,t){var e;return e=this.a,vY(),e.a.Yd(n,t),n},NO(ndd,"StreamImpl/lambda$4$Type",1100),ncy(1101,1,nbS,kV),nPU.Cd=function(n){var t,e,i;t=this.b,e=this.a,vY(),i=e.Ve(t.a,n),t.a=i},NO(ndd,"StreamImpl/lambda$5$Type",1101),ncy(1107,1,nbS,ls),nPU.Cd=function(n){!function(n,t){var e;try{t.de()}catch(t){if(EM(t=Vr(t),82))e=t,dy(n.c,e);else throw t.e}}(this.a,O2(n,380))},NO(ndd,"TerminatableStream/lambda$0$Type",1107),ncy(2142,1,{}),ncy(2014,1,{},ns),NO("javaemul.internal","ConsoleLogger",2014);var nOu=0;ncy(2134,1,{}),ncy(1830,1,nbS,nh),nPU.Cd=function(n){O2(n,317)},NO(ndM,"BowyerWatsonTriangulation/lambda$0$Type",1830),ncy(1831,1,nbS,lf),nPU.Cd=function(n){XR(this.a,O2(n,317).e)},NO(ndM,"BowyerWatsonTriangulation/lambda$1$Type",1831),ncy(1832,1,nbS,nf),nPU.Cd=function(n){O2(n,177)},NO(ndM,"BowyerWatsonTriangulation/lambda$2$Type",1832),ncy(1827,1,ndj,ll),nPU.Ne=function(n,t){var e,i,r;return e=this.a,i=O2(n,177),r=O2(t,177),Lr(PI(jx(AO(e.f,i))),PI(jx(AO(e.f,r))))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(ndM,"NaiveMinST/lambda$0$Type",1827),ncy(449,1,{},lh),NO(ndM,"NodeMicroLayout",449),ncy(177,1,{177:1},kz),nPU.Fb=function(n){var t;return!!EM(n,177)&&(t=O2(n,177),$x(this.a,t.a)&&$x(this.b,t.b)||$x(this.a,t.b)&&$x(this.b,t.a))},nPU.Hb=function(){return T2(this.a)+T2(this.b)};var nOo=NO(ndM,"TEdge",177);ncy(317,1,{317:1},nhl),nPU.Fb=function(n){var t;return!!EM(n,317)&&Uf(this,(t=O2(n,317)).a)&&Uf(this,t.b)&&Uf(this,t.c)},nPU.Hb=function(){return T2(this.a)+T2(this.b)+T2(this.c)},NO(ndM,"TTriangle",317),ncy(225,1,{225:1},Ew),NO(ndM,"Tree",225),ncy(1218,1,{},x6),NO(ndT,"Scanline",1218);var nOs=IX(ndT,ndE);ncy(1758,1,{},U7),NO(ndS,"CGraph",1758),ncy(316,1,{316:1},x9),nPU.b=0,nPU.c=0,nPU.d=0,nPU.g=0,nPU.i=0,nPU.k=nwU,NO(ndS,"CGroup",316),ncy(830,1,{},d3),NO(ndS,"CGroup/CGroupBuilder",830),ncy(60,1,{60:1},Cw),nPU.Ib=function(){return this.j?PA(this.j.Kb(this)):(PL(nOh),nOh.o+"@"+(SK(this)>>>0).toString(16))},nPU.f=0,nPU.i=nwU;var nOh=NO(ndS,"CNode",60);ncy(829,1,{},d4),NO(ndS,"CNode/CNodeBuilder",829),ncy(1590,1,{},nl),nPU.ff=function(n,t){return 0},nPU.gf=function(n,t){return 0},NO(ndS,ndC,1590),ncy(1853,1,{},nb),nPU.cf=function(n){var t,e,i,r,a,c,u,o,s,h,f,l,b,w,d;for(s=nwH,i=new fU(n.a.b);i.ae.d.c||e.d.c==r.d.c&&e.d.bo?1:Tm(isNaN(u),isNaN(o)))>0)&&Zt(r.d.d,e.d.d+e.d.a+c)&&e.c.Fc(r))},NO(ndS,"QuadraticConstraintCalculation",1854),ncy(529,1,{529:1},ds),nPU.a=!1,nPU.b=!1,nPU.c=!1,nPU.d=!1,NO(ndS,ndD,529),ncy(817,1,{},AB),nPU.df=function(n){this.c=n,nr8(this,new np)},NO(ndS,ndx,817),ncy(1784,1,{693:1},DZ),nPU.bf=function(n){var t,e,i,r,a,c,u;(t=O2(n,473)).a?function(n,t){var e,i,r,a,c,u,o,s,h;if(!LJ(n.b,t.b))throw new p$("Invalid hitboxes for scanline constraint calculation.").e;(Vo(t.b,O2((i=n.b,r=t.b,i.a.Yc(r)),60))||Vo(t.b,O2((a=n.b,c=t.b,a.a.Xc(c)),60)))&&vX(),n.a[t.b.f]=O2((u=n.b,o=t.b,u.a._c(o)),60),(e=O2((s=n.b,h=t.b,s.a.$c(h)),60))&&(n.a[e.f]=t.b)}(this,t):((e=O2((r=this.b,a=t.b,r.a._c(a)),60))&&e==this.a[t.b.f]&&e.a&&e.a!=t.b.a&&e.c.Fc(t.b),(i=O2((c=this.b,u=t.b,c.a.$c(u)),60))&&this.a[i.f]==t.b&&i.a&&i.a!=t.b.a&&t.b.c.Fc(i),ER(this.b,t.b))},NO(ndS,ndR,1784),ncy(1785,1,ndj,nd),nPU.Ne=function(n,t){var e,i;return e=O2(n,60),i=O2(t,60),JC(e.d.c+e.d.b/2,i.d.c+i.d.b/2)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(ndS,ndK,1785),ncy(473,1,{473:1},kW),nPU.a=!1,NO(ndS,ndF,473),ncy(1786,1,ndj,ng),nPU.Ne=function(n,t){return function(n,t){var e,i,r;if(i=n.b.d.d,n.a||(i+=n.b.d.a),r=t.b.d.d,t.a||(r+=t.b.d.a),0==(e=JC(i,r))){if(!n.a&&t.a)return -1;if(!t.a&&n.a)return 1}return e}(O2(n,473),O2(t,473))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(ndS,nd_,1786),ncy(1787,1,ndB,np),nPU.Lb=function(n){return O2(n,60),!0},nPU.Fb=function(n){return this===n},nPU.Mb=function(n){return O2(n,60),!0},NO(ndS,"ScanlineConstraintCalculator/lambda$1$Type",1787),ncy(436,22,{3:1,34:1,22:1,436:1},kQ);var nOl=qs(ndH,"HighLevelSortingCriterion",436,nPg,function(){return Z1(),Vp(x2(nOl,1),nbz,436,0,[nOz,nOX])},function(n){return Z1(),qo((FW(),nOV),n)});ncy(435,22,{3:1,34:1,22:1,435:1},kJ);var nOb=qs(ndH,"LowLevelSortingCriterion",435,nPg,function(){return U6(),Vp(x2(nOb,1),nbz,435,0,[nOW,nOQ])},function(n){return U6(),qo((FQ(),nOJ),n)}),nOw=IX(ndU,"ILayoutMetaDataProvider");ncy(864,1,ndV,s0),nPU.hf=function(n){J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ndG),ndW),"Polyomino Traversal Strategy"),"Traversal strategy for trying different candidate positions for polyominoes."),nO4),(nrx(),nQZ)),nOd),JI((ZY(),nQV))))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ndq),ndW),"Polyomino Secondary Sorting Criterion"),"Possible secondary sorting criteria for the processing order of polyominoes. They are used when polyominoes are equal according to the primary sorting criterion HighLevelSortingCriterion."),nO2),nQZ),nOb),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ndX),ndW),"Polyomino Primary Sorting Criterion"),"Possible primary sorting criteria for the processing order of polyominoes."),nO1),nQZ),nOl),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ndz),ndW),"Fill Polyominoes"),"Use the Profile Fill algorithm to fill polyominoes to prevent small polyominoes from being placed inside of big polyominoes with large holes. Might increase packing area."),(SB(),!0)),nQJ),nPE),JI(nQV))))},NO(ndH,"PolyominoOptions",864),ncy(257,22,{3:1,34:1,22:1,257:1},kY);var nOd=qs(ndH,"TraversalStrategy",257,nPg,function(){return noj(),Vp(x2(nOd,1),nbz,257,0,[nIi,nO9,nO7,nO8,nIt,nIe,nIn,nO5,nO6])},function(n){return noj(),qo((z6(),nIr),n)});ncy(218,1,{218:1},nm),nPU.Ib=function(){return"NEdge[id="+this.b+" w="+this.g+" d="+this.a+"]"},nPU.a=1,nPU.b=0,nPU.c=0,nPU.f=!1,nPU.g=0;var nOg=NO(ndQ,"NEdge",218);ncy(182,1,{},d1),NO(ndQ,"NEdge/NEdgeBuilder",182),ncy(662,1,{},dY),NO(ndQ,"NGraph",662),ncy(125,1,{125:1},Bn),nPU.c=-1,nPU.d=0,nPU.e=0,nPU.i=-1,nPU.j=!1;var nOp=NO(ndQ,"NNode",125);ncy(808,1,nw4,dZ),nPU.Jc=function(n){_o(this,n)},nPU.Lc=function(){return new As(null,new RF(this,16))},nPU.jd=function(n){Xy(this,n)},nPU.Nc=function(){return new RF(this,16)},nPU.Oc=function(){return new As(null,new RF(this,16))},nPU.bd=function(n,t){++this.b,AN(this.a,n,t)},nPU.Fc=function(n){return SN(this,n)},nPU.cd=function(n,t){return++this.b,W4(this.a,n,t)},nPU.Gc=function(n){return++this.b,Vs(this.a,n)},nPU.$b=function(){++this.b,dG(this.a.c,0)},nPU.Hc=function(n){return -1!=H7(this.a,n,0)},nPU.Ic=function(n){return Ve(this.a,n)},nPU.Xb=function(n){return I6(this.a,n)},nPU.dd=function(n){return H7(this.a,n,0)},nPU.dc=function(){return 0==this.a.c.length},nPU.Kc=function(){return Hv(new fU(this.a))},nPU.ed=function(){throw(new dx).e},nPU.fd=function(n){throw(new dx).e},nPU.gd=function(n){return++this.b,_Y(this.a,n)},nPU.Mc=function(n){return S$(this,n)},nPU.hd=function(n,t){return++this.b,_f(this.a,n,t)},nPU.gc=function(){return this.a.c.length},nPU.kd=function(n,t){return new RE(this.a,n,t)},nPU.Pc=function(){return II(this.a.c)},nPU.Qc=function(n){return ZG(this.a,n)},nPU.b=0,NO(ndQ,"NNode/ChangeAwareArrayList",808),ncy(275,1,{},d0),NO(ndQ,"NNode/NNodeBuilder",275),ncy(1695,1,{},nv),nPU.a=!1,nPU.f=nl5,nPU.j=0,NO(ndQ,"NetworkSimplex",1695),ncy(1314,1,nbS,lw),nPU.Cd=function(n){nfZ(this.a,O2(n,695),!0,!1)},NO(ndY,"NodeLabelAndSizeCalculator/lambda$0$Type",1314),ncy(565,1,{},ld),nPU.b=!0,nPU.c=!0,nPU.d=!0,nPU.e=!0,NO(ndY,"NodeMarginCalculator",565),ncy(217,1,{217:1}),nPU.j=!1,nPU.k=!1;var nOm=NO(ndZ,"Cell",217);ncy(127,217,{127:1,217:1},Cl),nPU.jf=function(){return IA(this)},nPU.kf=function(){var n;return n=this.n,this.a.a+n.b+n.c},NO(ndZ,"AtomicCell",127),ncy(237,22,{3:1,34:1,22:1,237:1},kZ);var nOv=qs(ndZ,"ContainerArea",237,nPg,function(){return GD(),Vp(x2(nOv,1),nbz,237,0,[nIa,nIc,nIu])},function(n){return GD(),qo((BU(),nIo),n)});ncy(336,217,nd0),NO(ndZ,"ContainerCell",336),ncy(1538,336,nd0,YE),nPU.jf=function(){var n;return n=0,this.e?this.b?n=this.b.b:this.a[1][1]&&(n=this.a[1][1].jf()):n=Yr(this,ntm(this,!0)),n>0?n+this.n.d+this.n.a:0},nPU.kf=function(){var n,t,e,i,r;if(r=0,this.e)this.b?r=this.b.a:this.a[1][1]&&(r=this.a[1][1].kf());else if(this.g)r=Yr(this,neh(this,null,!0));else for(GD(),t=Vp(x2(nOv,1),nbz,237,0,[nIa,nIc,nIu]),e=0,i=t.length;e0?r+this.n.b+this.n.c:0},nPU.lf=function(){var n,t,e,i,r;if(this.g)for(n=neh(this,null,!1),GD(),e=Vp(x2(nOv,1),nbz,237,0,[nIa,nIc,nIu]),i=0,r=e.length;i0&&(i[0]+=this.d,e-=i[0]),i[2]>0&&(i[2]+=this.d,e-=i[2]),this.c.a=nPH.Math.max(0,e),this.c.d=t.d+n.d+(this.c.a-e)/2,i[1]=nPH.Math.max(i[1],e),_z(this,nIc,t.d+n.d+i[0]-(i[1]-e)/2,i)},nPU.b=null,nPU.d=0,nPU.e=!1,nPU.f=!1,nPU.g=!1;var nOk=0,nOy=0;NO(ndZ,"GridContainerCell",1538),ncy(471,22,{3:1,34:1,22:1,471:1},k1);var nOM=qs(ndZ,"HorizontalLabelAlignment",471,nPg,function(){return HI(),Vp(x2(nOM,1),nbz,471,0,[nIh,nIs,nIf])},function(n){return HI(),qo((BH(),nIl),n)});ncy(314,217,{217:1,314:1},xO,Gt,xo),nPU.jf=function(){return IL(this)},nPU.kf=function(){return IN(this)},nPU.a=0,nPU.c=!1;var nOj=NO(ndZ,"LabelCell",314);ncy(252,336,{217:1,336:1,252:1},ZL),nPU.jf=function(){return naS(this)},nPU.kf=function(){return naP(this)},nPU.lf=function(){nhi(this)},nPU.mf=function(){nhu(this)},nPU.b=0,nPU.c=0,nPU.d=!1,NO(ndZ,"StripContainerCell",252),ncy(1691,1,nbJ,nk),nPU.Mb=function(n){var t;return!!(t=O2(n,217))&&t.k},NO(ndZ,"StripContainerCell/lambda$0$Type",1691),ncy(1692,1,{},ny),nPU.Ye=function(n){return O2(n,217).kf()},NO(ndZ,"StripContainerCell/lambda$1$Type",1692),ncy(1693,1,nbJ,nM),nPU.Mb=function(n){var t;return!!(t=O2(n,217))&&t.j},NO(ndZ,"StripContainerCell/lambda$2$Type",1693),ncy(1694,1,{},nj),nPU.Ye=function(n){return O2(n,217).jf()},NO(ndZ,"StripContainerCell/lambda$3$Type",1694),ncy(472,22,{3:1,34:1,22:1,472:1},k0);var nOT=qs(ndZ,"VerticalLabelAlignment",472,nPg,function(){return UT(),Vp(x2(nOT,1),nbz,472,0,[nId,nIw,nIb])},function(n){return UT(),qo((BG(),nIg),n)});ncy(800,1,{},nf3),nPU.c=0,nPU.d=0,nPU.k=0,nPU.s=0,nPU.t=0,nPU.v=!1,nPU.w=0,nPU.D=!1,nPU.F=!1,NO(nd8,"NodeContext",800),ncy(1536,1,ndj,nT),nPU.Ne=function(n,t){var e,i;return e=O2(n,64),i=O2(t,64),Eu(e.g,i.g)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nd8,"NodeContext/0methodref$comparePortSides$Type",1536),ncy(1537,1,ndj,nE),nPU.Ne=function(n,t){return function(n,t){var e,i,r;if(i=n.b.ag(),r=t.b.ag(),0!=(e=Eu(i.g,r.g)))return e;switch(n.b.ag().g){case 1:case 2:return Eu(n.b.Nf(),t.b.Nf());case 3:case 4:return Eu(t.b.Nf(),n.b.Nf())}return 0}(O2(n,117),O2(t,117))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nd8,"NodeContext/1methodref$comparePortContexts$Type",1537),ncy(164,22,{3:1,34:1,22:1,164:1},XJ);var nOE=qs(nd8,"NodeLabelLocation",164,nPg,ZW,function(n){return nlX(),qo((Tt(),nIF),n)});ncy(117,1,{117:1},na4),nPU.a=!1,NO(nd8,"PortContext",117),ncy(1541,1,nbS,nS),nPU.Cd=function(n){m1(O2(n,314))},NO(ngn,ngt,1541),ncy(1542,1,nbJ,nP),nPU.Mb=function(n){return!!O2(n,117).c},NO(ngn,nge,1542),ncy(1543,1,nbS,nC),nPU.Cd=function(n){m1(O2(n,117).c)},NO(ngn,"LabelPlacer/lambda$2$Type",1543),ncy(1540,1,nbS,nO),nPU.Cd=function(n){PY(),function(n){n.b.Of(n.e)}(O2(n,117))},NO(ngn,"NodeLabelAndSizeUtilities/lambda$0$Type",1540),ncy(801,1,nbS,Ov),nPU.Cd=function(n){var t,e,i,r,a;t=this.b,e=this.c,i=this.a,(a=function(n){var t,e,i,r;for(nlX(),e=ZW(),i=0,r=e.length;i0?LZ(this.a,e,i):LZ(this.b,e,i)},NO(ngc,"SuccessorCombination",782),ncy(649,1,{},nq),nPU.Ve=function(n,t){var e,i,r,a,c,u;return e=O2(n,42),O2(t,176),c=O2(e.a,17).a,u=O2(e.b,17).a,r=c,a=u,i=nPH.Math.max(nPH.Math.abs(c),nPH.Math.abs(u)),c<=0&&c==u?(r=0,a=u-1):c==-i&&u!=i?(r=u,a=c,u>=0&&++r):(r=-u,a=c),new ja(QR(r),QR(a))},NO(ngc,"SuccessorJitter",649),ncy(648,1,{},nX),nPU.Ve=function(n,t){var e;return function(n){var t,e;if(t=O2(n.a,17).a,e=O2(n.b,17).a,t>=0){if(t==e)return new ja(QR(-t-1),QR(-t-1));if(t==-e)return new ja(QR(-t),QR(e+1))}return nPH.Math.abs(t)>nPH.Math.abs(e)?t<0?new ja(QR(-t),QR(e)):new ja(QR(-t),QR(e+1)):new ja(QR(t+1),QR(e))}((e=O2(n,42),O2(t,176),e))},NO(ngc,"SuccessorLineByLine",648),ncy(573,1,{},nz),nPU.Ve=function(n,t){var e,i,r,a,c;return e=O2(n,42),O2(t,176),a=O2(e.a,17).a,c=O2(e.b,17).a,i=a,r=c,0==a&&0==c?r-=1:-1==a&&c<=0?(i=0,r-=2):a<=0&&c>0?(i-=1,r-=1):a>=0&&c<0?(i+=1,r+=1):a>0&&c>=0?(i-=1,r+=1):(i+=1,r-=1),new ja(QR(i),QR(r))},NO(ngc,"SuccessorManhattan",573),ncy(1344,1,{},nV),nPU.Ve=function(n,t){var e,i,r,a;return e=O2(n,42),O2(t,176),(r=O2(e.a,17).a,a=O2(e.b,17).a,i=nPH.Math.max(nPH.Math.abs(r),nPH.Math.abs(a)),r=-i&&a==i?new ja(QR(r-1),QR(a)):new ja(QR(r),QR(a-1))},NO(ngc,"SuccessorMaxNormWindingInMathPosSense",1344),ncy(409,1,{},lm),nPU.Ve=function(n,t){return LZ(this,n,t)},nPU.c=!1,nPU.d=!1,nPU.e=!1,nPU.f=!1,NO(ngc,"SuccessorQuadrantsGeneric",409),ncy(1345,1,{},nW),nPU.Kb=function(n){return O2(n,334).a},NO(ngc,"SuccessorQuadrantsGeneric/lambda$0$Type",1345),ncy(332,22,{3:1,34:1,22:1,332:1},k4),nPU.a=!1;var nOP=qs(ngf,ngl,332,nPg,function(){return nnh(),Vp(x2(nOP,1),nbz,332,0,[nIV,nIz,nIW,nIQ])},function(n){return nnh(),qo((H$(),nIJ),n)});ncy(1317,1,{}),nPU.Ib=function(){var n,t,e,i,r,a,c,u;for(r=0,e=" ",n=QR(0);r8?0:c+1);for(e+="\n",n=QR(0),a=0;a8?0:u+1),i=0;iJX(a.b.c,e.b.c+e.b.b)&&0>JX(e.b.c,a.b.c+a.b.b))c=n.b.a,u=t.b,LQ(c.a,new kz(u.a,e.a)),r=!0;else if(r)break}(this,t):ER(this.a,t.b)},NO(ngk,"ScanlineOverlapCheck/OverlapsScanlineHandler",1215),ncy(1216,1,ndj,nY),nPU.Ne=function(n,t){var e,i,r;return e=O2(n,68),i=O2(t,68),0!=(r=JC(e.b.c,i.b.c))||0!=(r=JC(e.a.a,i.a.a))?r:JC(e.a.b,i.a.b)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(ngk,"ScanlineOverlapCheck/OverlapsScanlineHandler/lambda$0$Type",1216),ncy(451,1,{451:1},k6),nPU.a=!1,NO(ngk,"ScanlineOverlapCheck/Timestamp",451),ncy(1217,1,ndj,nZ),nPU.Ne=function(n,t){return function(n,t){var e,i,r;if(i=n.b.b.d,n.a||(i+=n.b.b.a),r=t.b.b.d,t.a||(r+=t.b.b.a),0==(e=JC(i,r))){if(!n.a&&t.a)return -1;if(!t.a&&n.a)return 1}return e}(O2(n,451),O2(t,451))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(ngk,"ScanlineOverlapCheck/lambda$0$Type",1217),ncy(557,1,{},n1),NO(ngy,"SVGImage",557),ncy(334,1,{334:1},Og),nPU.Ib=function(){return"("+this.a+nbn+this.b+nbn+this.c+")"},NO(ngy,"UniqueTriple",334),ncy(205,1,ngM),NO(ngj,"AbstractLayoutProvider",205),ncy(1114,205,ngM,n0),nPU.rf=function(n,t){var e,i,r,a,c,u;(t.Ug(ngT,1),this.a=pE(PI(ncR(n,(nne(),nNU)))),BJ(n,nNN)&&(i=PA(ncR(n,nNN)),(e=noW(qT(),i))&&O2(xh(e.f),205).rf(n,t.eh(1))),r=new Fv(this.a),this.b=function(n,t){var e,i,r,a,c,u,o,h,f,l,b,w,d,g,p,m,v,k,y;for(n.e=t,u=function(n){var t,e,i,r;for(D$(),nNX=new du,nNq=new dc,nNG=new du,n.a||(n.a=new LE(nNr,n,10,11)),function(n){var t,e,i,r,a,c,u,o,h,f;for(t=new dc,c=new E2(n);c.e!=c.i.gc();){for(a=O2(Z9(c),27),e=new dV,$S(nNq,a,e),f=new n4,i=O2(Fq(new As(null,new Nd(new Lc(Sb(nc9(a).a.Kc(),new s)))),AA(f,Hl(new z,new X,new nt,Vp(x2(nOa,1),nbz,108,0,[(W1(),nOK)])))),85),qv(e,O2(i.xc((SB(),!0)),16),new n6),r=O2(Fq($Q(O2(i.xc(!1),15).Lc(),new n5),Hl(new z,new X,new nt,Vp(x2(nOa,1),nbz,108,0,[nOK]))),15).Kc();r.Ob();)(h=niz(O2(r.Pb(),74)))&&((u=O2(jx(AO(t.f,h)),21))||(u=nuW(h),nr5(t.f,h,u)),XR(e,u));for(i=O2(Fq(new As(null,new Nd(new Lc(Sb(nc7(a).a.Kc(),new s)))),AA(f,Hl(new z,new X,new nt,Vp(x2(nOa,1),nbz,108,0,[nOK])))),85),qv(e,O2(i.xc(!0),16),new n8),o=O2(Fq($Q(O2(i.xc(!1),15).Lc(),new n9),Hl(new z,new X,new nt,Vp(x2(nOa,1),nbz,108,0,[nOK]))),15).Kc();o.Ob();)(h=niV(O2(o.Pb(),74)))&&((u=O2(jx(AO(t.f,h)),21))||(u=nuW(h),nr5(t.f,h,u)),XR(e,u))}}(t=n.a),r=new E2(t);r.e!=r.i.gc();)i=O2(Z9(r),27),-1==H7(nNX,i,0)&&(e=new du,EB(nNG,e),function n(t,e){var i,r,a;if(EB(nNX,t),e.Fc(t),i=O2(NB(nNq,t),21))for(a=i.Kc();a.Ob();)r=O2(a.Pb(),27),-1!=H7(nNX,r,0)||n(r,e)}(i,e));return nNG}(t),k=new du,i=new fU(u);i.a1?a.e*=pE(a.a):a.f/=pE(a.a),function(n){var t,e;for(t=n.b.a.a.ec().Kc();t.Ob();)e=new nc2(O2(t.Pb(),567),n.e,n.f),EB(n.g,e)}(a),function(n){var t,e;for(t=new fU(n.g);t.a=0&&s>=0&&o0&&G2(p,k*M),y>0&&G3(p,y*j);for(zl(n.b,new n7),t=new du,u=new zE(new fP(n.c).a);u.b;)i=O2((c=Xf(u)).ld(),74),e=O2(c.md(),407).a,r=nu9(i,!1,!1),nhs(f=nif(niX(i),nrg(r),e),r),(v=niz(i))&&-1==H7(t,v,0)&&(dy(t.c,v),$1(v,(P$(0!=f.b),O2(f.a.a.c,8)),e));for(g=new zE(new fP(n.d).a);g.b;)i=O2((d=Xf(g)).ld(),74),e=O2(d.md(),407).a,r=nu9(i,!1,!1),f=nif(niW(i),Wh(nrg(r)),e),nhs(f=Wh(f),r),(v=niV(i))&&-1==H7(t,v,0)&&(dy(t.c,v),$1(v,(P$(0!=f.b),O2(f.c.b.c,8)),e))}(r),nnb(n,nND,this.b),t.Vg()},nPU.a=0,NO(ngE,"DisCoLayoutProvider",1114),ncy(1208,1,{},n2),nPU.c=!1,nPU.e=0,nPU.f=0,NO(ngE,"DisCoPolyominoCompactor",1208),ncy(567,1,{567:1},Ao),nPU.b=!0,NO(ngS,"DCComponent",567),ncy(406,22,{3:1,34:1,22:1,406:1},k5),nPU.a=!1;var nI0=qs(ngS,"DCDirection",406,nPg,function(){return nns(),Vp(x2(nI0,1),nbz,406,0,[nNy,nNk,nNM,nNj])},function(n){return nns(),qo((HN(),nNT),n)});ncy(272,137,{3:1,272:1,96:1,137:1},ncP),NO(ngS,"DCElement",272),ncy(407,1,{407:1},ntr),nPU.c=0,NO(ngS,"DCExtension",407),ncy(762,137,ngv,mf),NO(ngS,"DCGraph",762),ncy(489,22,{3:1,34:1,22:1,489:1},Pw);var nI2=qs(ngP,ngC,489,nPg,function(){return v5(),Vp(x2(nI2,1),nbz,489,0,[nNE])},function(n){return v5(),qo((KH(),nNS),n)});ncy(865,1,ndV,s2),nPU.hf=function(n){J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ngO),ngN),"Connected Components Compaction Strategy"),"Strategy for packing different connected components in order to save space and enhance readability of a graph."),nNO),(nrx(),nQZ)),nI2),JI((ZY(),nQV))))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,ngI),ngN),"Connected Components Layout Algorithm"),"A layout algorithm that is to be applied to each connected component before the components themselves are compacted. If unspecified, the positions of the components' nodes are not altered."),nQ3),nP$),JI(nQV)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,ngA),"debug"),"DCGraph"),"Access to the DCGraph is intended for the debug view,"),nQ2),nPu),JI(nQV)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,ngL),"debug"),"List of Polyominoes"),"Access to the polyominoes is intended for the debug view,"),nQ2),nPu),JI(nQV)))),nhI((new s3,n))},NO(ngP,"DisCoMetaDataProvider",865),ncy(1010,1,ndV,s3),nPU.hf=function(n){nhI(n)},NO(ngP,"DisCoOptions",1010),ncy(1011,1,{},n3),nPU.sf=function(){return new n0},nPU.tf=function(n){},NO(ngP,"DisCoOptions/DiscoFactory",1011),ncy(568,176,{330:1,176:1,568:1},nc2),nPU.a=0,nPU.b=0,nPU.c=0,nPU.d=0,NO("org.eclipse.elk.alg.disco.structures","DCPolyomino",568),ncy(1286,1,nbJ,n4),nPU.Mb=function(n){return Tw(n)},NO(ngF,"ElkGraphComponentsProcessor/lambda$0$Type",1286),ncy(1287,1,{},n6),nPU.Kb=function(n){return D$(),niX(O2(n,74))},NO(ngF,"ElkGraphComponentsProcessor/lambda$1$Type",1287),ncy(1288,1,nbJ,n5),nPU.Mb=function(n){var t;return t=O2(n,74),D$(),niX(t)==xY(niW(t))},NO(ngF,"ElkGraphComponentsProcessor/lambda$2$Type",1288),ncy(1289,1,{},n8),nPU.Kb=function(n){return D$(),niW(O2(n,74))},NO(ngF,"ElkGraphComponentsProcessor/lambda$3$Type",1289),ncy(1290,1,nbJ,n9),nPU.Mb=function(n){var t;return t=O2(n,74),D$(),niW(t)==xY(niX(t))},NO(ngF,"ElkGraphComponentsProcessor/lambda$4$Type",1290),ncy(1291,1,nbJ,lk),nPU.Mb=function(n){var t,e;return t=this.a,e=O2(n,74),D$(),t==xY(niX(e))||t==xY(niW(e))},NO(ngF,"ElkGraphComponentsProcessor/lambda$5$Type",1291),ncy(1292,1,{},ly),nPU.Kb=function(n){var t,e;return t=this.a,e=O2(n,74),D$(),t==niX(e)?niW(e):niX(e)},NO(ngF,"ElkGraphComponentsProcessor/lambda$6$Type",1292),ncy(1205,1,{},Fv),nPU.a=0,NO(ngF,"ElkGraphTransformer",1205),ncy(1206,1,{},n7),nPU.Yd=function(n,t){var e,i,r,a,c,u;e=O2(n,167),i=O2(t,272),this.a=i.b.d,EM(e,326)?(_o(c=nrg(a=nu9(O2(e,74),!1,!1)),r=new lM(this)),nhs(c,a),null!=e.of((nlH(),nJ1))&&_o(O2(e.of(nJ1),75),r)):((u=O2(e,422)).rh(u.nh()+this.a.a),u.sh(u.oh()+this.a.b))},NO(ngF,"ElkGraphTransformer/OffsetApplier",1206),ncy(1207,1,nbS,lM),nPU.Cd=function(n){Po(O2(n,8),this.a.a.a,this.a.a.b)},NO(ngF,"ElkGraphTransformer/OffsetApplier/OffSetToChainApplier",1207),ncy(760,1,{},tn),NO(ngG,ngq,760),ncy(1195,1,ndj,tt),nPU.Ne=function(n,t){var e,i,r,a,c;return e=O2(n,235),i=O2(t,235),0==(r=O2(niB(i,(ns_(),n$o)),17).a-O2(niB(e,n$o),17).a)?(a=CC(Ev(O2(niB(e,(Xh(),n$y)),8)),O2(niB(e,n$M),8)),c=CC(Ev(O2(niB(i,n$y),8)),O2(niB(i,n$M),8)),JC(a.a*a.b,c.a*c.b)):r},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(ngG,ngX,1195),ncy(1196,1,nbS,k8),nPU.Cd=function(n){var t,e,i;t=this.b,e=this.a,CP(i=new TP(O2(n,250).d),t),JD(e,i.a,i.b)},NO(ngG,ngz,1196),ncy(738,205,ngM,d2),nPU.rf=function(n,t){nc5(this,n,t)},NO(ngG,"ForceLayoutProvider",738),ncy(309,137,{3:1,309:1,96:1,137:1}),NO(ngV,"FParticle",309),ncy(250,309,{3:1,250:1,309:1,96:1,137:1},Np),nPU.Ib=function(){var n;return this.a?(n=H7(this.a.a,this,0))>=0?"b"+n+"["+_u(this.a)+"]":"b["+_u(this.a)+"]":"b_"+SK(this)},NO(ngV,"FBendpoint",250),ncy(290,137,{3:1,290:1,96:1,137:1},Cd),nPU.Ib=function(){return _u(this)},NO(ngV,"FEdge",290),ncy(235,137,{3:1,235:1,96:1,137:1},_7);var nI3=NO(ngV,"FGraph",235);ncy(454,309,{3:1,454:1,309:1,96:1,137:1},Fm),nPU.Ib=function(){return null==this.b||0==this.b.length?"l["+_u(this.a)+"]":"l_"+this.b},NO(ngV,"FLabel",454),ncy(153,309,{3:1,153:1,309:1,96:1,137:1},Ef),nPU.Ib=function(){return RZ(this)},nPU.a=0,NO(ngV,"FNode",153),ncy(2100,1,{}),nPU.vf=function(n){nsW(this,n)},nPU.wf=function(){ntg(this)},nPU.d=0,NO(ngQ,"AbstractForceModel",2100),ncy(641,2100,{641:1},zT),nPU.uf=function(n,t){var e,i,r,a,c,u;return nfo(this.f,n,t),r=CC(Ev(t.d),n.d),a=nPH.Math.sqrt(r.a*r.a+r.b*r.b),i=nPH.Math.max(0,a-$n(n.e)/2-$n(t.e)/2),E_(r,((e=naH(this.e,n,t))>0?-(c=this.c,i>0?nPH.Math.log(i/c):-100)*e:(u=this.b,(i>0?u/(i*i):100*u)*O2(niB(n,(ns_(),n$o)),17).a))/a),r},nPU.vf=function(n){nsW(this,n),this.a=O2(niB(n,(ns_(),nN8)),17).a,this.c=pE(PI(niB(n,n$w))),this.b=pE(PI(niB(n,n$h)))},nPU.xf=function(n){return n0?o*o/u:o*o*100)*O2(niB(n,(ns_(),n$o)),17).a,(e=naH(this.e,n,t))>0&&(a-=i*i/this.a*e),E_(r,a*this.b/c),r},nPU.vf=function(n){var t,e,i,r,a,c,u;for(nsW(this,n),this.b=pE(PI(niB(n,(ns_(),n$d)))),this.c=this.b/O2(niB(n,nN8),17).a,i=n.e.c.length,a=0,r=0,u=new fU(n.e);u.a0},nPU.a=0,nPU.b=0,nPU.c=0,NO(ngQ,"FruchtermanReingoldModel",642),ncy(860,1,ndV,s4),nPU.hf=function(n){J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ngJ),""),"Force Model"),"Determines the model for force calculation."),nNW),(nrx(),nQZ)),nI4),JI((ZY(),nQV))))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ngY),""),"Iterations"),"The number of iterations on the force model."),QR(300)),nQ0),nPI),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ngZ),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),QR(0)),nQ0),nPI),JI(nQq)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ng1),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),ng0),nQY),nPC),JI(nQV)))),KO(n,ng1,ngJ,nN1),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ng2),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),nQY),nPC),JI(nQV)))),KO(n,ng2,ngJ,nNJ),nls((new s6,n))},NO(ng3,"ForceMetaDataProvider",860),ncy(432,22,{3:1,34:1,22:1,432:1},k9);var nI4=qs(ng3,"ForceModelStrategy",432,nPg,function(){return U5(),Vp(x2(nI4,1),nbz,432,0,[nN0,nN2])},function(n){return U5(),qo((FJ(),nN3),n)});ncy(nwn,1,ndV,s6),nPU.hf=function(n){nls(n)},NO(ng3,"ForceOptions",nwn),ncy(1001,1,{},tc),nPU.sf=function(){return new d2},nPU.tf=function(n){},NO(ng3,"ForceOptions/ForceFactory",1001),ncy(861,1,ndV,s5),nPU.hf=function(n){J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npv),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(SB(),!1)),(nrx(),nQJ)),nPE),JI((ZY(),nQz))))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npk),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),nQY),nPC),AR(nQV,Vp(x2(nLA,1),nbz,170,0,[nQq]))))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npy),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),n$P),nQZ),nI6),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npM),""),"Stress Epsilon"),"Termination criterion for the iterative process."),ng0),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npj),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),QR(nl5)),nQ0),nPI),JI(nQV)))),nfx((new s8,n))},NO(ng3,"StressMetaDataProvider",861),ncy(1004,1,ndV,s8),nPU.hf=function(n){nfx(n)},NO(ng3,"StressOptions",1004),ncy(1005,1,{},tr),nPU.sf=function(){return new Cg},nPU.tf=function(n){},NO(ng3,"StressOptions/StressFactory",1005),ncy(1110,205,ngM,Cg),nPU.rf=function(n,t){var e,i,r,a;for(t.Ug(npE,1),pT(PO(ncR(n,(nt2(),n$D))))?pT(PO(ncR(n,n$B)))||xj(new lh((kv(),new pk(n)))):nc5(new d2,n,t.eh(1)),i=V_(n),a=(e=nha(this.a,i)).Kc();a.Ob();)(r=O2(a.Pb(),235)).e.c.length<=1||(function(n,t){var e,i,r,a,c,u,o,s,h;if(!(t.e.c.length<=1)){for(n.f=t,n.d=O2(niB(n.f,(nt2(),n$L)),391),n.g=O2(niB(n.f,n$x),17).a,n.e=pE(PI(niB(n.f,n$N))),n.c=pE(PI(niB(n.f,n$A))),L9(n.b),r=new fU(n.f.c);r.a0&&(r=e),c=new fU(n.f.e);c.a0&&n.d!=(Uj(),n$q)&&(u+=c*(i.d.a+n.a[t.a][i.a]*(t.d.a-i.d.a)/e)),e>0&&n.d!=(Uj(),n$U)&&(o+=c*(i.d.b+n.a[t.a][i.a]*(t.d.b-i.d.b)/e)));switch(n.d.g){case 1:return new MH(u/a,t.d.b);case 2:return new MH(t.d.a,o/a);default:return new MH(u/a,o/a)}}(n,a),CP(Ta(a.d),i));e=ncw(n)}while(u=t++,o=r,s=e,0!=o&&!((o-s)/o=n.g))}}(this.b),Gm(r.d,new ta));nlv(i=nlc(e)),t.Vg()},NO(npP,"StressLayoutProvider",1110),ncy(1111,1,nbS,ta),nPU.Cd=function(n){nhC(O2(n,454))},NO(npP,"StressLayoutProvider/lambda$0$Type",1111),ncy(1002,1,{},dU),nPU.c=0,nPU.e=0,nPU.g=0,NO(npP,"StressMajorization",1002),ncy(391,22,{3:1,34:1,22:1,391:1},k7);var nI6=qs(npP,"StressMajorization/Dimension",391,nPg,function(){return Uj(),Vp(x2(nI6,1),nbz,391,0,[n$G,n$U,n$q])},function(n){return Uj(),qo((BX(),n$X),n)});ncy(1003,1,ndj,lj),nPU.Ne=function(n,t){var e,i,r;return e=this.a,i=O2(n,153),r=O2(t,153),JC(e[i.a],e[r.a])},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(npP,"StressMajorization/lambda$0$Type",1003),ncy(1192,1,{},R5),NO(npO,"ElkLayered",1192),ncy(1193,1,nbS,lT),nPU.Cd=function(n){!function(n,t){var e;if((e=O2(niB(t,(nl$(),nHn)),322))!=n)throw new pF("The hierarchy aware processor "+e+" in child node "+t+" is only allowed if the root node specifies the same hierarchical processor.").e}(this.a,O2(n,36))},NO(npO,"ElkLayered/lambda$0$Type",1193),ncy(1194,1,nbS,lE),nPU.Cd=function(n){var t;t=this.a,VF(O2(n,36),(nl$(),nB2),t)},NO(npO,"ElkLayered/lambda$1$Type",1194),ncy(1281,1,{},EI),NO(npO,"GraphConfigurator",1281),ncy(770,1,nbS,lS),nPU.Cd=function(n){ni7(this.a,O2(n,10))},NO(npO,"GraphConfigurator/lambda$0$Type",770),ncy(771,1,{},ti),nPU.Kb=function(n){return nek(),new As(null,new RF(O2(n,30).a,16))},NO(npO,"GraphConfigurator/lambda$1$Type",771),ncy(772,1,nbS,lP),nPU.Cd=function(n){ni7(this.a,O2(n,10))},NO(npO,"GraphConfigurator/lambda$2$Type",772),ncy(1109,205,ngM,gn),nPU.rf=function(n,t){var e,i,r;e=function(n,t){var e,i,r;if(r=ns1(t),t.c||(t.c=new LE(nNa,t,9,9)),vZ(new As(null,(t.c||(t.c=new LE(nNa,t,9,9)),new RF(t.c,16))),new lD(r)),function(n,t){var e,i,r,a,c,u,o,s,h,f,l;for(c=pT(PO(ncR(n,(nl$(),nHE)))),l=O2(ncR(n,nUc),21),o=!1,s=!1,f=new E2((n.c||(n.c=new LE(nNa,n,9,9)),n.c));f.e!=f.i.gc()&&(!o||!s);){for(a=O2(Z9(f),123),u=0,r=LU(qg(Vp(x2(nPf,1),nbe,20,0,[(a.d||(a.d=new CK(nL8,a,8,5)),a.d),(a.e||(a.e=new CK(nL8,a,7,4)),a.e)])));ncM(r)&&(i=O2(_$(r),74),h=c&&naK(i)&&pT(PO(ncR(i,nHS))),e=nfc((i.b||(i.b=new CK(nL5,i,4,7)),i.b),a)?n==xY(nip(O2(GA((i.c||(i.c=new CK(nL5,i,5,8)),i.c),0),84))):n==xY(nip(O2(GA((i.b||(i.b=new CK(nL5,i,4,7)),i.b),0),84))),!((h||e)&&++u>1)););u>0?o=!0:l.Hc((nak(),nZ8))&&(a.n||(a.n=new LE(nNi,a,1,7)),a.n).i>0&&(o=!0),u>1&&(s=!0)}o&&t.Fc((noe(),nKo)),s&&t.Fc((noe(),nKs))}(t,i=O2(niB(r,(nlB(),nKq)),21)),i.Hc((noe(),nKo)))for(e=new E2((t.c||(t.c=new LE(nNa,t,9,9)),t.c));e.e!=e.i.gc();)(function(n,t,e,i){var r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v;for(o=new MH(i.i+i.g/2,i.j+i.f/2),l=nh9(i),b=O2(ncR(t,(nl$(),nUi)),101),d=O2(ncR(i,nUo),64),g=Z5(i),p=nUe,Y$(g.a,p)||(w=0==i.i&&0==i.j?0:function(n,t){var e;if(!xA(n))throw new p$(njs).e;switch(e=xA(n),t.g){case 1:return-(n.j+n.f);case 2:return n.i-e.g;case 3:return n.j-e.f;case 4:return-(n.i+n.g)}return 0}(i,d),nnb(i,nUe,w)),VF(r=nlw(i,b,d,l,new MH(t.g,t.f),o,new MH(i.g,i.f),O2(niB(e,nHi),88),e),(nlB(),nK8),i),m=a=O2(I6(r.j,0),12),v=function(n){var t,e,i,r,a;for(a=xA(n),r=new E2((n.e||(n.e=new CK(nL8,n,7,4)),n.e));r.e!=r.i.gc();)if(i=O2(Z9(r),74),!Gp(nip(O2(GA((i.c||(i.c=new CK(nL5,i,5,8)),i.c),0),84)),a))return!0;for(e=new E2((n.d||(n.d=new CK(nL8,n,8,5)),n.d));e.e!=e.i.gc();)if(t=O2(Z9(e),74),!Gp(nip(O2(GA((t.b||(t.b=new CK(nL5,t,4,7)),t.b),0),84)),a))return!0;return!1}(i),m.c=v,VF(r,nUc,(nak(),JI(nZ7))),h=O2(ncR(t,nUc),181).Hc(nZ8),u=new E2((i.n||(i.n=new LE(nNi,i,1,7)),i.n));u.e!=u.i.gc();)if(!pT(PO(ncR(c=O2(Z9(u),135),nH0)))&&c.a&&(f=Qk(c),EB(a.f,f),!h))switch(s=0,Ly(O2(ncR(t,nUc),21))&&(s=naI(new MH(c.i,c.j),new MH(c.g,c.f),new MH(i.g,i.f),0,d)),d.g){case 2:case 4:f.o.a=s;break;case 1:case 3:f.o.b=s}VF(r,nUO,PI(ncR(xY(t),nUO))),VF(r,nUI,PI(ncR(xY(t),nUI))),VF(r,nUP,PI(ncR(xY(t),nUP))),EB(e.a,r),$S(n.a,i,r)})(n,t,r,O2(Z9(e),123));return 0!=O2(ncR(t,(nl$(),nHJ)),181).gc()&&noi(t,r),pT(PO(niB(r,nH4)))&&i.Fc(nKb),Pn(r,nUp)&&function(n,t){Wm(n).Cd(t)}(new YT(pE(PI(niB(r,nUp)))),r),jR(ncR(t,nHk))===jR((QA(),nZP))?function(n,t,e){var i,r,a,c,u,o,h,f,l,b,w,d,g,p,m,v,k,y,M,j,T,E,S,P;for(c=new vq,y=O2(niB(e,(nl$(),nHi)),88),g=0,XR(c,(t.a||(t.a=new LE(nNr,t,10,11)),t.a));0!=c.b;)(jR(ncR(h=xY(f=O2(0==c.b?null:(P$(0!=c.b),Gj(c,c.a.a)),27)),nBY))!==jR((Zf(),nGI))||jR(ncR(h,nHt))===jR((Zh(),nRx))||jR(ncR(h,nHt))===jR((Zh(),nR$))||pT(PO(ncR(h,nB1)))||jR(ncR(h,nBX))!==jR((ZP(),nDl))||jR(ncR(h,nHR))===jR((nse(),nGv))||jR(ncR(h,nHR))===jR((nse(),nGk))||jR(ncR(h,nHK))===jR((nuC(),nU3))||jR(ncR(h,nHK))===jR((nuC(),nU6)))&&!pT(PO(ncR(f,nBQ)))&&nnb(f,(nlB(),nK5),QR(g++)),!pT(PO(ncR(f,nH0)))&&(b=0!=(f.a||(f.a=new LE(nNr,f,10,11)),f.a).i,d=function(n){var t,e;if(pT(PO(ncR(n,(nl$(),nHE))))){for(e=new Lc(Sb(nc7(n).a.Kc(),new s));ncM(e);)if(naK(t=O2(_$(e),74))&&pT(PO(ncR(t,nHS))))return!0}return!1}(f),w=jR(ncR(f,nHk))===jR((QA(),nZP)),P=!BJ(f,(nlH(),nJT))||_N(PA(ncR(f,nJT))),v=null,P&&w&&(b||d)&&(VF(v=ns1(f),nHi,y),Pn(v,nUp)&&function(n,t){Wm(n).Cd(t)}(new YT(pE(PI(niB(v,nUp)))),v),0!=O2(ncR(f,nHJ),181).gc()&&(l=v,vZ(new As(null,(f.c||(f.c=new LE(nNa,f,9,9)),new RF(f.c,16))),new lx(l)),noi(f,v))),M=e,(j=O2(NB(n.a,xY(f)),10))&&(M=j.e),m=nld(n,f,M),v&&(m.e=v,v.e=m,XR(c,(f.a||(f.a=new LE(nNr,f,10,11)),f.a))));for(g=0,FG(c,t,c.c.b,c.c);0!=c.b;){for(o=new E2(((a=O2(0==c.b?null:(P$(0!=c.b),Gj(c,c.a.a)),27)).b||(a.b=new LE(nL8,a,12,3)),a.b));o.e!=o.i.gc();)noZ(u=O2(Z9(o),74)),(jR(ncR(t,nBY))!==jR((Zf(),nGI))||jR(ncR(t,nHt))===jR((Zh(),nRx))||jR(ncR(t,nHt))===jR((Zh(),nR$))||pT(PO(ncR(t,nB1)))||jR(ncR(t,nBX))!==jR((ZP(),nDl))||jR(ncR(t,nHR))===jR((nse(),nGv))||jR(ncR(t,nHR))===jR((nse(),nGk))||jR(ncR(t,nHK))===jR((nuC(),nU3))||jR(ncR(t,nHK))===jR((nuC(),nU6)))&&nnb(u,(nlB(),nK5),QR(g++)),E=nip(O2(GA((u.b||(u.b=new CK(nL5,u,4,7)),u.b),0),84)),S=nip(O2(GA((u.c||(u.c=new CK(nL5,u,5,8)),u.c),0),84)),pT(PO(ncR(u,nH0)))||pT(PO(ncR(E,nH0)))||pT(PO(ncR(S,nH0)))||(p=naK(u)&&pT(PO(ncR(E,nHE)))&&pT(PO(ncR(u,nHS))),k=a,p||Gp(S,E)?k=E:Gp(E,S)&&(k=S),M=e,(j=O2(NB(n.a,k),10))&&(M=j.e),VF(nl_(n,u,k,M),(nlB(),nKL),function(n,t,e,i){var r,a,c,u,o;return(u=nip(O2(GA((t.b||(t.b=new CK(nL5,t,4,7)),t.b),0),84)),o=nip(O2(GA((t.c||(t.c=new CK(nL5,t,5,8)),t.c),0),84)),xY(u)==xY(o)||Gp(o,u))?null:(c=xI(t))==e?i:(a=O2(NB(n.a,c),10))&&(r=a.e)?r:null}(n,u,t,e)));if(w=jR(ncR(a,nHk))===jR((QA(),nZP)))for(r=new E2((a.a||(a.a=new LE(nNr,a,10,11)),a.a));r.e!=r.i.gc();)P=!BJ(i=O2(Z9(r),27),(nlH(),nJT))||_N(PA(ncR(i,nJT))),T=jR(ncR(i,nHk))===jR(nZP),P&&T&&FG(c,i,c.c.b,c.c)}}(n,t,r):function(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w,d,g;for(l=0,r=new E2((t.a||(t.a=new LE(nNr,t,10,11)),t.a));r.e!=r.i.gc();)pT(PO(ncR(i=O2(Z9(r),27),(nl$(),nH0))))||((jR(ncR(h=xY(i),nBY))!==jR((Zf(),nGI))||jR(ncR(h,nHt))===jR((Zh(),nRx))||jR(ncR(h,nHt))===jR((Zh(),nR$))||pT(PO(ncR(h,nB1)))||jR(ncR(h,nBX))!==jR((ZP(),nDl))||jR(ncR(h,nHR))===jR((nse(),nGv))||jR(ncR(h,nHR))===jR((nse(),nGk))||jR(ncR(h,nHK))===jR((nuC(),nU3))||jR(ncR(h,nHK))===jR((nuC(),nU6)))&&!pT(PO(ncR(i,nBQ)))&&(nnb(i,(nlB(),nK5),QR(l)),++l),nld(n,i,e));for(l=0,s=new E2((t.b||(t.b=new LE(nL8,t,12,3)),t.b));s.e!=s.i.gc();)u=O2(Z9(s),74),(jR(ncR(t,(nl$(),nBY)))!==jR((Zf(),nGI))||jR(ncR(t,nHt))===jR((Zh(),nRx))||jR(ncR(t,nHt))===jR((Zh(),nR$))||pT(PO(ncR(t,nB1)))||jR(ncR(t,nBX))!==jR((ZP(),nDl))||jR(ncR(t,nHR))===jR((nse(),nGv))||jR(ncR(t,nHR))===jR((nse(),nGk))||jR(ncR(t,nHK))===jR((nuC(),nU3))||jR(ncR(t,nHK))===jR((nuC(),nU6)))&&(nnb(u,(nlB(),nK5),QR(l)),++l),d=niX(u),g=niW(u),f=pT(PO(ncR(d,nHE))),w=!pT(PO(ncR(u,nH0))),b=f&&naK(u)&&pT(PO(ncR(u,nHS))),a=xY(d)==t&&xY(d)==xY(g),c=(xY(d)==t&&g==t)^(xY(g)==t&&d==t),w&&!b&&(c||a)&&nl_(n,u,t,e);if(xY(t))for(o=new E2(Dg(xY(t)));o.e!=o.i.gc();)(d=niX(u=O2(Z9(o),74)))==t&&naK(u)&&(b=pT(PO(ncR(d,(nl$(),nHE))))&&pT(PO(ncR(u,nHS))))&&nl_(n,u,t,e)}(n,t,r),r}(new ge,n),jR(ncR(n,(nl$(),nHk)))===jR((QA(),nZP))?(i=this.a,(r=t)||(r=If(new gz,0)),r.Ug(npC,2),nnE(i.b,e,r.eh(1)),function(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w;for(_o(o=function(n){var t,e,i,r,a;for(t=new E1,e=new E1,K8(t,n),K8(e,n);e.b!=e.c;)for(a=new fU(O2(LV(e),36).a);a.ang0,E=nPH.Math.abs(l.b-w.b)>ng0,(!e&&T&&E||e&&(T||E))&&ID(g.a,k)),XR(g.a,i),0==i.b?l=k:(P$(0!=i.b),l=O2(i.c.b.c,8)),function(n,t,e){var i,r;(r=O2(niB(n,(nl$(),nHO)),75))&&(WH(i=new gE,0,r),zs(i,e),XR(t,i))}(b,f,d),XZ(r)==j&&($u(j.i)!=r.a&&nrB(d=new mm,$u(j.i),m),VF(g,nFv,d)),function(n,t,e){var i,r;for(r=new Ky(n.b,0);r.bt.a&&(i.Hc((neY(),nJp))?n.c.a+=(e.a-t.a)/2:i.Hc(nJv)&&(n.c.a+=e.a-t.a)),e.b>t.b&&(i.Hc((neY(),nJy))?n.c.b+=(e.b-t.b)/2:i.Hc(nJk)&&(n.c.b+=e.b-t.b)),O2(niB(n,(nlB(),nKq)),21).Hc((noe(),nKo))&&(e.a>t.a||e.b>t.b))for(u=new fU(n.a);u.a0&&(EB(this.c,new O9(t.c,t.d,this.d)),this.b=t.d)},nPU.b=0,NO(npN,"RectilinearConvexHull/MaximalElementsEventHandler",583),ncy(1710,1,ndj,tw),nPU.Ne=function(n,t){var e,i;return e=PI(n),i=PI(t),kn(),JC(($d(e),e),($d(i),i))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(npN,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1710),ncy(1709,1,{382:1},Gn),nPU.bf=function(n){var t,e,i,r,a;t=O2(n,148),this.d&&(t.c!=this.e.c||(i=this.e.b,r=t.b,Vk(),i==n$8&&r==n$9||i==n$8&&r==n$7||i==nDn&&r==n$7||i==nDn&&r==n$9))&&(EB(this.f,this.d),this.a=this.d.c+this.d.b,this.d=null,this.e=null),(a=t.b)==n$8||a==n$9?this.c=t:this.b=t,(t.b==(Vk(),n$8)&&!t.a||t.b==n$9&&t.a||t.b==n$7&&t.a||t.b==nDn&&!t.a)&&this.c&&this.b&&(e=new $9(this.a,this.c.d,t.c-this.a,this.b.d-this.c.d),this.d=e,this.e=t)},nPU.a=0,nPU.b=null,nPU.c=null,nPU.d=null,nPU.e=null,NO(npN,"RectilinearConvexHull/RectangleEventHandler",1709),ncy(1711,1,ndj,td),nPU.Ne=function(n,t){var e,i;return e=O2(n,148),i=O2(t,148),U9(),e.c==i.c?JC(i.d,e.d):JC(e.c,i.c)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(npN,"RectilinearConvexHull/lambda$0$Type",1711),ncy(1712,1,ndj,tv),nPU.Ne=function(n,t){var e,i;return e=O2(n,148),i=O2(t,148),U9(),e.c==i.c?JC(e.d,i.d):JC(e.c,i.c)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(npN,"RectilinearConvexHull/lambda$1$Type",1712),ncy(1713,1,ndj,tk),nPU.Ne=function(n,t){var e,i;return e=O2(n,148),i=O2(t,148),U9(),e.c==i.c?JC(i.d,e.d):JC(i.c,e.c)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(npN,"RectilinearConvexHull/lambda$2$Type",1713),ncy(1714,1,ndj,tm),nPU.Ne=function(n,t){var e,i;return e=O2(n,148),i=O2(t,148),U9(),e.c==i.c?JC(e.d,i.d):JC(i.c,e.c)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(npN,"RectilinearConvexHull/lambda$3$Type",1714),ncy(1715,1,ndj,ty),nPU.Ne=function(n,t){return function(n,t){var e,i,r,a;if(U9(),n.c!=t.c)return JC(n.c,t.c);if(n.b==t.b||(i=n.b,r=t.b,Vk(),i==n$8&&r==nDn||i==nDn&&r==n$8||i==n$7&&r==n$9||i==n$9&&r==n$7)){if(e=(a=n.b)==n$8||a==nDn?1:-1,n.a&&!t.a)return e;if(!n.a&&t.a)return-e}return Eu(n.b.g,t.b.g)}(O2(n,148),O2(t,148))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(npN,"RectilinearConvexHull/lambda$4$Type",1715),ncy(1716,1,{},x5),NO(npN,"Scanline",1716),ncy(2104,1,{}),NO(np$,"AbstractGraphPlacer",2104),ncy(335,1,{335:1},Pu),nPU.Ff=function(n){return!!this.Gf(n)&&(na_(this.b,O2(niB(n,(nlB(),nKF)),21),n),!0)},nPU.Gf=function(n){var t,e,i;for(t=O2(niB(n,(nlB(),nKF)),21),i=O2(_V(nDo,t),21).Kc();i.Ob();)if(e=O2(i.Pb(),21),!O2(_V(this.b,e),15).dc())return!1;return!0},NO(np$,"ComponentGroup",335),ncy(779,2104,{},d9),nPU.Hf=function(n){var t;for(t=new fU(this.a);t.aa?1:0},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(np$,"ComponentsProcessor/lambda$0$Type",1283),ncy(579,335,{335:1,579:1},_p),nPU.Ff=function(n){return WP(this,n)},nPU.Gf=function(n){return nuv(this,n)},NO(np$,"ModelOrderComponentGroup",579),ncy(1310,2104,{},tj),nPU.Ef=function(n,t){var e,i,r,a,c,u,o,s,h;if(1==n.gc()){(s=O2(n.Xb(0),36))!=t&&(t.a.c.length=0,nsf(t,s,0,0),zX(t,s),DT(t.d,s.d),t.f.a=s.f.a,t.f.b=s.f.b);return}if(n.dc()){t.a.c.length=0,t.f.a=0,t.f.b=0;return}for(this.Jf(n,t),r=O2(n.Xb(0),36),t.a.c.length=0,zX(t,r),u=0,h=0,a=n.Kc();a.Ob();)o=O2(a.Pb(),36).f,u=nPH.Math.max(u,o.a),h+=o.a*o.b;if(u=nPH.Math.max(u,nPH.Math.sqrt(h)*pE(PI(niB(t,(nl$(),nBB))))),i=pE(PI(niB(t,nUk))),this.If(n,t,u,i),pT(PO(niB(r,nBU)))){for(nlP(e=new tp,n,i),c=n.Kc();c.Ob();)CP(Ta(O2(c.Pb(),36).c),e.e);CP(Ta(t.f),e.a)}Hs(t,n)},nPU.If=function(n,t,e,i){var r,a,c,u,o,s,h,f;for(h=0,f=0,u=0,r=i,c=n.Kc();c.Ob();)h+(s=(a=O2(c.Pb(),36)).f).a>e&&(h=0,f+=u+i,u=0),o=a.c,noY(a,h+o.a,f+o.b),Ta(o),r=nPH.Math.max(r,h+s.a),u=nPH.Math.max(u,s.b),h+=s.a+i;t.f.a=r,t.f.b=f+u},nPU.Jf=function(n,t){var e,i,r,a,c;if(jR(niB(t,(nl$(),nBX)))===jR((ZP(),nDl))){for(i=n.Kc();i.Ob();){for(e=O2(i.Pb(),36),c=0,a=new fU(e.a);a.ae&&!O2(niB(a,(nlB(),nKF)),21).Hc((nf9(),n1i))||o&&O2(niB(o,(nlB(),nKF)),21).Hc((nf9(),n1e))||O2(niB(a,(nlB(),nKF)),21).Hc((nf9(),n1M)))&&(l=f,b+=u+i,u=0),s=a.c,O2(niB(a,(nlB(),nKF)),21).Hc((nf9(),n1i))&&(l=r+i),noY(a,l+s.a,b+s.b),r=nPH.Math.max(r,l+h.a),O2(niB(a,nKF),21).Hc(n1k)&&(f=nPH.Math.max(f,l+h.a+i)),Ta(s),u=nPH.Math.max(u,h.b),l+=h.a+i,o=a;t.f.a=r,t.f.b=b+u},nPU.Jf=function(n,t){},NO(np$,"ModelOrderRowGraphPlacer",1313),ncy(1311,1,ndj,tT),nPU.Ne=function(n,t){var e,i,r;return e=O2(n,36),0==(r=(i=O2(t,36)).p-e.p)?JC(e.f.a*e.f.b,i.f.a*i.f.b):r},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(np$,"SimpleRowGraphPlacer/1",1311),ncy(1280,1,ndB,tE),nPU.Lb=function(n){var t;return!!(t=O2(niB(O2(n,249).b,(nl$(),nHO)),75))&&0!=t.b},nPU.Fb=function(n){return this===n},nPU.Mb=function(n){var t;return!!(t=O2(niB(O2(n,249).b,(nl$(),nHO)),75))&&0!=t.b},NO(npF,"CompoundGraphPostprocessor/1",1280),ncy(1279,1,np_,gi),nPU.Kf=function(n,t){nnE(this,O2(n,36),t)},NO(npF,"CompoundGraphPreprocessor",1279),ncy(453,1,{453:1},Jc),nPU.c=!1,NO(npF,"CompoundGraphPreprocessor/ExternalPort",453),ncy(249,1,{249:1},Om),nPU.Ib=function(){return Pe(this.c)+":"+naC(this.b)},NO(npF,"CrossHierarchyEdge",249),ncy(777,1,ndj,lC),nPU.Ne=function(n,t){var e,i,r,a;return e=O2(n,249),i=O2(t,249),e.c==(qj(),nGK)&&i.c==nGR?-1:e.c==nGR&&i.c==nGK?1:(r=Qr(e.a,this.a),a=Qr(i.a,this.a),e.c==nGK?a-r:r-a)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(npF,"CrossHierarchyEdgeComparator",777),ncy(305,137,{3:1,305:1,96:1,137:1}),nPU.p=0,NO(npB,"LGraphElement",305),ncy(18,305,{3:1,18:1,305:1,96:1,137:1},D4),nPU.Ib=function(){return naC(this)};var nAi=NO(npB,"LEdge",18);ncy(36,305,{3:1,20:1,36:1,305:1,96:1,137:1},qz),nPU.Jc=function(n){_o(this,n)},nPU.Kc=function(){return new fU(this.b)},nPU.Ib=function(){return 0==this.b.c.length?"G-unlayered"+niJ(this.a):0==this.a.c.length?"G-layered"+niJ(this.b):"G[layerless"+niJ(this.a)+", layers"+niJ(this.b)+"]"};var nAr=NO(npB,"LGraph",36);ncy(666,1,{}),nPU.Lf=function(){return this.e.n},nPU.of=function(n){return niB(this.e,n)},nPU.Mf=function(){return this.e.o},nPU.Nf=function(){return this.e.p},nPU.pf=function(n){return Pn(this.e,n)},nPU.Of=function(n){this.e.n.a=n.a,this.e.n.b=n.b},nPU.Pf=function(n){this.e.o.a=n.a,this.e.o.b=n.b},nPU.Qf=function(n){this.e.p=n},NO(npB,"LGraphAdapters/AbstractLShapeAdapter",666),ncy(474,1,{853:1},lO),nPU.Rf=function(){var n,t;if(!this.b)for(this.b=SY(this.a.b.c.length),t=new fU(this.a.b);t.a0&&Qa((RK(t-1,n.length),n.charCodeAt(t-1)),npW);)--t;if(r> ",n),ntL(e)),jY(jJ((n.a+="[",n),e.i),"]")),n.a},nPU.c=!0,nPU.d=!1;var nAs=NO(npB,"LPort",12);ncy(408,1,nbA,lA),nPU.Jc=function(n){_o(this,n)},nPU.Kc=function(){return new lL(new fU(this.a.e))},NO(npB,"LPort/1",408),ncy(1309,1,nbf,lL),nPU.Nb=function(n){L_(this,n)},nPU.Pb=function(){return O2(Rz(this.a),18).c},nPU.Ob=function(){return Er(this.a)},nPU.Qb=function(){L7(this.a)},NO(npB,"LPort/1/1",1309),ncy(369,1,nbA,lN),nPU.Jc=function(n){_o(this,n)},nPU.Kc=function(){return new l$(new fU(this.a.g))},NO(npB,"LPort/2",369),ncy(776,1,nbf,l$),nPU.Nb=function(n){L_(this,n)},nPU.Pb=function(){return O2(Rz(this.a),18).d},nPU.Ob=function(){return Er(this.a)},nPU.Qb=function(){L7(this.a)},NO(npB,"LPort/2/1",776),ncy(1302,1,nbA,yh),nPU.Jc=function(n){_o(this,n)},nPU.Kc=function(){return new _9(this)},NO(npB,"LPort/CombineIter",1302),ncy(208,1,nbf,_9),nPU.Nb=function(n){L_(this,n)},nPU.Qb=function(){mx()},nPU.Ob=function(){return SR(this)},nPU.Pb=function(){return Er(this.a)?Rz(this.a):Rz(this.b)},NO(npB,"LPort/CombineIter/1",208),ncy(1303,1,ndB,tO),nPU.Lb=function(n){return Lm(n)},nPU.Fb=function(n){return this===n},nPU.Mb=function(n){return zn(),0!=O2(n,12).g.c.length},NO(npB,"LPort/lambda$0$Type",1303),ncy(1304,1,ndB,tI),nPU.Lb=function(n){return Lv(n)},nPU.Fb=function(n){return this===n},nPU.Mb=function(n){return zn(),0!=O2(n,12).e.c.length},NO(npB,"LPort/lambda$1$Type",1304),ncy(1305,1,ndB,tA),nPU.Lb=function(n){return zn(),O2(n,12).j==(nf9(),n1i)},nPU.Fb=function(n){return this===n},nPU.Mb=function(n){return zn(),O2(n,12).j==(nf9(),n1i)},NO(npB,"LPort/lambda$2$Type",1305),ncy(1306,1,ndB,tL),nPU.Lb=function(n){return zn(),O2(n,12).j==(nf9(),n1e)},nPU.Fb=function(n){return this===n},nPU.Mb=function(n){return zn(),O2(n,12).j==(nf9(),n1e)},NO(npB,"LPort/lambda$3$Type",1306),ncy(1307,1,ndB,tN),nPU.Lb=function(n){return zn(),O2(n,12).j==(nf9(),n1k)},nPU.Fb=function(n){return this===n},nPU.Mb=function(n){return zn(),O2(n,12).j==(nf9(),n1k)},NO(npB,"LPort/lambda$4$Type",1307),ncy(1308,1,ndB,t$),nPU.Lb=function(n){return zn(),O2(n,12).j==(nf9(),n1M)},nPU.Fb=function(n){return this===n},nPU.Mb=function(n){return zn(),O2(n,12).j==(nf9(),n1M)},NO(npB,"LPort/lambda$5$Type",1308),ncy(30,305,{3:1,20:1,305:1,30:1,96:1,137:1},Nz),nPU.Jc=function(n){_o(this,n)},nPU.Kc=function(){return new fU(this.a)},nPU.Ib=function(){return"L_"+H7(this.b.b,this,0)+niJ(this.a)},NO(npB,"Layer",30),ncy(1330,1,{},ge),NO(np1,np0,1330),ncy(1334,1,{},tD),nPU.Kb=function(n){return nip(O2(n,84))},NO(np1,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1334),ncy(1337,1,{},tx),nPU.Kb=function(n){return nip(O2(n,84))},NO(np1,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1337),ncy(1331,1,nbS,lD),nPU.Cd=function(n){na5(this.a,O2(n,123))},NO(np1,ngz,1331),ncy(1332,1,nbS,lx),nPU.Cd=function(n){na5(this.a,O2(n,123))},NO(np1,np2,1332),ncy(1333,1,{},tR),nPU.Kb=function(n){return new As(null,new RF($_(O2(n,74)),16))},NO(np1,np3,1333),ncy(1335,1,nbJ,lR),nPU.Mb=function(n){var t;return t=this.a,Gp(O2(n,27),xA(t))},NO(np1,np4,1335),ncy(1336,1,{},tK),nPU.Kb=function(n){var t;return new As(null,new RF(((t=O2(n,74)).b||(t.b=new CK(nL5,t,4,7)),t.b),16))},NO(np1,"ElkGraphImporter/lambda$5$Type",1336),ncy(1338,1,nbJ,lK),nPU.Mb=function(n){var t;return t=this.a,Gp(O2(n,27),xA(t))},NO(np1,"ElkGraphImporter/lambda$7$Type",1338),ncy(1339,1,nbJ,tF),nPU.Mb=function(n){var t;return naK(t=O2(n,74))&&pT(PO(ncR(t,(nl$(),nHS))))},NO(np1,"ElkGraphImporter/lambda$8$Type",1339),ncy(1297,1,{},s9),NO(np1,"ElkGraphLayoutTransferrer",1297),ncy(1298,1,nbJ,lF),nPU.Mb=function(n){var t,e;return t=this.a,e=O2(n,18),kr(),!zA(e.d.i,t)},NO(np1,"ElkGraphLayoutTransferrer/lambda$0$Type",1298),ncy(1299,1,nbS,l_),nPU.Cd=function(n){kr(),EB(this.a,O2(n,18))},NO(np1,"ElkGraphLayoutTransferrer/lambda$1$Type",1299),ncy(1300,1,nbJ,lB),nPU.Mb=function(n){var t,e;return t=this.a,e=O2(n,18),kr(),zA(e.d.i,t)},NO(np1,"ElkGraphLayoutTransferrer/lambda$2$Type",1300),ncy(1301,1,nbS,lH),nPU.Cd=function(n){kr(),EB(this.a,O2(n,18))},NO(np1,"ElkGraphLayoutTransferrer/lambda$3$Type",1301),ncy(819,1,{},Cp),NO(np6,"BiLinkedHashMultiMap",819),ncy(1550,1,np_,t_),nPU.Kf=function(n,t){var e;e=O2(n,36),t.Ug(np5,1),vZ(UD(new As(null,new RF(e.b,16)),new tB),new tH),t.Vg()},NO(np6,"CommentNodeMarginCalculator",1550),ncy(1551,1,{},tB),nPU.Kb=function(n){return new As(null,new RF(O2(n,30).a,16))},NO(np6,"CommentNodeMarginCalculator/lambda$0$Type",1551),ncy(1552,1,nbS,tH),nPU.Cd=function(n){!function(n){var t,e,i,r,a,c,u,o,s,h,f,l;if(u=n.d,f=O2(niB(n,(nlB(),nFk)),15),t=O2(niB(n,nKC),15),f||t){if(a=pE(PI(YU(n,(nl$(),nUm)))),c=pE(PI(YU(n,nUv))),l=0,f){for(s=0,r=f.Kc();r.Ob();)i=O2(r.Pb(),10),s=nPH.Math.max(s,i.o.b),l+=i.o.a;l+=a*(f.gc()-1),u.d+=s+c}if(e=0,t){for(s=0,r=t.Kc();r.Ob();)i=O2(r.Pb(),10),s=nPH.Math.max(s,i.o.b),e+=i.o.a;e+=a*(t.gc()-1),u.a+=s+c}(o=nPH.Math.max(l,e))>n.o.a&&(h=(o-n.o.a)/2,u.b=nPH.Math.max(u.b,h),u.c=nPH.Math.max(u.c,h))}}(O2(n,10))},NO(np6,"CommentNodeMarginCalculator/lambda$1$Type",1552),ncy(1553,1,np_,tU),nPU.Kf=function(n,t){!function(n,t){var e,i,r,a,c,u,o;for(t.Ug("Comment post-processing",1),a=new fU(n.b);a.a=i.o.b/2}(p?(g=O2(niB(i,(nlB(),nFk)),15))?l?a=g:(r=O2(niB(i,nKC),15))?a=g.gc()<=r.gc()?g:r:(a=new du,VF(i,nKC,a)):(a=new du,VF(i,nFk,a)):(r=O2(niB(i,(nlB(),nKC)),15))?f?a=r:(g=O2(niB(i,nFk),15))?a=r.gc()<=g.gc()?r:g:(a=new du,VF(i,nFk,a)):(a=new du,VF(i,nKC,a)),a.Fc(n),VF(n,(nlB(),nKI),e),t.d==e)?(Rl(t,null),e.e.c.length+e.g.c.length==0&&Rf(e,null),(m=O2(niB(e,(nlB(),nFa)),10))&&(H6((v=m.c).a,m),0==v.a.c.length&&H6($u(m).b,v))):(Rs(t,null),e.e.c.length+e.g.c.length==0&&Rf(e,null)),Dy(t.a)})(u,i,s,s.i),L7(o)}t._g()&&t.bh("Found "+e+" comment boxes"),t.Vg()}(O2(n,36),t)},NO(np6,"CommentPreprocessor",1554),ncy(1555,1,np_,tq),nPU.Kf=function(n,t){!function(n,t){var e,i,r,a,c,u,o;for(t.Ug("Constraints Postprocessor",1),c=0,a=new fU(n.b);a.a0||h.j==n1M&&h.e.c.length-h.g.c.length<0)){t=!1;break}for(r=new fU(h.g);r.a=2})(i=O2(Rz(r),12))&&(t||(function(n){var t,e,i,r,a;for(e=0,t=new fU(n.b);t.a=t.d.a.gc()){c=new MH((a=t.a.c)+(t.a.c+t.a.b-a)/2,t.b),ID(O2(t.d.a.ec().Kc().Pb(),18).a,c);continue}if((r=O2(NB(t.c,e),468)).b||r.c){!function(n,t,e){var i,r,a,c,u,o,s,h,f,l,b;s=e.a.c,c=e.a.c+e.a.b,l=(a=O2(NB(e.c,t),468)).f,b=a.a,u=a.b?new MH(c,l):new MH(s,l),h=a.c?new MH(s,b):new MH(c,b),r=s,e.p||(r+=n.c),r+=e.F+e.v*n.b,o=new MH(r,l),f=new MH(r,b),qL(t.a,Vp(x2(nLN,1),nbj,8,0,[u,o])),e.d.a.gc()>1&&(i=new MH(r,e.b),ID(t.a,i)),qL(t.a,Vp(x2(nLN,1),nbj,8,0,[f,h]))}(n,e,t);continue}n.d==(WZ(),nGJ)&&(r.d||r.e)&&function(n,t){var e,i,r,a;return n.a==(ni6(),nKe)||(r=t.a.c,e=t.a.c+t.a.b,(!t.j||(a=(i=t.A).c.c.a-i.o.a/2,!(r-(i.n.a+i.o.a)>a)))&&(!t.q||(a=(i=t.C).c.c.a-i.o.a/2,!(i.n.a-e>a))))}(n,t)&&1>=t.d.a.gc()?function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k,y,M,j,T;u=O2(NB(t.c,n),468),g=t.a.c,o=t.a.c+t.a.b,c=(j=u.f)<(T=u.a),b=new MH(g,j),p=new MH(o,T),w=new MH(r=(g+o)/2,j),m=new MH(r,T),a=function(n,t,e){var i,r,a;if(i=0,r=0,n.c)for(a=new fU(n.d.i.j);a.an))return 0==t||t==n?1:0==n?0:neI(n)/(neI(t)*neI(n-t));throw new pN("k must be smaller than n").e}(r,i)*Qj(1-n,r-i)*Qj(n,i),c+=a.a*e,u+=a.b*e;return new MH(c,u)}(i,n);return e}(Vp(x2(nLN,1),nbj,8,0,[k,y,M])),f=!1,(d=t.B.i)&&d.c&&u.d&&((s=c&&d.p0)?s&&(h=d.p,c?++h:--h,f=!(nup(i=VO(O2(I6(d.c.a,h),10)),k,e[0])||Lk(i,k,e[0]))):f=!0),l=!1,(v=t.D.i)&&v.c&&u.e&&(c&&v.p>0||!c&&v.p1&&(i=new MH(r,e.b),ID(t.a,i)),qL(t.a,Vp(x2(nLN,1),nbj,8,0,[f,h]))}(n,e,t)}t.k&&_o(t.d,new ee)}}(this.a,O2(n,131))},NO(np6,"FinalSplineBendpointsCalculator/lambda$4$Type",1573),ncy(1574,1,nbS,ee),nPU.Cd=function(n){nr0(O2(n,18).a)},NO(np6,"FinalSplineBendpointsCalculator/lambda$5$Type",1574),ncy(803,1,np_,lX),nPU.Kf=function(n,t){!function(n,t,e){var i,r;for(e.Ug("Graph transformation ("+n.a+")",1),r=RB(t.a),i=new fU(t.b);i.at.a&&(i.Hc((neY(),nJp))?n.c.a+=(e.a-t.a)/2:i.Hc(nJv)&&(n.c.a+=e.a-t.a)),e.b>t.b&&(i.Hc((neY(),nJy))?n.c.b+=(e.b-t.b)/2:i.Hc(nJk)&&(n.c.b+=e.b-t.b)),O2(niB(n,(nlB(),nKq)),21).Hc((noe(),nKo))&&(e.a>t.a||e.b>t.b))for(c=new fU(n.a);c.a0&&(n.a=u+(l-1)*r,t.c.b+=n.a,t.f.b+=n.a),0!=b.a.gc()&&(l=nfA(new Ng(1,r),t,b,w,t.f.b+u-t.c.b))>0&&(t.f.b+=u+(l-1)*r)}(this,e,i),function(n){var t,e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k,y,M,j,T;for(v=new du,f=new fU(n.b);f.a0&&nsT((RR(0,i.c.length),O2(i.c[0],30)),e),i.c.length>1&&nsT(O2(I6(i,i.c.length-1),30),e),t.Vg()},NO(np6,"HierarchicalPortPositionProcessor",1582),ncy(1583,1,np_,s7),nPU.Kf=function(n,t){!function(n,t){var e,i,r,a,c,u,o,h,f,l,b,w,d,g,p,m,v,k,y,M,j,T;for(n.b=t,n.a=O2(niB(t,(nl$(),nHy)),17).a,n.c=O2(niB(t,nHj),17).a,0==n.c&&(n.c=nl5),d=new Ky(t.b,0);d.b=n.a&&(i=function(n,t){var e,i,r,a,c,u,o,h;for(e=new ef,r=new Lc(Sb(JQ(t).a.Kc(),new s));ncM(r);)if(!_y(i=O2(_$(r),18))&&niu(u=i.c.i,nDx)){if(-1==(h=nov(n,u,nDx,nDD)))continue;e.b=nPH.Math.max(e.b,h),e.a||(e.a=new du),EB(e.a,u)}for(c=new Lc(Sb(JJ(t).a.Kc(),new s));ncM(c);)if(!_y(a=O2(_$(c),18))&&niu(o=a.d.i,nDD)){if(-1==(h=nov(n,o,nDD,nDx)))continue;e.d=nPH.Math.max(e.d,h),e.c||(e.c=new du),EB(e.c,o)}return e}(n,p),f=nPH.Math.max(f,i.b),v=nPH.Math.max(v,i.d),EB(u,new ja(p,i)));for(h=0,M=new du;h0),d.a.Xb(d.c=--d.b),Ca(d,j=new Nz(n.b)),P$(d.b1&&(c=nPH.Math.min(c,nPH.Math.abs(O2(nnr(u.a,1),8).b-h.b)))));else for(w=new fU(t.j);w.ar&&(a=l.a-r,c=nl5,i.c.length=0,r=l.a),l.a>=r&&(dy(i.c,u),u.a.b>1&&(c=nPH.Math.min(c,nPH.Math.abs(O2(nnr(u.a,u.a.b-2),8).b-l.b)))));if(0!=i.c.length&&a>t.o.a/2&&c>t.o.b/2){for(Rf(b=new nrh,t),naf(b,(nf9(),n1i)),b.n.a=t.o.a/2,Rf(d=new nrh,t),naf(d,n1k),d.n.a=t.o.a/2,d.n.b=t.o.b,o=new fU(i);o.a=s.b?Rs(u,d):Rs(u,b)):(s=O2((P$(0!=(g=u.a).b),Gj(g,g.c.b)),8),(0==u.a.b?RL(u.c):O2(S7(u.a),8)).b>=s.b?Rl(u,d):Rl(u,b)),(f=O2(niB(u,(nl$(),nHO)),75))&&Ym(f,s,!0);t.n.a=r-t.o.a/2}}(n,a,r<=o)}t.Vg()}(O2(n,36),t)},NO(np6,"HypernodesProcessor",1595),ncy(1596,1,np_,ev),nPU.Kf=function(n,t){!function(n,t){var e,i,r,a,c,u,o,s,h;for(t.Ug("Layer constraint edge reversal",1),c=new fU(n.b);c.a0&&EB(n.q,f),EB(n.p,f);t-=i,w=o+t,h+=t*n.f,_f(n.b,u,QR(w)),_f(n.c,u,h),n.k=nPH.Math.max(n.k,w),n.n=nPH.Math.max(n.n,h),n.e+=t,t+=g}}(n):function(n){var t,e,i,r,a,c,u;for(n.a=new Cp,u=0,r=0,i=new fU(n.i.b);i.an.k&&(n.r=nGy,nh4(n,a));break;case 4:for(n.r=nGP,nh4(n,a),h=0,r=new fU(n.c);r.an.n&&(n.r=nGT,nh4(n,a));break;case 6:b=xT(nPH.Math.ceil(n.g.length*f/100)),nh4(n,new l2(b));break;case 5:l=xT(nPH.Math.ceil(n.e*f/100)),nh4(n,new l3(l));break;case 8:nlx(n,!0);break;case 9:nlx(n,!1)}n.r!=nGv&&n.r!=nGk?function(n,t){var e,i,r,a,c,u;for(e=0,r=new du;e<=n.j;e++)(i=new Nz(t)).p=n.j-e,dy(r.c,i);for(u=new fU(n.p);u.a=2){for(b=!0,e=O2(Rz(h=new fU(r.j)),12),f=null;h.a0&&a>0?c.p=t++:i>0?c.p=e++:a>0?c.p=r++:c.p=e++}DL(),Ei(n.j,new eq)}(h),VF(h,(nlB(),nKQ),h),w.c.length=0,v.c.length=0,e=new du,XC(m=new vq,nrl(h,(nf9(),n1i))),nlp(n,m,w,v,e),u=g,a=new fU(w);a.a0)},NO(np6,"PartitionPreprocessor/lambda$2$Type",1643),ncy(1644,1,nbS,eZ),nPU.Cd=function(n){var t,e;nhb(t=O2(n,18),!0),e=nwn,Pn(t,(nl$(),nUl))&&(e+=O2(niB(t,nUl),17).a),VF(t,nUl,QR(e))},NO(np6,"PartitionPreprocessor/lambda$3$Type",1644),ncy(1645,1,np_,ho),nPU.Kf=function(n,t){!function(n,t){var e,i,r,a,c,u;for(t.Ug("Port order processing",1),u=O2(niB(n,(nl$(),nUs)),430),e=new fU(n.b);e.a0);e++);if(e>0&&e0);t++);return t>0&&es&&(o=e,h=r,s=i);t.a=h,t.c=o}(n,r)}!function(n){var t,e;for(t=n.a.d.j,e=n.c.d.j;t!=e;)Xw(n.b,t),t=Jm(t);Xw(n.b,t)}(r)}n.a=null}(t.a,i),function(n){var t,e;for(function(n){var t,e,i,r,a,c,u,o,s,h,f;for(e=null,u=null,(r=O2(niB(n.b,(nl$(),nHw)),349))==(Wy(),nGX)&&(e=new du,u=new du),c=new fU(n.d);c.a=c)}(o,s),t[o.i.c][s.i.c]=i,t[s.i.c][o.i.c]=i);return t}(i),function(n,t,e){var i,r,a,c,u,o,s;for(s=t.d,n.a=new Bd(s.c.length),n.c=new dc,u=new fU(s);u.a0&&VA(o,!0,(Jf(),nZn)),c.k==(nrn(),nDm)&&$f(o),$S(n.f,c,t)}}(a),function(n){var t,e,i;switch((t=O2(niB(n.d,(nl$(),nHh)),223)).g){case 2:e=function(n){var t,e,i,r,a,c,u,o,h,f,l,b,w,d,g;for(d=new du,l=new fU(n.d.b);l.ar.d.d+r.d.a?f.f.d=!0:(f.f.d=!0,f.f.a=!0))),i.b!=i.d.c&&(t=e);f&&(a=O2(NB(n.f,c.d.i),60),t.ba.d.d+a.d.a?f.f.d=!0:(f.f.d=!0,f.f.a=!0))}for(u=new Lc(Sb(JQ(b).a.Kc(),new s));ncM(u);)0!=(c=O2(_$(u),18)).a.b&&(t=O2(S7(c.a),8),c.d.j==(nf9(),n1i)&&((g=new nhT(t,new MH(t.a,r.d.d),r,c)).f.a=!0,g.a=c.d,dy(d.c,g)),c.d.j==n1k&&((g=new nhT(t,new MH(t.a,r.d.d+r.d.a),r,c)).f.d=!0,g.a=c.d,dy(d.c,g)))}return d}(n);break;case 3:i=new du,vZ($Q($J(UD(UD(new As(null,new RF(n.d.b,16)),new i1),new i0),new i2),new iB),new bu(i)),e=i;break;default:throw new p$("Compaction not supported for "+t+" edges.").e}(function(n,t){var e,i,r,a,c,u,o,s,h;if(0!=t.c.length){for(DL(),AL(t.c,t.c.length,null),i=O2(Rz(r=new fU(t)),154);r.a=n.gc())return null;for(e=t;et.d.c){if((b=n.c[t.a.d])==(g=n.c[f.a.d]))continue;nuN(v2(v0(v3(v1(new d1,1),100),b),g))}}}}}(this),function(n){var t,e,i,r,a,c,u;for(a=new vq,r=new fU(n.d.a);r.a1)for(t=SA((e=new d0,++n.b,e),n.d),u=ZZ(a,0);u.b!=u.d.c;)c=O2(K6(u),125),nuN(v2(v0(v3(v1(new d1,1),0),t),c))}(this),nsm(Oj(this.d),new gz),r=new fU(this.a.a.b);r.a=d&&(EB(a,QR(h)),m=nPH.Math.max(m,v[h-1]-f),u+=w,g+=v[h-1]-g,f=v[h-1],w=o[h]),w=nPH.Math.max(w,o[h]),++h;u+=w}(b=nPH.Math.min(1/m,1/t.b/u))>i&&(i=b,e=a)}return e},nPU.pg=function(){return!1},NO(nmb,"MSDCutIndexHeuristic",816),ncy(1683,1,np_,rx),nPU.Kf=function(n,t){!function(n,t){var e,i,r,a;if(t.Ug("Path-Like Graph Wrapping",1),0==n.b.c.length||(null==(r=new ncE(n)).i&&(r.i=Xq(r,new rA)),e=pE(r.i)*r.f/(null==r.i&&(r.i=Xq(r,new rA)),pE(r.i)),r.b>e)){t.Vg();return}switch(O2(niB(n,(nl$(),nUz)),351).g){case 2:a=new r$;break;case 0:a=new rT;break;default:a=new rD}if(i=a.og(n,r),!a.pg())switch(O2(niB(n,nUZ),352).g){case 2:i=nal(r,i);break;case 1:i=ne5(r,i)}(function(n,t,e){var i,r,a,c,u,o,s,h,f,l,b;if(!e.dc()){for(c=0,h=0,l=O2((i=e.Kc()).Pb(),17).a;c=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),nQ0),nPI),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmD),nvN),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),QR(-1)),nQ0),nPI),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmx),nv$),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),QR(4)),nQ0),nPI),JI(nQV)))),KO(n,nmx,nmL,n_$),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmR),nv$),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),QR(2)),nQ0),nPI),JI(nQV)))),KO(n,nmR,nmL,n_x),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmK),nvD),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),n_F),nQZ),nAF),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmF),nvD),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),QR(0)),nQ0),nPI),JI(nQV)))),KO(n,nmF,nmK,null),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nm_),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),QR(nl5)),nQ0),nPI),JI(nQV)))),KO(n,nm_,nmL,n_C),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmB),nvx),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),nF8),nQZ),nAy),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmH),nvx),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmU),nvx),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),nQY),nPC),JI(nQV)))),KO(n,nmU,nvR,nFZ),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmG),nvx),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),nQJ),nPE),JI(nQV)))),KO(n,nmG,nmB,nF6),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmq),nvx),"In Layer Predecessor of"),"Allows to set a constraint which specifies of which node the current node is the predecessor. If set to 's' then the node is the predecessor of 's' and is in the same layer"),null),nQ3),nP$),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmX),nvx),"In Layer Successor of"),"Allows to set a constraint which specifies of which node the current node is the successor. If set to 's' then the node is the successor of 's' and is in the same layer"),null),nQ3),nP$),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmz),nvx),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),nQ0),nPI),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmV),nvx),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),QR(-1)),nQ0),nPI),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmW),nvK),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),QR(40)),nQ0),nPI),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmQ),nvK),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),nFQ),nQZ),nAA),JI(nQV)))),KO(n,nmQ,nmB,nFJ),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmJ),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),nFX),nQZ),nAA),JI(nQV)))),KO(n,nmJ,nmB,nFz),KO(n,nmJ,nvR,nFV),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nmY),nvF),"Node Placement Strategy"),"Strategy for node placement."),n_8),nQZ),nAK),JI(nQV)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nmZ),nvF),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),nQJ),nPE),JI(nQV)))),KO(n,nmZ,nmY,n_J),KO(n,nmZ,nmY,n_Y),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nm1),nv_),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),n_q),nQZ),nAP),JI(nQV)))),KO(n,nm1,nmY,n_X),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nm0),nv_),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),n_V),nQZ),nAC),JI(nQV)))),KO(n,nm0,nmY,n_W),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nm2),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),nQY),nPC),JI(nQV)))),KO(n,nm2,nmY,n_1),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nm3),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),nQZ),nAR),JI(nQz)))),KO(n,nm3,nmY,n_6),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nm4),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),n_3),nQZ),nAR),JI(nQV)))),KO(n,nm4,nmY,n_4),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nm6),nvB),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),n_s),nQZ),nAU),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nm5),nvB),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),n_f),nQZ),nAG),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nm8),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),n_b),nQZ),nAq),JI(nQV)))),KO(n,nm8,nvH,n_w),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nm9),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),nQY),nPC),JI(nQV)))),KO(n,nm9,nvH,n_g),KO(n,nm9,nm8,n_p),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nm7),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),nQY),nPC),JI(nQV)))),KO(n,nm7,nvH,n_u),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nvn),nvU),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvt),nvU),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nve),nvU),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvi),nvU),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvr),nvG),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),QR(0)),nQ0),nPI),JI(nQq)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nva),nvG),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),QR(0)),nQ0),nPI),JI(nQq)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvc),nvG),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),QR(0)),nQ0),nPI),JI(nQq)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvu),nvq),ngT),"Tries to further compact components (disconnected sub-graphs)."),!1),nQJ),nPE),JI(nQV)))),KO(n,nvu,npn,!0),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvo),nvX),"Post Compaction Strategy"),nvz),nFL),nQZ),nAO),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvs),nvX),"Post Compaction Constraint Calculation"),nvz),nFI),nQZ),nAk),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvh),nvV),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvf),nvV),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),QR(16)),nQ0),nPI),JI(nQV)))),KO(n,nvf,nvh,!0),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvl),nvV),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),QR(5)),nQ0),nPI),JI(nQV)))),KO(n,nvl,nvh,!0),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvb),nvW),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),nBA),nQZ),nAz),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvw),nvW),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),nQY),nPC),JI(nQV)))),KO(n,nvw,nvb,nBh),KO(n,nvw,nvb,nBf),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvd),nvW),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),nQY),nPC),JI(nQV)))),KO(n,nvd,nvb,nBb),KO(n,nvd,nvb,nBw),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvg),nvQ),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),nBy),nQZ),nAM),JI(nQV)))),KO(n,nvg,nvb,nBM),KO(n,nvg,nvb,nBj),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nvp),nvQ),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),nQ2),nPb),JI(nQV)))),KO(n,nvp,nvg,nBg),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvm),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),nBm),nQ0),nPI),JI(nQV)))),KO(n,nvm,nvg,nBv),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvv),nvJ),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),nBx),nQZ),nAX),JI(nQV)))),KO(n,nvv,nvb,nBR),KO(n,nvv,nvb,nBK),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nvk),nvJ),"Valid Indices for Wrapping"),null),nQ2),nPb),JI(nQV)))),KO(n,nvk,nvb,nBN),KO(n,nvk,nvb,nB$),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvy),nvY),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),nQJ),nPE),JI(nQV)))),KO(n,nvy,nvb,nBP),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvM),nvY),"Distance Penalty When Improving Cuts"),null),2),nQY),nPC),JI(nQV)))),KO(n,nvM,nvb,nBE),KO(n,nvM,nvy,!0),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvj),nvY),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),nQJ),nPE),JI(nQV)))),KO(n,nvj,nvb,nBO),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvT),nvZ),"Edge Label Side Selection"),"Method to decide on edge label sides."),n_a),nQZ),nAS),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvE),nvZ),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),n_i),nQZ),nAv),AR(nQV,Vp(x2(nLA,1),nbz,170,0,[nQX]))))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvS),nv1),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),nFH),nQZ),nA_),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvP),nv1),"Consider Port Order"),"If disabled the port order of output ports is derived from the edge order and input ports are ordered by their incoming connections. If enabled all ports are ordered by the port model order."),!1),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvC),nv1),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),nQJ),nPE),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvO),nv1),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),nF$),nQZ),nAe),JI(nQV)))),KO(n,nvO,npn,null),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvI),nv1),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),nFK),nQZ),nAx),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvA),nv1),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),nQY),nPC),JI(nQV)))),KO(n,nvA,nvS,null),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvL),nv1),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),nQY),nPC),JI(nQV)))),KO(n,nvL,nvS,null),nlW((new hg,n))},NO(nmw,"LayeredMetaDataProvider",859),ncy(998,1,ndV,hg),nPU.hf=function(n){nlW(n)},NO(nmw,"LayeredOptions",998),ncy(999,1,{},rR),nPU.sf=function(){return new gn},nPU.tf=function(n){},NO(nmw,"LayeredOptions/LayeredFactory",999),ncy(1391,1,{}),nPU.a=0,NO(nkA,"ElkSpacings/AbstractSpacingsBuilder",1391),ncy(792,1391,{},YT),NO(nmw,"LayeredSpacings/LayeredSpacingsBuilder",792),ncy(265,22,{3:1,34:1,22:1,265:1,188:1,196:1},yU),nPU.dg=function(){return noE(this)},nPU.qg=function(){return noE(this)};var nAD=qs(nmw,"LayeringStrategy",265,nPg,function(){return nuC(),Vp(x2(nAD,1),nbz,265,0,[nGn,nU8,nU9,nU4,nU5,nGt,nU7,nU3,nU6])},function(n){return nuC(),qo((z2(),nGe),n)});ncy(390,22,{3:1,34:1,22:1,390:1},yG);var nAx=qs(nmw,"LongEdgeOrderingStrategy",390,nPg,function(){return QO(),Vp(x2(nAx,1),nbz,390,0,[nGi,nGr,nGa])},function(n){return QO(),qo((BP(),nGc),n)});ncy(203,22,{3:1,34:1,22:1,203:1},yq);var nAR=qs(nmw,"NodeFlexibility",203,nPg,function(){return nnP(),Vp(x2(nAR,1),nbz,203,0,[nGs,nGh,nGo,nGu])},function(n){return nnP(),qo((HF(),nGf),n)});ncy(323,22,{3:1,34:1,22:1,323:1,188:1,196:1},yX),nPU.dg=function(){return ncA(this)},nPU.qg=function(){return ncA(this)};var nAK=qs(nmw,"NodePlacementStrategy",323,nPg,function(){return nno(),Vp(x2(nAK,1),nbz,323,0,[nGg,nGb,nGw,nGl,nGd])},function(n){return nno(),qo((UQ(),nGp),n)});ncy(243,22,{3:1,34:1,22:1,243:1},yz);var nAF=qs(nmw,"NodePromotionStrategy",243,nPg,function(){return nse(),Vp(x2(nAF,1),nbz,243,0,[nGS,nGy,nGT,nGM,nGj,nGm,nGE,nGP,nGv,nGk])},function(n){return nse(),qo((VG(),nGC),n)});ncy(284,22,{3:1,34:1,22:1,284:1},yV);var nA_=qs(nmw,"OrderingStrategy",284,nPg,function(){return Zf(),Vp(x2(nA_,1),nbz,284,0,[nGI,nGO,nGA,nGL])},function(n){return Zf(),qo((H_(),nGN),n)});ncy(430,22,{3:1,34:1,22:1,430:1},yW);var nAB=qs(nmw,"PortSortingStrategy",430,nPg,function(){return US(),Vp(x2(nAB,1),nbz,430,0,[nG$,nGD])},function(n){return US(),qo((F2(),nGx),n)});ncy(463,22,{3:1,34:1,22:1,463:1},yQ);var nAH=qs(nmw,"PortType",463,nPg,function(){return qj(),Vp(x2(nAH,1),nbz,463,0,[nGF,nGR,nGK])},function(n){return qj(),qo((BI(),nG_),n)});ncy(387,22,{3:1,34:1,22:1,387:1},yJ);var nAU=qs(nmw,"SelfLoopDistributionStrategy",387,nPg,function(){return zd(),Vp(x2(nAU,1),nbz,387,0,[nGB,nGH,nGU])},function(n){return zd(),qo((BC(),nGG),n)});ncy(349,22,{3:1,34:1,22:1,349:1},yY);var nAG=qs(nmw,"SelfLoopOrderingStrategy",349,nPg,function(){return Wy(),Vp(x2(nAG,1),nbz,349,0,[nGz,nGq,nGX])},function(n){return Wy(),qo((BO(),nGV),n)});ncy(312,1,{312:1},nfT),NO(nmw,"Spacings",312),ncy(350,22,{3:1,34:1,22:1,350:1},yZ);var nAq=qs(nmw,"SplineRoutingMode",350,nPg,function(){return WZ(),Vp(x2(nAq,1),nbz,350,0,[nGW,nGQ,nGJ])},function(n){return WZ(),qo((BA(),nGY),n)});ncy(352,22,{3:1,34:1,22:1,352:1},y1);var nAX=qs(nmw,"ValidifyStrategy",352,nPg,function(){return qy(),Vp(x2(nAX,1),nbz,352,0,[nG0,nGZ,nG1])},function(n){return qy(),qo((BL(),nG2),n)});ncy(388,22,{3:1,34:1,22:1,388:1},y0);var nAz=qs(nmw,"WrappingStrategy",388,nPg,function(){return Vy(),Vp(x2(nAz,1),nbz,388,0,[nG4,nG6,nG3])},function(n){return Vy(),qo((BN(),nG5),n)});ncy(1398,1,nkD,hu),nPU.rg=function(n){return O2(n,36),nG8},nPU.Kf=function(n,t){!function(n,t,e){var i,r,a,c,u,o,s,h;for(e.Ug("Depth-first cycle removal",1),o=(s=t.a).c.length,n.c=new du,n.d=B0(n4l,ndJ,28,o,16,1),n.a=B0(n4l,ndJ,28,o,16,1),n.b=new du,a=0,u=new fU(s);u.a0?S+1:1);for(a=new fU(y.g);a.a0?S+1:1)}0==n.c[o]?ID(n.e,w):0==n.a[o]&&ID(n.f,w),++o}for(b=-1,l=1,h=new du,n.d=O2(niB(t,(nlB(),nFo)),234);A>0;){for(;0!=n.e.b;)C=O2(OY(n.e),10),n.b[C.p]=b--,nsk(n,C),--A;for(;0!=n.f.b;)O=O2(OY(n.f),10),n.b[O.p]=l++,nsk(n,O),--A;if(A>0){for(f=nb1,p=new fU(m);p.a=f&&(v>f&&(h.c.length=0,f=v),dy(h.c,w));s=n.sg(h),n.b[s.p]=l++,nsk(n,s),--A}}for(o=0,P=m.c.length+1;on.b[I]&&(nhb(i,!0),VF(t,nKD,(SB(),!0)));n.a=null,n.c=null,n.b=null,Dy(n.f),Dy(n.e),e.Vg()}(this,O2(n,36),t)},nPU.sg=function(n){return O2(I6(n,nnL(this.d,n.c.length)),10)},NO(nkx,"GreedyCycleBreaker",793),ncy(1401,793,nkD,j0),nPU.sg=function(n){var t,e,i,r;for(r=null,t=nl5,i=new fU(n);i.a0&&function n(t,e,i){var r,a,c,u;for(e.p=-1,u=YR(e,(qj(),nGK)).Kc();u.Ob();)for(a=new fU(O2(u.Pb(),12).g);a.a0&&n(t,c,i));e.p=0}(n,u,h);for(r=new fU(h);r.a=M||!function(n,t){var e;for(e=new Lc(Sb(JJ(n).a.Kc(),new s));ncM(e);)if(O2(_$(e),18).d.i.c==t)return!1;return!0}(m,i))&&(i=$$(t,f)),Rh(m,i),a=new Lc(Sb(JQ(m).a.Kc(),new s));ncM(a);)r=O2(_$(a),18),n.a[r.p]||(g=r.c.i,--n.e[g.p],0==n.e[g.p]&&Ii(niO(w,g),nw0));for(h=f.c.length-1;h>=0;--h)EB(t.b,(RR(h,f.c.length),O2(f.c[h],30)));t.a.c.length=0,e.Vg()}(this,O2(n,36),t)},NO(nkR,"CoffmanGrahamLayerer",1404),ncy(1405,1,ndj,bd),nPU.Ne=function(n,t){return function(n,t,e){var i,r,a,c,u,o;for(i=O2(_V(n.c,t),15),r=O2(_V(n.c,e),15),a=i.fd(i.gc()),c=r.fd(r.gc());a.Sb()&&c.Sb();)if((u=O2(a.Ub(),17))!=(o=O2(c.Ub(),17)))return Eu(u.a,o.a);return a.Ob()||c.Ob()?a.Ob()?1:-1:0}(this.a,O2(n,10),O2(t,10))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nkR,"CoffmanGrahamLayerer/0methodref$compareNodesInTopo$Type",1405),ncy(1406,1,ndj,bg),nPU.Ne=function(n,t){var e,i,r;return e=this.a,i=O2(n,10),r=O2(t,10),-Eu(e.f[i.p],e.f[r.p])},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nkR,"CoffmanGrahamLayerer/lambda$1$Type",1406),ncy(1415,1,nkD,ha),nPU.rg=function(n){return O2(n,36),nqi},nPU.Kf=function(n,t){!function(n,t,e){var i,r,a,c,u,o,h,f,l,b,w,d,g,p,m,v,k;for(e.Ug("Depth first model order layering",1),n.d=t,p=new du,g=new fU(n.d.a);g.a0){for(k=ZZ(n.f,0);k.b!=k.d.c;)v=O2(K6(k),10),v.p+=b-n.e;nrG(n),Dy(n.f),now(n,i,w)}else{for(ID(n.f,w),w.p=i,n.e=nPH.Math.max(n.e,i),a=new Lc(Sb(JQ(w).a.Kc(),new s));ncM(a);)(r=O2(_$(a),18)).c.i.c||r.c.i.k!=(nrn(),nDv)||(ID(n.f,r.c.i),r.c.i.p=i-1);n.c=i}}else nrG(n),Dy(n.f),i=0,ncM(new Lc(Sb(JQ(w).a.Kc(),new s)))?now(n,i=(b=nng(b=0,w))+2,w):(ID(n.f,w),w.p=0,n.e=nPH.Math.max(n.e,0),n.b=O2(I6(n.d.b,0),30),n.c=0);for(0==n.f.b||nrG(n),n.d.a.c.length=0,m=new du,h=new fU(n.d.b);h.a=u){P$(m.b>0),m.a.Xb(m.c=--m.b);break}g.a>o&&(i?(Vs(i.b,g.b),i.a=nPH.Math.max(i.a,g.a),N7(m)):(EB(g.b,h),g.c=nPH.Math.min(g.c,o),g.a=nPH.Math.max(g.a,u),i=g))}i||((i=new gr).c=o,i.a=u,Ca(m,i),EB(i.b,h))}for(c=n.b,s=0,p=new fU(e);p.a=0)return r;for(a=1,c=new fU(e.j);c.a=0)return r;for(a=1,c=new fU(e.j);c.a=d&&n.e[o.p]>b*n.b||m>=e*d)&&(dy(f.c,u),u=new du,XR(c,a),a.a.$b(),s-=h,l=nPH.Math.max(l,s*n.b+w),s+=m,p=m,m=0,h=0,w=0);return new ja(l,f)}(n,C,i,T,j)).a)),p=(b=O2(S.b,15)).gc(),(m1)for(d=B0(n4f,nwd,28,n.b.b.c.length,15,1),f=0,h=new fU(n.b.b);h.ai.p?-1:0},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nkR,"StretchWidthLayerer/1",1409),ncy(413,1,nkK),nPU.gg=function(n,t,e,i,r,a){},nPU.ug=function(n,t,e){return nsj(this,n,t,e)},nPU.fg=function(){this.g=B0(n4g,nkF,28,this.d,15,1),this.f=B0(n4g,nkF,28,this.d,15,1)},nPU.hg=function(n,t){this.e[n]=B0(n4f,nwd,28,t[n].length,15,1)},nPU.ig=function(n,t,e){e[n][t].p=t,this.e[n][t]=t},nPU.jg=function(n,t,e,i){O2(I6(i[n][t].j,e),12).p=this.d++},nPU.b=0,nPU.c=0,nPU.d=0,NO(nk_,"AbstractBarycenterPortDistributor",413),ncy(1698,1,ndj,bm),nPU.Ne=function(n,t){var e,i,r,a,c,u,o;return e=this.a,i=O2(n,12),r=O2(t,12),(u=i.j)!=(o=r.j)?u.g-o.g:(a=e.f[i.p],c=e.f[r.p],0==a&&0==c?0:0==a?-1:0==c?1:JC(a,c))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nk_,"AbstractBarycenterPortDistributor/lambda$0$Type",1698),ncy(832,1,nmo,KY),nPU.gg=function(n,t,e,i,r,a){},nPU.ig=function(n,t,e){},nPU.jg=function(n,t,e,i){},nPU.eg=function(){return!1},nPU.fg=function(){this.c=this.e.a,this.g=this.f.g},nPU.hg=function(n,t){t[n][0].c.p=n},nPU.kg=function(){return!1},nPU.vg=function(n,t,e,i){e?neM(this,n):(neD(this,n,i),nf_(this,n,t)),n.c.length>1&&(pT(PO(niB($u((RR(0,n.c.length),O2(n.c[0],10))),(nl$(),nB1))))?ncJ(n,this.d,O2(this,669)):(DL(),Ei(n,this.d)),zK(this.e,n))},nPU.lg=function(n,t,e,i){var r,a,c,u,o,s,h;for(t!=Al(e,n.length)&&(a=n[t-(e?1:-1)],Bi(this.f,a,e?(qj(),nGK):(qj(),nGR))),r=n[t][0],h=!i||r.k==(nrn(),nDm),s=_W(n[t]),this.vg(s,h,!1,e),c=0,o=new fU(s);o.a"),n=14&&u<=16)?e.a._b(r)?(i.a?jY(i.a,i.b):i.a=new Sv(i.d),jQ(i.a,"[...]")):_0(i,n(qu(r),new Aa(e))):EM(r,183)?_0(i,function(n){var t,e,i,r;if(null==n)return nbc;for(e=0,r=new zW(nbn,"[","]"),i=n.length;e0?xG(this.a,n[t-1],n[t]):!e&&ta})(n,O2(u.Xb(a),12),O2(u.Xb(a+1),12),i)&&(c=!0,R3(n.a,O2(u.Xb(a),12),O2(u.Xb(a+1),12)),o=O2(u.Xb(a+1),12),u.hd(a+1,O2(u.Xb(a),12)),u.hd(a,o),r=!0);while(r);return c}(n,u,f,l));return r}(this,n,t,e)},nPU.fg=function(){this.d=B0(n4f,nwd,28,this.c,15,1),this.a=new C1(this.d)},nPU.ig=function(n,t,e){var i;i=e[n][t],this.c+=i.j.c.length},nPU.c=0,NO(nk_,"GreedyPortDistributor",1905),ncy(1421,1,nkD,hp),nPU.rg=function(n){var t,e;return t=O2(n,36),e=TA(nqs),O2(niB(t,(nlB(),nKq)),21).Hc((noe(),nKf))&&IV(e,(niH(),n$Y),(nlU(),nxv)),e},nPU.Kf=function(n,t){!function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g;for(t.Ug("Interactive crossing minimization",1),c=0,a=new fU(n.b);a.a0&&(e+=o.n.a+o.o.a/2,++f),b=new fU(o.j);b.a0&&(e/=f),g=B0(n4d,nwW,28,i.a.c.length,15,1),u=0,s=new fU(i.a);s.a=2){for(c=O2(K6(o=ZZ(e,0)),8),u=O2(K6(o),8);u.a0&&(t.Cd(e),e.i&&function(n){var t;n.g&&(nuJ((t=n.c.kg()?n.f:n.a).a,n.o,!0),nuJ(t.a,n.o,!1),VF(n.o,(nl$(),nUi),(nia(),nZY)))}(e))}(r,c),function(n){var t,e,i;for(i=new fU(n.b);i.ar.p?(naf(a,n1k),a.d&&(u=a.o.b,t=a.a.b,a.a.b=u-t)):a.j==n1k&&r.p>n.p&&(naf(a,n1i),a.d&&(u=a.o.b,t=a.a.b,a.a.b=-(u-t)));break}return r}(e=O2(Rz(i),10)),l.a.zc(f,l),l.a.zc(e,l)}for(o=l.a.ec().Kc();o.Ob();)u=O2(o.Pb(),10),DL(),Ei(u.j,(Wj(),nxB)),u.i=!0,nad(u)}(t,e.j)}(n),e.Vg()}(this,O2(n,36),t)},nPU.e=0,NO(nk_,"LayerSweepCrossingMinimizer",514),ncy(1418,1,nbS,bT),nPU.Cd=function(n){!function(n,t){var e,i,r,a,c;if(EF(n.d,AZ(RU(Le(c=n.e,24),nda)),AZ(RU(c,nda))),n.c.a.$b(),0!=pE(PI(niB(t.j,(nl$(),nBz))))||0!=pE(PI(niB(t.j,nBz))))for(e=ngB,jR(niB(t.j,nBY))!==jR((Zf(),nGI))&&VF(t.j,(nlB(),nKG),(SB(),!0)),a=O2(niB(t.j,nUx),17).a,r=0;re);return r}(n,t))1&&(pT(PO(niB($u((RR(0,n.c.length),O2(n.c[0],10))),(nl$(),nB1))))?ncJ(n,this.d,this):(DL(),Ei(n,this.d)),pT(PO(niB($u((RR(0,n.c.length),O2(n.c[0],10))),nB1)))||zK(this.e,n))},NO(nk_,"ModelOrderBarycenterHeuristic",669),ncy(1866,1,ndj,bP),nPU.Ne=function(n,t){var e,i,r,a,c,u,o,s;return 0!=(a=function(n,t,e){if(LB(n.a,t)){if(vF(O2(NB(n.a,t),49),e))return 1}else $S(n.a,t,new dV);if(LB(n.a,e)){if(vF(O2(NB(n.a,e),49),t))return -1}else $S(n.a,e,new dV);if(LB(n.b,t)){if(vF(O2(NB(n.b,t),49),e))return -1}else $S(n.b,t,new dV);if(LB(n.b,e)){if(vF(O2(NB(n.b,e),49),t))return 1}else $S(n.b,e,new dV);return 0}(e=this.a,i=O2(n,10),r=O2(t,10)))?a:Pn(i,(nlB(),nK5))&&Pn(r,nK5)?((c=Eu(O2(niB(i,nK5),17).a,O2(niB(r,nK5),17).a))<0?no6(e,i,r):c>0&&no6(e,r,i),c):(u=e.c[i.c.p][i.p],o=e.c[r.c.p][r.p],null!=u.a&&null!=o.a)?((s=Lr(u.a,o.a))<0?no6(e,i,r):s>0&&no6(e,r,i),s):null!=u.a?(no6(e,i,r),-1):null!=o.a?(no6(e,r,i),1):0},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nk_,"ModelOrderBarycenterHeuristic/lambda$0$Type",1866),ncy(1423,1,nkD,hm),nPU.rg=function(n){var t;return O2(n,36),IV(t=TA(nqd),(niH(),n$Y),(nlU(),nxv)),t},nPU.Kf=function(n,t){(O2(n,36),t).Ug("No crossing minimization",1),t.Vg()},NO(nk_,"NoCrossingMinimizer",1423),ncy(809,413,nkK,mb),nPU.tg=function(n,t,e){var i,r,a,c,u,o,s,h,f,l,b;switch(f=this.g,e.g){case 1:for(r=0,a=0,h=new fU(n.j);h.a1&&(r.j==(nf9(),n1e)?this.b[n]=!0:r.j==n1M&&n>0&&(this.b[n-1]=!0))},nPU.f=0,NO(nmu,"AllCrossingsCounter",1861),ncy(595,1,{},XT),nPU.b=0,nPU.d=0,NO(nmu,"BinaryIndexedTree",595),ncy(532,1,{},C1),NO(nmu,"CrossingsCounter",532),ncy(1950,1,ndj,bC),nPU.Ne=function(n,t){var e,i,r;return e=this.a,i=O2(n,12),r=O2(t,12),Eu(e.d[i.p],e.d[r.p])},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nmu,"CrossingsCounter/lambda$0$Type",1950),ncy(1951,1,ndj,bO),nPU.Ne=function(n,t){var e,i,r;return e=this.a,i=O2(n,12),r=O2(t,12),Eu(e.d[i.p],e.d[r.p])},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nmu,"CrossingsCounter/lambda$1$Type",1951),ncy(1952,1,ndj,bI),nPU.Ne=function(n,t){var e,i,r;return e=this.a,i=O2(n,12),r=O2(t,12),Eu(e.d[i.p],e.d[r.p])},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nmu,"CrossingsCounter/lambda$2$Type",1952),ncy(1953,1,ndj,bA),nPU.Ne=function(n,t){var e,i,r;return e=this.a,i=O2(n,12),r=O2(t,12),Eu(e.d[i.p],e.d[r.p])},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nmu,"CrossingsCounter/lambda$3$Type",1953),ncy(1954,1,nbS,bL),nPU.Cd=function(n){var t,e;t=this.a,e=O2(n,12),OC(),EB(t,new ja(e,QR(e.e.c.length+e.g.c.length)))},NO(nmu,"CrossingsCounter/lambda$4$Type",1954),ncy(1955,1,nbJ,bN),nPU.Mb=function(n){var t,e;return t=this.a,e=O2(n,12),OC(),e!=t},NO(nmu,"CrossingsCounter/lambda$5$Type",1955),ncy(1956,1,nbS,b$),nPU.Cd=function(n){jT(this,n)},NO(nmu,"CrossingsCounter/lambda$6$Type",1956),ncy(1957,1,nbS,y3),nPU.Cd=function(n){var t;OC(),K8(this.b,(t=this.a,O2(n,12),t))},NO(nmu,"CrossingsCounter/lambda$7$Type",1957),ncy(839,1,ndB,rz),nPU.Lb=function(n){return OC(),Pn(O2(n,12),(nlB(),nFa))},nPU.Fb=function(n){return this===n},nPU.Mb=function(n){return OC(),Pn(O2(n,12),(nlB(),nFa))},NO(nmu,"CrossingsCounter/lambda$8$Type",839),ncy(1949,1,{},bD),NO(nmu,"HyperedgeCrossingsCounter",1949),ncy(478,1,{34:1,478:1},CM),nPU.Fd=function(n){var t;return t=O2(n,478),this.et.e?1:this.ft.f?1:XO(this)-XO(t)},nPU.b=0,nPU.c=0,nPU.e=0,nPU.f=0;var nAY=NO(nmu,"HyperedgeCrossingsCounter/Hyperedge",478);ncy(374,1,{34:1,374:1},$6),nPU.Fd=function(n){return function(n,t){if(n.ct.c)return 1;if(n.bt.b)return 1;if(n.a!=t.a)return XO(n.a)-XO(t.a);if(n.d==(Fa(),nqv)&&t.d==nqm)return -1;if(n.d==nqm&&t.d==nqv)return 1;return 0}(this,O2(n,374))},nPU.b=0,nPU.c=0;var nAZ=NO(nmu,"HyperedgeCrossingsCounter/HyperedgeCorner",374);ncy(531,22,{3:1,34:1,22:1,531:1},y4);var nA1=qs(nmu,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",531,nPg,function(){return Fa(),Vp(x2(nA1,1),nbz,531,0,[nqv,nqm])},function(n){return Fa(),qo((F3(),nqk),n)});ncy(1425,1,nkD,hv),nPU.rg=function(n){return O2(niB(O2(n,36),(nlB(),nKq)),21).Hc((noe(),nKo))?nqy:null},nPU.Kf=function(n,t){!function(n,t,e){var i;for(e.Ug("Interactive node placement",1),n.a=O2(niB(t,(nlB(),nFb)),312),i=new fU(t.b);i.a=0)return!1;if(e.p=i.b,EB(i.e,e),r==(nrn(),nDk)||r==nDM){for(a=new fU(e.j);a.a=0){for(o=null,u=new Ky(h.a,s+1);u.b0&&o[i]&&(w=Eh(n.b,o[i],r)),d=nPH.Math.max(d,r.c.c.b+w);for(a=new fU(h.e);a.a=s&&y>=g&&(l+=w.n.b+d.n.b+d.a.b-k,++u));if(e)for(c=new fU(m.e);c.a=s&&y>=g&&(l+=w.n.b+d.n.b+d.a.b-k,++u))}u>0&&(M+=l/u,++b)}b>0?(t.a=r*M/b,t.g=b):(t.a=0,t.g=0)}(n,w,a,f,i),j+=nPH.Math.abs(w.a);do u=function(n,t){var e,i,r,a,c,u,o,s,h,f;for(e=!1,h=nbZ*pE(PI(niB(t,(nl$(),nUA)))),i=new fU(t.b);i.aa.n.b-a.d.d+o.a+h&&(f=u.g+o.g,o.a=(o.g*o.a+u.g*u.a)/f,o.g=f,u.f=o,e=!0)),r=a,u=o;return e}(n,t);while(u);for(d=n.a,p=0,v=d.length;py)?(o=2,c=nl5):(o=0==o?1:0,c=j):(b=j>=c||c-j0?(h=O2(I6(f.c.a,a-1),10),j=Eh(n.b,f,h),d=f.n.b-f.d.d-(h.n.b+h.o.b+h.d.a+j)):d=f.n.b-f.d.d,o=nPH.Math.min(d,o),a=o.c.c.length?FS((nrn(),nDy),nDk):FS((nrn(),nDk),nDk))*2,r=e.a.g,e.a.g=nPH.Math.max(r,r+(s-r)),a=e.b.g,e.b.g=nPH.Math.max(a,a+(s-a)),i=t}}(n),a.Vg()),function(n){var t,e,i;for(e=0,i=new fU(n.a);i.a1&&function(n,t){var e,i,r;for(e=SA(new d0,n),r=new fU(t);r.a1},NO(nkB,"NetworkSimplexPlacer/lambda$18$Type",1451),ncy(1452,1,nbS,$8),nPU.Cd=function(n){var t,e,i,r,a;t=this.c,e=this.b,i=this.d,r=this.a,a=O2(n,412),Rr(),nuN(v2(v0(v1(v3(new d1,0),a.d.e-t),e),a.d)),nuN(v2(v0(v1(v3(new d1,0),i-a.a.e),a.a),r))},nPU.c=0,nPU.d=0,NO(nkB,"NetworkSimplexPlacer/lambda$19$Type",1452),ncy(1435,1,{},r6),nPU.Kb=function(n){return Rr(),new As(null,new RF(O2(n,30).a,16))},NO(nkB,"NetworkSimplexPlacer/lambda$2$Type",1435),ncy(1453,1,nbS,bF),nPU.Cd=function(n){var t,e;t=this.a,e=O2(n,12),Rr(),e.n.b+=t},nPU.a=0,NO(nkB,"NetworkSimplexPlacer/lambda$20$Type",1453),ncy(1454,1,{},r5),nPU.Kb=function(n){return Rr(),new As(null,new RF(O2(n,30).a,16))},NO(nkB,"NetworkSimplexPlacer/lambda$21$Type",1454),ncy(1455,1,nbS,b_),nPU.Cd=function(n){var t,e;t=this.a,e=O2(n,10),t.j[e.p]=function(n){var t,e,i,r;for(t=0,e=0,r=new fU(n.j);r.a1||e>1)return 2;return t+e==1?2:0}(e)},NO(nkB,"NetworkSimplexPlacer/lambda$22$Type",1455),ncy(1456,1,nbJ,r8),nPU.Mb=function(n){return PJ(n)},NO(nkB,"NetworkSimplexPlacer/lambda$23$Type",1456),ncy(1457,1,{},r9),nPU.Kb=function(n){return Rr(),new As(null,new RF(O2(n,30).a,16))},NO(nkB,"NetworkSimplexPlacer/lambda$24$Type",1457),ncy(1458,1,nbJ,bB),nPU.Mb=function(n){var t,e;return t=this.a,e=O2(n,10),2==t.j[e.p]},NO(nkB,"NetworkSimplexPlacer/lambda$25$Type",1458),ncy(1459,1,nbS,y8),nPU.Cd=function(n){!function(n,t,e){var i,r,a;for(r=new Lc(Sb(JW(e).a.Kc(),new s));ncM(r);)_y(i=O2(_$(r),18))||!_y(i)&&i.c.i.c==i.d.i.c||!((a=function n(t,e,i,r){var a,c,u;if(u=neN(e,i),dy(r.c,e),-1==t.j[u.p]||2==t.j[u.p]||t.a[e.p])return r;for(t.j[u.p]=-1,c=new Lc(Sb(JW(u).a.Kc(),new s));ncM(c);)if(!_y(a=O2(_$(c),18))&&!(!_y(a)&&a.c.i.c==a.d.i.c)&&a!=e)return n(t,a,u,r);return r}(n,i,e,new gh)).c.length>1)||dy(t.c,a)}(this.a,this.b,O2(n,10))},NO(nkB,"NetworkSimplexPlacer/lambda$26$Type",1459),ncy(1460,1,nbJ,r7),nPU.Mb=function(n){return Rr(),!_y(O2(n,18))},NO(nkB,"NetworkSimplexPlacer/lambda$27$Type",1460),ncy(1461,1,nbJ,an),nPU.Mb=function(n){return Rr(),!_y(O2(n,18))},NO(nkB,"NetworkSimplexPlacer/lambda$28$Type",1461),ncy(1462,1,{},bH),nPU.Ve=function(n,t){var e;return function(n,t,e){var i,r,a,c,u,o,s,h;for(o=new du,u=new fU(t.a);u.a0),a=O2(s.a.Xb(s.c=--s.b),18);a!=i&&s.b>0;)n.a[a.p]=!0,n.a[i.p]=!0,P$(s.b>0),a=O2(s.a.Xb(s.c=--s.b),18);s.b>0&&N7(s)}}(this.a,O2(n,30),e=O2(t,30)),e},NO(nkB,"NetworkSimplexPlacer/lambda$29$Type",1462),ncy(1436,1,{},at),nPU.Kb=function(n){return Rr(),new As(null,new Nd(new Lc(Sb(JJ(O2(n,10)).a.Kc(),new s))))},NO(nkB,"NetworkSimplexPlacer/lambda$3$Type",1436),ncy(1437,1,nbJ,ae),nPU.Mb=function(n){var t;return Rr(),t=O2(n,18),Rr(),!_y(t)&&!(!_y(t)&&t.c.i.c==t.d.i.c)},NO(nkB,"NetworkSimplexPlacer/lambda$4$Type",1437),ncy(1438,1,nbS,bU),nPU.Cd=function(n){var t,e,i,r,a,c,u,o,s,h,f,l,b;t=this.a,e=O2(n,18),i=SA(new d0,t.f),o=t.i[e.c.i.p],l=t.i[e.d.i.p],u=e.c,f=e.d,c=u.a.b,h=f.a.b,o.b||(c+=u.n.b),l.b||(h+=f.n.b),s=xT(nPH.Math.max(0,c-h)),a=xT(nPH.Math.max(0,h-c)),b=nPH.Math.max(1,O2(niB(e,(nl$(),nUw)),17).a)*FS(e.c.i.k,e.d.i.k),r=new y6(nuN(v2(v0(v1(v3(new d1,b),a),i),O2(NB(t.k,e.c),125))),nuN(v2(v0(v1(v3(new d1,b),s),i),O2(NB(t.k,e.d),125)))),t.c[e.p]=r},NO(nkB,"NetworkSimplexPlacer/lambda$5$Type",1438),ncy(1439,1,{},ai),nPU.Kb=function(n){return Rr(),new As(null,new RF(O2(n,30).a,16))},NO(nkB,"NetworkSimplexPlacer/lambda$6$Type",1439),ncy(1440,1,nbJ,ar),nPU.Mb=function(n){return Rr(),O2(n,10).k==(nrn(),nDy)},NO(nkB,"NetworkSimplexPlacer/lambda$7$Type",1440),ncy(1441,1,{},aa),nPU.Kb=function(n){return Rr(),new As(null,new Nd(new Lc(Sb(JW(O2(n,10)).a.Kc(),new s))))},NO(nkB,"NetworkSimplexPlacer/lambda$8$Type",1441),ncy(1442,1,nbJ,ac),nPU.Mb=function(n){var t;return Rr(),!_y(t=O2(n,18))&&t.c.i.c==t.d.i.c},NO(nkB,"NetworkSimplexPlacer/lambda$9$Type",1442),ncy(1424,1,nkD,hy),nPU.rg=function(n){return O2(niB(O2(n,36),(nlB(),nKq)),21).Hc((noe(),nKo))?nqS:null},nPU.Kf=function(n,t){!function(n,t){var e,i,r,a,c,u,o,s,h,f;for(t.Ug("Simple node placement",1),f=O2(niB(n,(nlB(),nFb)),312),u=0,a=new fU(n.b);a.ac&&(c=r,h.c.length=0),r==c&&EB(h,new ja(e.c.i,e)));DL(),Ei(h,n.c),AN(n.b,u.p,h)}}(l,n),l.f=SY(l.d),function(n,t){var e,i,r,a,c,u,o,h;for(a=new fU(t.b);a.ac&&(c=r,h.c.length=0),r==c&&EB(h,new ja(e.d.i,e)));DL(),Ei(h,n.c),AN(n.f,u.p,h)}}(l,n),l}(t),i=O2(niB(t,(nl$(),nHq)),281),w=pT(PO(niB(t,nHX))),n.d=i==(ne_(),nR4)&&!w||i==nR0,function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v;if(!((d=t.b.c.length)<3)){for(b=B0(n4f,nwd,28,d,15,1),f=0,h=new fU(t.b);h.ac)&&LQ(n.b,O2(g.b,18));++u}a=c}}}(n,t),y=null,M=null,p=null,m=null,qD(4,nbX),g=new Bd(4),O2(niB(t,nHq),281).g){case 3:p=new nsd(t,n.c.d,(xD(),nqI),(x$(),nqP)),dy(g.c,p);break;case 1:m=new nsd(t,n.c.d,(xD(),nqA),(x$(),nqP)),dy(g.c,m);break;case 4:y=new nsd(t,n.c.d,(xD(),nqI),(x$(),nqC)),dy(g.c,y);break;case 2:M=new nsd(t,n.c.d,(xD(),nqA),(x$(),nqC)),dy(g.c,M);break;default:p=new nsd(t,n.c.d,(xD(),nqI),(x$(),nqP)),m=new nsd(t,n.c.d,nqA,nqP),y=new nsd(t,n.c.d,nqI,nqC),M=new nsd(t,n.c.d,nqA,nqC),dy(g.c,y),dy(g.c,M),dy(g.c,p),dy(g.c,m)}for(r=new Mn(t,n.c),u=new fU(g);u.a0){if(i=f.gc(),s=xT(nPH.Math.floor((i+1)/2))-1,r=xT(nPH.Math.ceil((i+1)/2))-1,t.o==nqA)for(h=r;h>=s;h--)t.a[k.p]==k&&(d=O2(f.Xb(h),42),w=O2(d.a,10),!vF(e,d.b)&&b>n.b.e[w.p]&&(t.a[w.p]=k,t.g[k.p]=t.g[w.p],t.a[k.p]=t.g[k.p],t.f[t.g[k.p].p]=(SB(),!!(pT(t.f[t.g[k.p].p])&k.k==(nrn(),nDk))),b=n.b.e[w.p]));else for(h=s;h<=r;h++)t.a[k.p]==k&&(p=O2(f.Xb(h),42),g=O2(p.a,10),!vF(e,p.b)&&b0||i.o==nqA&&anwU||t.o==nqI&&sM[o]&&(w=o),h=new fU(n.a.b);h.anc_(a))&&(l=a);for(l||(RR(0,g.c.length),l=O2(g.c[0],185)),d=new fU(t.b);d.a0?(b=(w-1)*e,u&&(b+=i),h&&(b+=i),!(b0&&(k-=w),nfs(c,k),f=0,b=new fU(c.a);b.a1,h=new _9(b.b);Er(h.a)||Er(h.b);)l=(o=O2(Er(h.a)?Rz(h.a):Rz(h.b),18)).c==b?o.d:o.c,nPH.Math.abs(V8(Vp(x2(nLN,1),nbj,8,0,[l.i.n,l.n,l.a])).b-c.b)>1&&function(n,t,e,i,r){var a,c;(_y(t)||t.c.i.c!=t.d.i.c)&&Xi(V8(Vp(x2(nLN,1),nbj,8,0,[r.i.n,r.n,r.a])),e)||_y(t)||(t.c==r?S2(t.a,0,new TP(e)):ID(t.a,new TP(e)),i&&!vF(n.a,e)&&((c=O2(niB(t,(nl$(),nHO)),75))||(c=new gE,VF(t,nHO,c)),FG(c,a=new TP(e),c.c.b,c.c),LQ(n.a,a)))}(n,o,c,a,b)}}(n,l,k,p)}f=nPH.Math.max(f,h)}u.b0),u.a.Xb(u.c=--u.b)),o=.4*i*f,!a&&u.b"+this.b+" ("+(null!=(n=this.c).f?n.f:""+n.g)+")"},nPU.d=0,NO(nkX,"HyperEdgeSegmentDependency",132),ncy(528,22,{3:1,34:1,22:1,528:1},Mf);var nA5=qs(nkX,"HyperEdgeSegmentDependency/DependencyType",528,nPg,function(){return Bm(),Vp(x2(nA5,1),nbz,528,0,[nqQ,nqW])},function(n){return Bm(),qo((F7(),nqJ),n)});ncy(1878,1,{},bq),NO(nkX,"HyperEdgeSegmentSplitter",1878),ncy(1879,1,{},mv),nPU.a=0,nPU.b=0,NO(nkX,"HyperEdgeSegmentSplitter/AreaRating",1879),ncy(339,1,{339:1},OI),nPU.a=0,nPU.b=0,nPU.c=0,NO(nkX,"HyperEdgeSegmentSplitter/FreeArea",339),ncy(1880,1,ndj,ap),nPU.Ne=function(n,t){var e,i;return e=O2(n,118),i=O2(t,118),JC(e.c-e.s,i.c-i.s)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nkX,"HyperEdgeSegmentSplitter/lambda$0$Type",1880),ncy(1881,1,nbS,$7),nPU.Cd=function(n){var t,e,i,r,a,c;t=this.a,e=this.d,i=this.c,r=this.b,c=function(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w,d,g;for(c=0,a=-1,u=-1;cn.c));c++)r.a>=n.s&&(a<0&&(a=c),u=c);return o=(n.s+n.c)/2,a>=0&&(o=((RR(i=function(n,t,e,i){var r,a,c,u,o,s,h,f,l,b,w,d,g;if(a=e,ed.b)?0:1)||(r=u,c=o,a=s);return a}(n,t,a,u),t.c.length),s=O2(t.c[i],339)).c+s.a)/2,RR(i,t.c.length),d=O2(t.c[i],339),_Y(t,i),d.b/2>=e&&(h=i,b=(g=(d.c+d.a)/2)-e,d.c<=g-e&&(f=new OI(d.c,b),AN(t,h++,f)),(w=g+e)<=d.a&&(l=new OI(w,d.a),Rx(h,t.c.length),yt(t.c,h,l)))),o}(a=O2(n,118),i,r),EB(e,function(n,t){for(n.r=new zJ(n.p),n.r.r=n,XR(n.r.j,n.j),Dy(n.j),ID(n.j,t),ID(n.r.e,t),NK(n),NK(n.r);0!=n.f.c.length;)Em(O2(I6(n.f,0),132));for(;0!=n.k.c.length;)Em(O2(I6(n.k,0),132));return n.r}(a,c)),function(n,t,e){var i,r,a,c;for(a=t.q,c=t.r,new RC((Bm(),nqW),t,a,1),new RC(nqW,a,c,1),r=new fU(e);r.ang0&&(a=h,r=n,i=new MH(f,a),ID(c.a,i),nsx(this,c,r,i,!1),(l=n.r)&&(i=new MH(b=pE(PI(nnr(l.e,0))),a),ID(c.a,i),nsx(this,c,r,i,!1),a=t+l.o*e,r=l,i=new MH(b,a),ID(c.a,i),nsx(this,c,r,i,!1)),i=new MH(d,a),ID(c.a,i),nsx(this,c,r,i,!1)))},nPU.zg=function(n){return n.i.n.a+n.n.a+n.a.a},nPU.Ag=function(){return nf9(),n1k},nPU.Bg=function(){return nf9(),n1i},NO(nkz,"NorthToSouthRoutingStrategy",1870),ncy(1871,670,{},gk),nPU.yg=function(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w,d;if(!n.r||n.q)for(h=t-n.o*e,s=new fU(n.n);s.ang0&&(a=h,r=n,i=new MH(f,a),ID(c.a,i),nsx(this,c,r,i,!1),(l=n.r)&&(i=new MH(b=pE(PI(nnr(l.e,0))),a),ID(c.a,i),nsx(this,c,r,i,!1),a=t-l.o*e,r=l,i=new MH(b,a),ID(c.a,i),nsx(this,c,r,i,!1)),i=new MH(d,a),ID(c.a,i),nsx(this,c,r,i,!1)))},nPU.zg=function(n){return n.i.n.a+n.n.a+n.a.a},nPU.Ag=function(){return nf9(),n1i},nPU.Bg=function(){return nf9(),n1k},NO(nkz,"SouthToNorthRoutingStrategy",1871),ncy(1869,670,{},gy),nPU.yg=function(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w,d;if(!n.r||n.q)for(h=t+n.o*e,s=new fU(n.n);s.ang0&&(a=h,r=n,i=new MH(a,f),ID(c.a,i),nsx(this,c,r,i,!0),(l=n.r)&&(i=new MH(a,b=pE(PI(nnr(l.e,0)))),ID(c.a,i),nsx(this,c,r,i,!0),a=t+l.o*e,r=l,i=new MH(a,b),ID(c.a,i),nsx(this,c,r,i,!0)),i=new MH(a,d),ID(c.a,i),nsx(this,c,r,i,!0)))},nPU.zg=function(n){return n.i.n.b+n.n.b+n.a.b},nPU.Ag=function(){return nf9(),n1e},nPU.Bg=function(){return nf9(),n1M},NO(nkz,"WestToEastRoutingStrategy",1869),ncy(828,1,{},nhg),nPU.Ib=function(){return niJ(this.a)},nPU.b=0,nPU.c=!1,nPU.d=!1,nPU.f=0,NO(nkW,"NubSpline",828),ncy(418,1,{418:1},nuq,xl),NO(nkW,"NubSpline/PolarCP",418),ncy(1480,1,nkD,ntC),nPU.rg=function(n){var t,e,i;return t=O2(n,36),zP(e=new $M,nqY),(i=O2(niB(t,(nlB(),nKq)),21)).Hc((noe(),nKw))&&zP(e,nq2),i.Hc(nKa)&&zP(e,nqZ),i.Hc(nKl)&&zP(e,nq0),i.Hc(nKu)&&zP(e,nq1),e},nPU.Kf=function(n,t){!function(n,t,e){var i,r,a,c,u,o,h,f,l,b,w,d,g,p,m,v,k,y,M,j,T,E,S,P,C,O;if(e.Ug("Spline edge routing",1),0==t.b.c.length){t.f.a=0,e.Vg();return}m=pE(PI(niB(t,(nl$(),nUL)))),u=pE(PI(niB(t,nUE))),c=pE(PI(niB(t,nUM))),T=O2(niB(t,nHd),350)==(WZ(),nGJ),j=pE(PI(niB(t,nHg))),n.d=t,n.j.c.length=0,n.a.c.length=0,LX(n.k),f=jG((o=O2(I6(t.b,0),30)).a,(nuK(),nqz)),l=jG((d=O2(I6(t.b,t.b.c.length-1),30)).a,nqz),g=new fU(t.b),p=null,C=0;do{for(function(n,t,e){var i,r,a,c,u,o,s,h,f,l;if(n.e.a.$b(),n.f.a.$b(),n.c.c.length=0,n.i.c.length=0,n.g.a.$b(),t)for(c=new fU(t.a);c.at.f)&&!(t.g>n.f)){for(e=0,i=0,c=n.w.a.ec().Kc();c.Ob();)r=O2(c.Pb(),12),Qf(V8(Vp(x2(nLN,1),nbj,8,0,[r.i.n,r.n,r.a])).b,t.g,t.f)&&++e;for(u=n.r.a.ec().Kc();u.Ob();)r=O2(u.Pb(),12),Qf(V8(Vp(x2(nLN,1),nbj,8,0,[r.i.n,r.n,r.a])).b,t.g,t.f)&&--e;for(o=t.w.a.ec().Kc();o.Ob();)r=O2(o.Pb(),12),Qf(V8(Vp(x2(nLN,1),nbj,8,0,[r.i.n,r.n,r.a])).b,n.g,n.f)&&++i;for(a=t.r.a.ec().Kc();a.Ob();)r=O2(a.Pb(),12),Qf(V8(Vp(x2(nLN,1),nbj,8,0,[r.i.n,r.n,r.a])).b,n.g,n.f)&&--i;e=w&&(m>w&&(b.c.length=0,w=m),dy(b.c,c));0!=b.c.length&&(l=O2(I6(b,nnL(t,b.c.length)),131),P.a.Bc(l),l.s=d++,nc3(l,E,M),b.c.length=0)}for(k=n.c.length+1,u=new fU(n);u.aS.s&&(N7(e),H6(S.i,i),i.c>0&&(i.a=S,EB(S.t,i),i.b=j,EB(j.i,i)))})(n.i,O2(niB(n.d,(nlB(),nFo)),234)),function(n){var t,e,i,r,a,c,u,o,s;for(o=new vq,c=new vq,r=new fU(n);r.a-1){for(i=ZZ(c,0);i.b!=i.d.c;)(e=O2(K6(i),131)).v=a;for(;0!=c.b;)for(t=new fU((e=O2(ntZ(c,0),131)).i);t.a0?(h=0,p&&(h+=u),h+=(E-1)*c,v&&(h+=u),T&&v&&(h=nPH.Math.max(h,function(n,t,e,i){var r,a,c,u,o,h,f,l;for(u=0,h=new fU(n.a);h.a("+this.c+") "+this.b},nPU.c=0,NO(nkW,"SplineEdgeRouter/Dependency",274),ncy(465,22,{3:1,34:1,22:1,465:1},Ml);var nA8=qs(nkW,"SplineEdgeRouter/SideToProcess",465,nPg,function(){return xN(),Vp(x2(nA8,1),nbz,465,0,[nq3,nq4])},function(n){return xN(),qo((_n(),nq6),n)});ncy(1481,1,nbJ,aj),nPU.Mb=function(n){return nuF(),!O2(n,131).o},NO(nkW,"SplineEdgeRouter/lambda$0$Type",1481),ncy(1482,1,{},aT),nPU.Ze=function(n){return nuF(),O2(n,131).v+1},NO(nkW,"SplineEdgeRouter/lambda$1$Type",1482),ncy(1483,1,nbS,Mu),nPU.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=O2(n,42),$S(t.b,O2(i.b,18),e)},NO(nkW,"SplineEdgeRouter/lambda$2$Type",1483),ncy(1484,1,nbS,Mo),nPU.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=O2(n,42),$S(t.b,O2(i.b,18),e)},NO(nkW,"SplineEdgeRouter/lambda$3$Type",1484),ncy(131,1,{34:1,131:1},nr4,nfr),nPU.Fd=function(n){var t;return t=O2(n,131),this.s-t.s},nPU.b=0,nPU.e=!1,nPU.f=0,nPU.g=0,nPU.j=!1,nPU.k=!1,nPU.n=0,nPU.o=!1,nPU.p=!1,nPU.q=!1,nPU.s=0,nPU.u=0,nPU.v=0,nPU.F=0,NO(nkW,"SplineSegment",131),ncy(468,1,{468:1},aE),nPU.a=0,nPU.b=!1,nPU.c=!1,nPU.d=!1,nPU.e=!1,nPU.f=0,NO(nkW,"SplineSegment/EdgeInformation",468),ncy(1198,1,{},aS),NO(nk1,ngq,1198),ncy(1199,1,ndj,aP),nPU.Ne=function(n,t){var e,i,r,a,c;return e=O2(n,121),i=O2(t,121),0==(r=O2(niB(i,(nhe(),nzs)),17).a-O2(niB(e,nzs),17).a)?(a=CC(Ev(O2(niB(e,(nf6(),nXp)),8)),O2(niB(e,nXm),8)),c=CC(Ev(O2(niB(i,nXp),8)),O2(niB(i,nXm),8)),JC(a.a*a.b,c.a*c.b)):r},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nk1,ngX,1199),ncy(1197,1,{},mG),NO(nk1,"MrTree",1197),ncy(405,22,{3:1,34:1,22:1,405:1,188:1,196:1},Mb),nPU.dg=function(){return naO(this)},nPU.qg=function(){return naO(this)};var nA9=qs(nk1,"TreeLayoutPhases",405,nPg,function(){return ntX(),Vp(x2(nA9,1),nbz,405,0,[nq5,nq8,nq9,nq7])},function(n){return ntX(),qo((HQ(),nXn),n)});ncy(1112,205,ngM,Ck),nPU.rf=function(n,t){var e,i,r,a,c,u,o,h,f;for(pT(PO(ncR(n,(nhe(),nzr))))||xj(new lh((kv(),new pk(n)))),(a=t.eh(.10000000149011612)).Ug("build tGraph",1),zX(u=new Bf,n),VF(u,(nf6(),nXD),n),function(n,t,e){var i,r,a,c,u;for(a=0,r=new E2((n.a||(n.a=new LE(nNr,n,10,11)),n.a));r.e!=r.i.gc();)i=O2(Z9(r),27),c="",0==(i.n||(i.n=new LE(nNi,i,1,7)),i.n).i||(c=O2(GA((i.n||(i.n=new LE(nNi,i,1,7)),i.n),0),135).a),zX(u=new Wb(a++,t,c),i),VF(u,(nf6(),nXD),i),u.e.b=i.j+i.f/2,u.f.a=nPH.Math.max(i.g,1),u.e.a=i.i+i.g/2,u.f.b=nPH.Math.max(i.f,1),ID(t.b,u),nr5(e.f,i,u)}(n,u,o=new dc),function(n,t,e){var i,r,a,c,u,o,h;for(c=new E2((n.a||(n.a=new LE(nNr,n,10,11)),n.a));c.e!=c.i.gc();)for(r=new Lc(Sb(nc7(a=O2(Z9(c),27)).a.Kc(),new s));ncM(r);)nch(i=O2(_$(r),74))||nch(i)||naK(i)||(o=O2(jx(AO(e.f,a)),40),h=O2(NB(e,nip(O2(GA((i.c||(i.c=new CK(nL5,i,5,8)),i.c),0),84))),40),o&&h&&(VF(u=new DI(o,h),(nf6(),nXD),i),zX(u,i),ID(o.d,u),ID(h.b,u),ID(t.a,u)))}(n,u,o),c=u,a.Vg(),(a=t.eh(.10000000149011612)).Ug("Split graph",1),r=function(n,t){var e,i,r,a,c,u,o;if(null==(o=PO(niB(t,(nhe(),nzf))))||($d(o),o)){for(function(n,t){var e,i,r,a,c;for(r=t.b.b,n.a=B0(nPb,ngH,15,r,0,1),n.b=B0(n4l,ndJ,28,r,16,1),c=ZZ(t.b,0);c.b!=c.d.c;)a=O2(K6(c),40),n.a[a.g]=new vq;for(i=ZZ(t.a,0);i.b!=i.d.c;)e=O2(K6(i),65),n.a[e.b.g].Fc(e),n.a[e.c.g].Fc(e)}(n,t),r=new du,u=ZZ(t.b,0);u.b!=u.d.c;)(e=function n(t,e,i){var r,a,c;if(!t.b[e.g]){for(t.b[e.g]=!0,(r=i)||(r=new Bf),ID(r.b,e),c=t.a[e.g].Kc();c.Ob();)(a=O2(c.Pb(),65)).b!=e&&n(t,a.b,r),a.c!=e&&n(t,a.c,r),ID(r.a,a);return r}return null}(n,O2(K6(u),40),null))&&(zX(e,t),dy(r.c,e));if(n.a=null,n.b=null,r.c.length>1)for(i=new fU(r);i.af&&(S=0,P+=h+M,h=0),nsy(k,c,S,P),t=nPH.Math.max(t,S+y.a),h=nPH.Math.max(h,y.b),S+=y.a+M;for(v=new dc,e=new dc,T=new fU(n);T.a"+R1(e.c):"e_"+XO(e),t.b&&t.c?R1(t.b)+"->"+R1(t.c):"e_"+XO(t))},NO(nk1,"TreeUtil/lambda$3$Type",1886),ncy(1887,1,ndj,aC),nPU.Ne=function(n,t){var e,i;return e=O2(n,65),i=O2(t,65),JC(e.b.e.a,i.b.e.a)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nk1,"TreeUtil/lambda$4$Type",1887),ncy(1888,1,nbJ,bW),nPU.Mb=function(n){var t,e;return t=this.a,Cq((e=O2(n,65)).b&&e.c?R1(e.b)+"->"+R1(e.c):"e_"+XO(e),t.b&&t.c?R1(t.b)+"->"+R1(t.c):"e_"+XO(t))},NO(nk1,"TreeUtil/lambda$7$Type",1888),ncy(1889,1,ndj,aL),nPU.Ne=function(n,t){var e,i;return e=O2(n,65),i=O2(t,65),JC(e.c.e.a,i.c.e.a)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nk1,"TreeUtil/lambda$8$Type",1889),ncy(1890,1,{},aN),nPU.Kb=function(n){return O2(n,65).b},NO(nk1,"TreeUtil/lambda$9$Type",1890),ncy(508,137,{3:1,508:1,96:1,137:1}),nPU.g=0,NO(nk2,"TGraphElement",508),ncy(65,508,{3:1,65:1,508:1,96:1,137:1},DI),nPU.Ib=function(){return this.b&&this.c?R1(this.b)+"->"+R1(this.c):"e_"+XO(this)},NO(nk2,"TEdge",65),ncy(121,137,{3:1,121:1,96:1,137:1},Bf),nPU.Ib=function(){var n,t,e,i,r;for(r=null,i=ZZ(this.b,0);i.b!=i.d.c;)r+=(null==(e=O2(K6(i),40)).c||0==e.c.length?"n_"+e.g:"n_"+e.c)+"\n";for(t=ZZ(this.a,0);t.b!=t.d.c;)r+=((n=O2(K6(t),65)).b&&n.c?R1(n.b)+"->"+R1(n.c):"e_"+XO(n))+"\n";return r};var nA7=NO(nk2,"TGraph",121);ncy(643,508,{3:1,508:1,643:1,96:1,137:1}),NO(nk2,"TShape",643),ncy(40,643,{3:1,508:1,40:1,643:1,96:1,137:1},Wb),nPU.Ib=function(){return R1(this)};var nLn=NO(nk2,"TNode",40);ncy(236,1,nbA,bQ),nPU.Jc=function(n){_o(this,n)},nPU.Kc=function(){return new bJ(ZZ(this.a.d,0))},NO(nk2,"TNode/2",236),ncy(329,1,nbf,bJ),nPU.Nb=function(n){L_(this,n)},nPU.Pb=function(){return O2(K6(this.a),65).c},nPU.Ob=function(){return mJ(this.a)},nPU.Qb=function(){Gb(this.a)},NO(nk2,"TNode/2/1",329),ncy(1923,1,np_,a$),nPU.Kf=function(n,t){!function(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w,d,g;if(e.Ug("Process compaction",1),pT(PO(niB(t,(nhe(),nX0))))){for(r=O2(niB(t,nX3),88),b=pE(PI(niB(t,nzb))),function(n,t,e){var i,r,a,c,u,o,s,h,f,l,b;for(n.a=new du,a=ZZ(t.b,0);a.b!=a.d.c;){for(r=O2(K6(a),40);O2(niB(r,(nhe(),nzv)),17).a>n.a.c.length-1;)EB(n.a,new ja(ngB,nk3));(i=O2(niB(r,nzv),17).a,e==(Jf(),nY7)||e==nZn)?(r.e.apE(PI(O2(I6(n.a,i),42).b))&&(o=O2(I6(n.a,i),42),s=r.e.a+r.f.a,o.b=s)):(r.e.bpE(PI(O2(I6(n.a,i),42).b))&&(l=O2(I6(n.a,i),42),b=r.e.b+r.f.b,l.b=b))}}(n,t,r),function(n,t){var e,i,r,a,c,u,o,s,h,f,l;for(h=(r=O2(niB(n,(nhe(),nX3)),88))==(Jf(),nY7)||r==nZn?nY9:nZn,e=O2(Fq($Q(new As(null,new RF(n.b,16)),new aK),Hl(new z,new X,new nt,Vp(x2(nOa,1),nbz,108,0,[(W1(),nOK)]))),15),(o=O2(Fq($J(e.Oc(),new b0(t)),Hl(new z,new X,new nt,Vp(x2(nOa,1),nbz,108,0,[nOK]))),15)).Gc(O2(Fq($J(e.Oc(),new b2(t)),Hl(new z,new X,new nt,Vp(x2(nOa,1),nbz,108,0,[nOK]))),16)),o.jd(new b3(h)),l=new mH(new b4(r)),i=new dc,u=o.Kc();u.Ob();)c=O2(u.Pb(),240),s=O2(c.a,40),pT(PO(c.c))?(l.a.zc(s,(SB(),nCs)),new f0(l.a.Zc(s,!1)).a.gc()>0&&$S(i,s,O2(new f0(l.a.Zc(s,!1)).a.Vc(),40)),new f0(l.a.ad(s,!0)).a.gc()>1&&$S(i,YO(l,s),s)):(new f0(l.a.Zc(s,!1)).a.gc()>0&&jR(a=O2(new f0(l.a.Zc(s,!1)).a.Vc(),40))===jR(jx(AO(i.f,s)))&&O2(niB(s,(nf6(),nXv)),15).Fc(a),new f0(l.a.ad(s,!0)).a.gc()>1&&(f=YO(l,s),jR(jx(AO(i.f,f)))===jR(s)&&O2(niB(f,(nf6(),nXv)),15).Fc(s)),l.a.Bc(s))}(t,b/2/2),Xy(w=t.b,new bY(r)),s=ZZ(w,0);s.b!=s.d.c;)if(!pT(PO(niB(o=O2(K6(s),40),(nf6(),nXB))))){if(i=function(n,t){var e,i;if(!(e=O2(niB(n,(nf6(),nXv)),15))||1>e.gc())return null;if(1==e.gc())return O2(e.Xb(0),40);switch(i=null,t.g){case 2:i=O2(SC(Lg(e.Oc(),new aF)),40);break;case 1:i=O2(SC(Ld(e.Oc(),new aD)),40);break;case 4:i=O2(SC(Lg(e.Oc(),new ax)),40);break;case 3:i=O2(SC(Ld(e.Oc(),new aR)),40)}return i}(o,r),d=function(n,t){var e,i,r,a;return(e=ZQ(O2(niB(t,(nhe(),nX3)),88)),0==n.b.b)?null:(a=O2(Fq($J(new As(null,new RF(n.b,16)),new aN),Hl(new z,new X,new nt,Vp(x2(nOa,1),nbz,108,0,[(W1(),nOK)]))),15),i=PI(SC(Ld($J((r=O2(Fq($Q(new As(null,new RF(t.b,16)),new bX(a)),Hl(new z,new X,new nt,Vp(x2(nOa,1),nbz,108,0,[nOK]))),15)).Oc(),new bz(e)),(DA(),DA(),nCz)))),O2(SC(Wf($Q(r.Oc(),new Ms(e,i)))),40))}(o,t),f=0,l=0,i)switch(g=i.e,r.g){case 2:f=g.a-b-o.f.a,d.e.a-b-o.f.af&&(f=d.e.a+d.f.a+b),l=f+o.f.a;break;case 4:f=g.b-b-o.f.b,d.e.b-b-o.f.bf&&(f=d.e.b+d.f.b+b),l=f+o.f.b}else if(d)switch(r.g){case 2:l=(f=d.e.a-b-o.f.a)+o.f.a;break;case 1:l=(f=d.e.a+d.f.a+b)+o.f.a;break;case 4:l=(f=d.e.b-b-o.f.b)+o.f.b;break;case 3:l=(f=d.e.b+d.f.b+b)+o.f.b}jR(niB(t,nX5))===jR((WM(),nXb))?(a=f,c=l,null!=(u=Wf($Q(new As(null,new RF(n.a,16)),new Mh(a,c)))).a?r==(Jf(),nY7)||r==nZn?o.e.a=f:o.e.b=f:null!=(u=r==(Jf(),nY7)||r==nZe?Wf($Q(GL(new As(null,new RF(n.a,16))),new bZ(a))):Wf($Q(GL(new As(null,new RF(n.a,16))),new b1(a)))).a&&(r==nY7||r==nZn?o.e.a=pE(PI((P$(null!=u.a),O2(u.a,42)).a)):o.e.b=pE(PI((P$(null!=u.a),O2(u.a,42)).a))),null!=u.a&&(h=H7(n.a,(P$(null!=u.a),u.a),0))>0&&h!=O2(niB(o,nzv),17).a&&(VF(o,nXk,(SB(),!0)),VF(o,nzv,QR(h)))):r==(Jf(),nY7)||r==nZn?o.e.a=f:o.e.b=f}e.Vg()}}(this,O2(n,121),t)},NO(nk4,"CompactionProcessor",1923),ncy(1924,1,ndj,bY),nPU.Ne=function(n,t){var e,i,r;return e=this.a,i=O2(n,40),r=O2(t,40),JC(EK(ZQ(e),new MH(i.e.a,i.e.b)),EK(ZQ(e),new MH(r.e.a,r.e.b)))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nk4,"CompactionProcessor/lambda$0$Type",1924),ncy(1925,1,nbJ,Mh),nPU.Mb=function(n){var t,e,i;return t=this.b,e=this.a,pE(PI((i=O2(n,42)).a))<=t&&pE(PI(i.b))>=e},nPU.a=0,nPU.b=0,NO(nk4,"CompactionProcessor/lambda$1$Type",1925),ncy(1934,1,ndj,aD),nPU.Ne=function(n,t){var e,i;return e=O2(n,40),i=O2(t,40),JC(e.e.a+e.f.a,i.e.a+i.f.a)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nk4,"CompactionProcessor/lambda$10$Type",1934),ncy(1935,1,ndj,ax),nPU.Ne=function(n,t){var e,i;return e=O2(n,40),i=O2(t,40),JC(e.e.b,i.e.b)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nk4,"CompactionProcessor/lambda$11$Type",1935),ncy(1936,1,ndj,aR),nPU.Ne=function(n,t){var e,i;return e=O2(n,40),i=O2(t,40),JC(e.e.b+e.f.b,i.e.b+i.f.b)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nk4,"CompactionProcessor/lambda$12$Type",1936),ncy(1926,1,nbJ,bZ),nPU.Mb=function(n){var t;return t=this.a,pE(PI(O2(n,42).a))<=t},nPU.a=0,NO(nk4,"CompactionProcessor/lambda$2$Type",1926),ncy(1927,1,nbJ,b1),nPU.Mb=function(n){var t;return t=this.a,pE(PI(O2(n,42).a))>=t},nPU.a=0,NO(nk4,"CompactionProcessor/lambda$3$Type",1927),ncy(1928,1,nbJ,aK),nPU.Mb=function(n){return -1==O2(n,40).c.indexOf(nk0)},NO(nk4,"CompactionProcessor/lambda$4$Type",1928),ncy(1929,1,{},b0),nPU.Kb=function(n){var t,e;return t=this.a,new OL(e=O2(n,40),Pf(Ev(e.e),t,t),(SB(),!0))},nPU.a=0,NO(nk4,"CompactionProcessor/lambda$5$Type",1929),ncy(1930,1,{},b2),nPU.Kb=function(n){var t,e;return t=this.a,new OL(e=O2(n,40),Po(Ev(e.e),e.f.a+t,e.f.b+t),(SB(),!1))},nPU.a=0,NO(nk4,"CompactionProcessor/lambda$6$Type",1930),ncy(1931,1,ndj,b3),nPU.Ne=function(n,t){var e,i,r;return e=this.a,i=O2(n,240),r=O2(t,240),JC(EK(ZQ(e),Ev(i.b)),EK(ZQ(e),Ev(r.b)))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nk4,"CompactionProcessor/lambda$7$Type",1931),ncy(1932,1,ndj,b4),nPU.Ne=function(n,t){var e,i,r;return e=this.a,i=O2(n,40),r=O2(t,40),JC(EK(ZQ(e),Ev(i.e)),EK(ZQ(e),Ev(r.e)))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nk4,"CompactionProcessor/lambda$8$Type",1932),ncy(1933,1,ndj,aF),nPU.Ne=function(n,t){var e,i;return e=O2(n,40),i=O2(t,40),JC(e.e.a,i.e.a)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nk4,"CompactionProcessor/lambda$9$Type",1933),ncy(1921,1,np_,a_),nPU.Kf=function(n,t){!function(n,t){var e,i,r,a,c,u,o;if(t.Ug("Process directions",1),(e=O2(niB(n,(nhe(),nX3)),88))!=(Jf(),nY9))for(r=ZZ(n.b,0);r.b!=r.d.c;){switch(i=O2(K6(r),40),u=O2(niB(i,(nf6(),nXH)),17).a,o=O2(niB(i,nXU),17).a,e.g){case 4:o*=-1;break;case 1:a=u,u=o,o=a;break;case 2:c=u,u=-o,o=c}VF(i,nXH,QR(u)),VF(i,nXU,QR(o))}t.Vg()}(O2(n,121),t)},NO(nk4,"DirectionProcessor",1921),ncy(1913,1,np_,Cv),nPU.Kf=function(n,t){!function(n,t,e){var i,r,a,c,u,o,s,h;for(e.Ug(nk6,1),LX(n.b),LX(n.a),u=null,a=ZZ(t.b,0);!u&&a.b!=a.d.c;)pT(PO(niB(s=O2(K6(a),40),(nf6(),nXB))))&&(u=s);for(FG(o=new vq,u,o.c.b,o.c),function n(t,e){var i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v;if(0!=e.b){for(b=new vq,u=null,w=null,r=xT(nPH.Math.floor(nPH.Math.log(e.b)*nPH.Math.LOG10E)+1),o=0,v=ZZ(e,0);v.b!=v.d.c;)for(p=O2(K6(v),40),jR(w)!==jR(niB(p,(nf6(),nXC)))&&(w=PA(niB(p,nXC)),o=0),u=null!=w?w+R0(o++,r):R0(o++,r),VF(p,nXC,u),g=new bJ(ZZ(new bQ(p).a.d,0));mJ(g.a);)FG(b,d=O2(K6(g.a),65).c,b.c.b,b.c),VF(d,nXC,u);for(c=0,l=new dc;ci.c.length-1;)EB(i,new ja(ngB,nk3));(e=O2(niB(r,nzv),17).a,TD(O2(niB(n,nX3),88)))?(r.e.apE(PI((RR(e,i.c.length),O2(i.c[e],42)).b))&&(RR(e,i.c.length),s=O2(i.c[e],42),h=r.e.a+r.f.a,s.b=h)):(r.e.bpE(PI((RR(e,i.c.length),O2(i.c[e],42)).b))&&(RR(e,i.c.length),b=O2(i.c[e],42),w=r.e.b+r.f.b,b.b=w))}for(a=ZZ(n.b,0);a.b!=a.d.c;)r=O2(K6(a),40),e=O2(niB(r,(nhe(),nzv)),17).a,VF(r,(nf6(),nXN),PI((RR(e,i.c.length),O2(i.c[e],42)).a)),VF(r,nXL,PI((RR(e,i.c.length),O2(i.c[e],42)).b));t.Vg()}(O2(n,121),t)},NO(nk4,"LevelCoordinatesProcessor",1920),ncy(1918,1,np_,az),nPU.Kf=function(n,t){!function(n,t,e){var i,r,a;for(e.Ug("Processor determine the height for each level",1),n.a=0==t.b.b?1:t.b.b,r=null,i=ZZ(t.b,0);!r&&i.b!=i.d.c;)pT(PO(niB(a=O2(K6(i),40),(nf6(),nXB))))&&(r=a);r&&function n(t,e,i,r){var a,c,u,o,s,h;if(!K3(e)){if((h=i.eh((EM(e,16)?O2(e,16).gc():Fj(e.Kc()))/t.a|0)).Ug(nk8,1),s=new aV,o=0,r==(Jf(),nY7)||r==nZn)for(u=e.Kc();u.Ob();)a=O2(u.Pb(),40),s=qg(Vp(x2(nPf,1),nbe,20,0,[s,new bQ(a)])),o=0&&E=0&&!g[w]||(w=E-b)=0&&!g[w]){g[w]=a,f.gd(o),--o;break}for(d.jd(new cs),s=g.length-1;s>=0;s--)g[s]||d.dc()||(g[s]=O2(d.Xb(0),40),d.gd(0));for(h=0;h=0},NO(nyf,"NodeOrderer/lambda$2$Type",1490),ncy(1491,1,nbJ,b6),nPU.Mb=function(n){var t,e;return t=this.a,e=O2(n,40),GR(),O2(niB(e,(nhe(),nzo)),17).a>=t.gc()},NO(nyf,"NodeOrderer/lambda$3$Type",1491),ncy(1492,1,ndj,cs),nPU.Ne=function(n,t){var e,i;return e=O2(n,40),i=O2(t,40),GR(),-Eu(O2(niB(e,(nhe(),nzo)),17).a,O2(niB(i,nzo),17).a)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyf,"NodeOrderer/lambda$4$Type",1492),ncy(1493,1,nbJ,ch),nPU.Mb=function(n){return GR(),0!=O2(niB(O2(n,40),(nf6(),nXj)),17).a},NO(nyf,"NodeOrderer/lambda$5$Type",1493),ncy(1495,1,nkD,hE),nPU.rg=function(n){return O2(n,121),nzA},nPU.Kf=function(n,t){!function(n,t,e){var i,r,a,c;for(e.Ug("Processor order nodes",2),n.b=pE(PI(niB(t,(nhe(),nzb)))),n.a=O2(niB(t,nX3),88),n.a==(Jf(),nZt)&&(n.a=nY9,VF(t,nX3,n.a)),r=new vq,c=ZZ(t.b,0);c.b!=c.d.c;)pT(PO(niB(a=O2(K6(c),40),(nf6(),nXB))))&&FG(r,a,r.c.b,r.c);P$(0!=r.b),function n(t,e){var i,r,a,c,u,o;if(VF(e,(nf6(),nX$),0),a=O2(niB(e,nXI),40),0==e.d.b)a?(u=pE(PI(niB(a,nXR)))+t.b+J$(t,a,e),VF(e,nXR,u)):VF(e,nXR,0);else{for(i=new bJ(ZZ(new bQ(e).a.d,0));mJ(i.a);)n(t,O2(K6(i.a),65).c);r=O2(ET(new bJ(ZZ(new bQ(e).a.d,0))),40),c=(pE(PI(niB(O2(mJ((o=new bJ(ZZ(new bQ(e).a.d,0))).a)?Rk(o):null,40),nXR)))+pE(PI(niB(r,nXR))))/2,a?(u=pE(PI(niB(a,nXR)))+t.b+J$(t,a,e),VF(e,nXR,u),VF(e,nX$,pE(PI(niB(e,nXR)))-c),function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m;for(l=(s=O2(ET(new bJ(ZZ(new bQ(t).a.d,0))),40))?O2(niB(s,(nf6(),nXO)),40):null,r=1;s&&l;){for(a=0,c=0,m=0,e=s,i=l;a1)for(u=P+1;uo.b.e.b*(1-g)+o.c.e.b*g));b++);if(y.gc()>0&&(C=0==o.a.b?Ev(o.b.e):O2(S7(o.a),8),m=CP(Ev(O2(y.Xb(y.gc()-1),40).e),O2(y.Xb(y.gc()-1),40).f),f=CP(Ev(O2(y.Xb(0),40).e),O2(y.Xb(0),40).f),b>=y.gc()-1&&C.b>m.b&&o.c.e.b>m.b||b<=0&&C.bo.b.e.a*(1-g)+o.c.e.a*g));b++);if(y.gc()>0&&(C=0==o.a.b?Ev(o.b.e):O2(S7(o.a),8),m=CP(Ev(O2(y.Xb(y.gc()-1),40).e),O2(y.Xb(y.gc()-1),40).f),f=CP(Ev(O2(y.Xb(0),40).e),O2(y.Xb(0),40).f),b>=y.gc()-1&&C.a>m.a&&o.c.e.a>m.a||b<=0&&C.a=pE(PI(niB(n,(nf6(),nXS))))&&++E):(l.f&&l.d.e.a<=pE(PI(niB(n,(nf6(),nXE))))&&++T,l.g&&l.c.e.a+l.c.f.a>=pE(PI(niB(n,(nf6(),nXT))))&&++E)}else 0==v?naj(o):v<0&&(++j[P],++d[O],S=function(n,t,e,i,r,a,c){var u,o,s,h,f,l,b,w;return l=O2(i.a,17).a,b=O2(i.b,17).a,f=n.b,w=n.c,u=0,h=0,t==(Jf(),nY7)||t==nZn?(h=Mt(Jr($Y($J(new As(null,new RF(e.b,16)),new cf),new a2))),f.e.b+f.f.b/2>h?(s=++b,u=pE(PI(SC(Ld($J(new As(null,new RF(e.b,16)),new MR(r,s)),new a3))))):(o=++l,u=pE(PI(SC(Lg($J(new As(null,new RF(e.b,16)),new MK(r,o)),new a4)))))):(h=Mt(Jr($Y($J(new As(null,new RF(e.b,16)),new a9),new a0))),f.e.a+f.f.a/2>h?(s=++b,u=pE(PI(SC(Ld($J(new As(null,new RF(e.b,16)),new MD(r,s)),new a6))))):(o=++l,u=pE(PI(SC(Lg($J(new As(null,new RF(e.b,16)),new Mx(r,o)),new a5)))))),t==nY7?(j6(n.a,new MH(pE(PI(niB(f,(nf6(),nXN))))-r,u)),j6(n.a,new MH(w.e.a+w.f.a+r+a,u)),j6(n.a,new MH(w.e.a+w.f.a+r+a,w.e.b+w.f.b/2)),j6(n.a,new MH(w.e.a+w.f.a,w.e.b+w.f.b/2))):t==nZn?(j6(n.a,new MH(pE(PI(niB(f,(nf6(),nXL))))+r,f.e.b+f.f.b/2)),j6(n.a,new MH(f.e.a+f.f.a+r,u)),j6(n.a,new MH(w.e.a-r-a,u)),j6(n.a,new MH(w.e.a-r-a,w.e.b+w.f.b/2)),j6(n.a,new MH(w.e.a,w.e.b+w.f.b/2))):t==nZe?(j6(n.a,new MH(u,pE(PI(niB(f,(nf6(),nXN))))-r)),j6(n.a,new MH(u,w.e.b+w.f.b+r+a)),j6(n.a,new MH(w.e.a+w.f.a/2,w.e.b+w.f.b+r+a)),j6(n.a,new MH(w.e.a+w.f.a/2,w.e.b+w.f.b+r))):(0==n.a.b||(O2(S7(n.a),8).b=pE(PI(niB(f,(nf6(),nXL))))+r*O2(c.b,17).a),j6(n.a,new MH(u,pE(PI(niB(f,(nf6(),nXL))))+r*O2(c.b,17).a)),j6(n.a,new MH(u,w.e.b-r*O2(c.a,17).a-a))),new ja(QR(l),QR(b))}(o,t,n,new ja(QR(T),QR(E)),e,i,new ja(QR(d[O]),QR(j[P]))),T=O2(S.a,17).a,E=O2(S.b,17).a)}(n,u,a,c),function(n,t,e,i){var r,a,c,u,o,s,h,f,l,b,w;for(f=ZZ(n.b,0);f.b!=f.d.c;)if(!Cq((h=O2(K6(f),40)).c,nk0))for(a=O2(Fq(new As(null,new RF(function(n,t){var e,i,r;for(r=new du,i=ZZ(t.a,0);i.b!=i.d.c;)(e=O2(K6(i),65)).c.g!=n.g||jR(niB(e.b,(nhe(),nzv)))===jR(niB(e.c,nzv))||_k(new As(null,new RF(r,16)),new bV(e))||dy(r.c,e);return Ei(r,new aC),r}(h,n),16)),Hl(new z,new X,new nt,Vp(x2(nOa,1),nbz,108,0,[(W1(),nOK)]))),15),t==(Jf(),nY7)||t==nZn?a.jd(new ct):a.jd(new ce),w=a.gc(),r=0;r0&&(u=O2(S7(O2(a.Xb(r),65).a),8).a,l=h.e.a+h.f.a/2,o=O2(S7(O2(a.Xb(r),65).a),8).b,b=h.e.b+h.f.b/2,i>0&&nPH.Math.abs(o-b)/(nPH.Math.abs(u-l)/40)>50&&(b>o?j6(O2(a.Xb(r),65).a,new MH(h.e.a+h.f.a+i/5.3,h.e.b+h.f.b*c-i/2)):j6(O2(a.Xb(r),65).a,new MH(h.e.a+h.f.a+i/5.3,h.e.b+h.f.b*c+i/2)))),j6(O2(a.Xb(r),65).a,new MH(h.e.a+h.f.a,h.e.b+h.f.b*c))):t==nZn?(s=pE(PI(niB(h,(nf6(),nXN)))),h.e.a-i>s?j6(O2(a.Xb(r),65).a,new MH(s-e,h.e.b+h.f.b*c)):O2(a.Xb(r),65).a.b>0&&(u=O2(S7(O2(a.Xb(r),65).a),8).a,l=h.e.a+h.f.a/2,o=O2(S7(O2(a.Xb(r),65).a),8).b,b=h.e.b+h.f.b/2,i>0&&nPH.Math.abs(o-b)/(nPH.Math.abs(u-l)/40)>50&&(b>o?j6(O2(a.Xb(r),65).a,new MH(h.e.a-i/5.3,h.e.b+h.f.b*c-i/2)):j6(O2(a.Xb(r),65).a,new MH(h.e.a-i/5.3,h.e.b+h.f.b*c+i/2)))),j6(O2(a.Xb(r),65).a,new MH(h.e.a,h.e.b+h.f.b*c))):t==nZe?(s=pE(PI(niB(h,(nf6(),nXL)))),h.e.b+h.f.b+i0&&(u=O2(S7(O2(a.Xb(r),65).a),8).a,l=h.e.a+h.f.a/2,o=O2(S7(O2(a.Xb(r),65).a),8).b,b=h.e.b+h.f.b/2,i>0&&nPH.Math.abs(u-l)/(nPH.Math.abs(o-b)/40)>50&&(l>u?j6(O2(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c-i/2,h.e.b+i/5.3+h.f.b)):j6(O2(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c+i/2,h.e.b+i/5.3+h.f.b)))),j6(O2(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c,h.e.b+h.f.b))):(s=pE(PI(niB(h,(nf6(),nXN)))),Wo(O2(a.Xb(r),65),n)?j6(O2(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c,O2(S7(O2(a.Xb(r),65).a),8).b)):h.e.b-i>s?j6(O2(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c,s-e)):O2(a.Xb(r),65).a.b>0&&(u=O2(S7(O2(a.Xb(r),65).a),8).a,l=h.e.a+h.f.a/2,o=O2(S7(O2(a.Xb(r),65).a),8).b,b=h.e.b+h.f.b/2,i>0&&nPH.Math.abs(u-l)/(nPH.Math.abs(o-b)/40)>50&&(l>u?j6(O2(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c-i/2,h.e.b-i/5.3)):j6(O2(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c+i/2,h.e.b-i/5.3)))),j6(O2(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c,h.e.b)))}(n,u,a,c),i=ZZ(n.a,0);i.b!=i.d.c;)(e=O2(K6(i),65)).a.b<2&&naj(e);t.Vg()}(O2(n,121),t)},NO(nyl,"EdgeRouter",1496),ncy(1498,1,ndj,ca),nPU.Ne=function(n,t){return Eu(O2(n,17).a,O2(t,17).a)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyl,"EdgeRouter/0methodref$compare$Type",1498),ncy(1503,1,{},a2),nPU.Ye=function(n){return pE(PI(n))},NO(nyl,"EdgeRouter/1methodref$doubleValue$Type",1503),ncy(1505,1,ndj,a3),nPU.Ne=function(n,t){return JC(pE(PI(n)),pE(PI(t)))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyl,"EdgeRouter/2methodref$compare$Type",1505),ncy(1507,1,ndj,a4),nPU.Ne=function(n,t){return JC(pE(PI(n)),pE(PI(t)))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyl,"EdgeRouter/3methodref$compare$Type",1507),ncy(1509,1,{},a0),nPU.Ye=function(n){return pE(PI(n))},NO(nyl,"EdgeRouter/4methodref$doubleValue$Type",1509),ncy(1511,1,ndj,a6),nPU.Ne=function(n,t){return JC(pE(PI(n)),pE(PI(t)))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyl,"EdgeRouter/5methodref$compare$Type",1511),ncy(1513,1,ndj,a5),nPU.Ne=function(n,t){return JC(pE(PI(n)),pE(PI(t)))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyl,"EdgeRouter/6methodref$compare$Type",1513),ncy(1497,1,{},a8),nPU.Kb=function(n){return GK(),O2(niB(O2(n,40),(nhe(),nzv)),17)},NO(nyl,"EdgeRouter/lambda$0$Type",1497),ncy(1508,1,{},a9),nPU.Kb=function(n){var t;return t=O2(n,40),GK(),t.e.a+t.f.a/2},NO(nyl,"EdgeRouter/lambda$11$Type",1508),ncy(1510,1,{},MD),nPU.Kb=function(n){var t,e,i;return t=this.b,e=this.a,i=O2(n,40),GK(),i.e.a+i.f.a+t*e},nPU.a=0,nPU.b=0,NO(nyl,"EdgeRouter/lambda$13$Type",1510),ncy(1512,1,{},Mx),nPU.Kb=function(n){var t,e,i;return t=this.b,e=this.a,i=O2(n,40),GK(),i.e.a-t*e},nPU.a=0,nPU.b=0,NO(nyl,"EdgeRouter/lambda$15$Type",1512),ncy(1514,1,ndj,a7),nPU.Ne=function(n,t){var e,i;return e=O2(n,65),i=O2(t,65),GK(),JC((0==e.a.b?new MH(e.c.e.a,e.c.e.b):O2(S9(e.a),8)).b,(0==i.a.b?new MH(i.c.e.a,i.c.e.b):O2(S9(i.a),8)).b)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyl,"EdgeRouter/lambda$17$Type",1514),ncy(1515,1,ndj,cn),nPU.Ne=function(n,t){var e,i;return e=O2(n,65),i=O2(t,65),GK(),JC((0==e.a.b?new MH(e.c.e.a,e.c.e.b):O2(S9(e.a),8)).a,(0==i.a.b?new MH(i.c.e.a,i.c.e.b):O2(S9(i.a),8)).a)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyl,"EdgeRouter/lambda$18$Type",1515),ncy(1516,1,ndj,ct),nPU.Ne=function(n,t){var e,i;return e=O2(n,65),i=O2(t,65),GK(),JC((0==e.a.b?new MH(e.b.e.a,e.b.e.b):O2(S7(e.a),8)).b,(0==i.a.b?new MH(i.b.e.a,i.b.e.b):O2(S7(i.a),8)).b)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyl,"EdgeRouter/lambda$19$Type",1516),ncy(1499,1,nbJ,b8),nPU.Mb=function(n){var t,e;return t=this.a,e=O2(n,40),GK(),O2(niB(e,(nhe(),nzv)),17).a==t},nPU.a=0,NO(nyl,"EdgeRouter/lambda$2$Type",1499),ncy(1517,1,ndj,ce),nPU.Ne=function(n,t){var e,i;return e=O2(n,65),i=O2(t,65),GK(),JC((0==e.a.b?new MH(e.b.e.a,e.b.e.b):O2(S7(e.a),8)).a,(0==i.a.b?new MH(i.b.e.a,i.b.e.b):O2(S7(i.a),8)).a)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyl,"EdgeRouter/lambda$20$Type",1517),ncy(1500,1,ndj,ci),nPU.Ne=function(n,t){var e,i;return e=O2(n,40),i=O2(t,40),GK(),JC(e.e.b,i.e.b)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyl,"EdgeRouter/lambda$3$Type",1500),ncy(1501,1,ndj,cr),nPU.Ne=function(n,t){var e,i;return e=O2(n,40),i=O2(t,40),GK(),JC(e.e.a,i.e.a)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyl,"EdgeRouter/lambda$4$Type",1501),ncy(1502,1,{},cf),nPU.Kb=function(n){var t;return t=O2(n,40),GK(),t.e.b+t.f.b/2},NO(nyl,"EdgeRouter/lambda$5$Type",1502),ncy(1504,1,{},MR),nPU.Kb=function(n){var t,e,i;return t=this.b,e=this.a,i=O2(n,40),GK(),i.e.b+i.f.b+t*e},nPU.a=0,nPU.b=0,NO(nyl,"EdgeRouter/lambda$7$Type",1504),ncy(1506,1,{},MK),nPU.Kb=function(n){var t,e,i;return t=this.b,e=this.a,i=O2(n,40),GK(),i.e.b-t*e},nPU.a=0,nPU.b=0,NO(nyl,"EdgeRouter/lambda$9$Type",1506),ncy(675,1,{675:1},nta),nPU.e=0,nPU.f=!1,nPU.g=!1,NO(nyl,"MultiLevelEdgeNodeNodeGap",675),ncy(1943,1,ndj,cl),nPU.Ne=function(n,t){var e,i;return e=O2(n,240),i=O2(t,240),JC(O2(e.c,65).c.e.b,O2(i.c,65).c.e.b)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyl,"MultiLevelEdgeNodeNodeGap/lambda$0$Type",1943),ncy(1944,1,ndj,cb),nPU.Ne=function(n,t){var e,i;return e=O2(n,240),i=O2(t,240),JC(O2(e.c,65).c.e.a,O2(i.c,65).c.e.a)},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyl,"MultiLevelEdgeNodeNodeGap/lambda$1$Type",1944),ncy(501,22,{3:1,34:1,22:1,501:1,188:1,196:1},Mm),nPU.dg=function(){return Yb(this)},nPU.qg=function(){return Yb(this)};var nLa=qs(nyb,"RadialLayoutPhases",501,nPg,function(){return Xs(),Vp(x2(nLa,1),nbz,501,0,[nz$,nzD])},function(n){return Xs(),qo((F5(),nzx),n)});ncy(1113,205,ngM,mU),nPU.rf=function(n,t){var e,i,r,a;if(e=nuD(this,n),t.Ug("Radial layout",e.c.length),pT(PO(ncR(n,(nrb(),nVs))))||xj(new lh((kv(),new pk(n)))),a=function(n){var t,e;for(e=new E2((n.a||(n.a=new LE(nNr,n,10,11)),n.a));e.e!=e.i.gc();)if(!ncM(new Lc(Sb(nc9(t=O2(Z9(e),27)).a.Kc(),new s))))return t;return null}(n),nnb(n,(PK(),nzN),a),!a)throw new pN("The given graph is not a tree!").e;for(0==(i=pE(PI(ncR(n,nVw))))&&(i=function n(t){var e,i,r,a,c,u,o;for(u=0,i=new E2((t.a||(t.a=new LE(nNr,t,10,11)),t.a));i.e!=i.i.gc();)o=(e=O2(Z9(i),27)).g,a=e.f,r=nPH.Math.sqrt(o*o+a*a),u=nPH.Math.max(r,u),c=n(e),u=nPH.Math.max(c,u);return u}(n)),nnb(n,nVw,i),r=new fU(nuD(this,n));r.anyw&&(c-=nyw),f=(s=O2(ncR(a,nYI),8)).a,b=s.b+e,(u=nPH.Math.atan2(b,f))<0&&(u+=nyw),(u+=i)>nyw&&(u-=nyw),T6(),qE(1e-10),1e-10>=nPH.Math.abs(c-u)||c==u||isNaN(c)&&isNaN(u)?0:cu?1:Tm(isNaN(c),isNaN(u))},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},nPU.a=0,nPU.b=0,NO(nyb,"RadialUtil/lambda$0$Type",556),ncy(1395,1,np_,cw),nPU.Kf=function(n,t){!function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k,y,M,j,T,E;for(t.Ug("Calculate Graph Size",1),t.dh(n,nyd),f=ngB,l=ngB,s=nyg,h=nyg,d=new E2((n.a||(n.a=new LE(nNr,n,10,11)),n.a));d.e!=d.i.gc();)m=(b=O2(Z9(d),27)).i,v=b.j,E=b.g,u=b.f,o=O2(ncR(b,(nlH(),nJ2)),140),f=nPH.Math.min(f,m-o.b),l=nPH.Math.min(l,v-o.d),s=nPH.Math.max(s,m+E+o.c),h=nPH.Math.max(h,v+u+o.a);for(g=new MH(f-(p=O2(ncR(n,(nlH(),nYu)),107)).b,l-p.d),T=s-f+(p.b+p.c),c=h-l+(p.d+p.a),pT(PO(ncR(n,(nrb(),nVe))))&&(k=O2(ncR(n,(PK(),nzN)),27),y=O2(ncR(k,nJ2),140),M=k.i+k.g/2+(y.b+y.c)/2-g.a,j=k.j+k.f/2+(y.d+y.a)/2-g.b,r=T-M,a=c-j,r=3)for(m=O2(GA(g,0),27),v=O2(GA(g,1),27),i=0;i+2=m.f+v.f+u||v.f>=p.f+m.f+u){k=!0;break}++i}else k=!0;if(!k){for(s=g.i,r=new E2(g);r.e!=r.i.gc();)nnb(O2(Z9(r),27),(nlH(),nYA),QR(s)),--s;nhn(n,new gz),t.Vg();return}for($B(this.a),L5(this.a,(Y3(),nVA),O2(ncR(n,nWO),188)),L5(this.a,nVL,O2(ncR(n,nWk),188)),L5(this.a,nVN,O2(ncR(n,nWS),188)),j=this.a,IV(M=new $M,nVA,(nnC(),nVR)),IV(M,nVL,nVx),pT(PO(ncR(n,nWs)))&&IV(M,nVA,nVD),zP(j.a,M),c=1/(e=nfh(this.a,n)).c.length,f=new fU(e);f.aa?1:0},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nyX,"InteractiveNodeReorderer/lambda$0$Type",1519),ncy(456,22,{3:1,34:1,22:1,456:1,196:1},ME),nPU.dg=function(){switch(this.g){case 0:return new cO;case 1:return new cL;case 2:return new cA}return null};var nLl=qs(nyX,nmn,456,nPg,function(){return nnC(),Vp(x2(nLl,1),nbz,456,0,[nVD,nVR,nVx])},function(n){return nnC(),qo((BK(),nVK),n)});ncy(1521,1,np_,cA),nPU.Kf=function(n,t){var e;e=O2(n,27),t.Ug("Min Size Postprocessing",1),nnb(e,(noN(),nVW),nPH.Math.max(pE(PI(ncR(e,nVW))),pE(PI(ncR(e,nVz))))),t.Vg()},NO(nyX,"MinSizePostProcessor",1521),ncy(1520,1,np_,cL),nPU.Kf=function(n,t){var e,i;e=O2(n,27),t.Ug("Min Size Preprocessing",1),i=nrY(e),nnb(e,(noN(),nVz),i.a),nnb(e,nVG,i.b),t.Vg()},NO(nyX,"MinSizePreProcessor",1520),ncy(394,22,{3:1,34:1,22:1,394:1},MS);var nLb=qs(nyz,"OptimizationGoal",394,nPg,function(){return JV(),Vp(x2(nLb,1),nbz,394,0,[nVJ,nVY,nVQ])},function(n){return JV(),qo((BF(),nVZ),n)});ncy(867,1,ndV,hA),nPU.hf=function(n){J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nyV),""),"Try box layout first"),"Whether one should check whether the regions are stackable to see whether box layout would do the job. For example, nodes with the same height are not stackable inside a row. Therefore, box layout will perform better and faster."),(SB(),!1)),(nrx(),nQJ)),nPE),JI((ZY(),nQV))))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nyW),""),"Current position of a node in the order of nodes"),"The rectangles are ordered. Normally according to their definition the the model. This option specifies the current position of a node."),QR(-1)),nQ0),nPI),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nyQ),""),"Desired index of node"),"The rectangles are ordered. Normally according to their definition the the model. This option allows to specify a desired position that has preference over the original position."),QR(-1)),nQ0),nPI),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nyJ),""),"In new Row"),"If set to true this node begins in a new row. Consequently this node cannot be moved in a previous layer during compaction. Width approximation does does not take this into account."),!1),nQJ),nPE),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nyY),ny5),"Width Approximation Strategy"),"Strategy for finding an initial width of the drawing."),nWi),nQZ),nLd),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nyZ),ny5),"Target Width"),"Option to place the rectangles in the given target width instead of approximating the width using the desired aspect ratio. The padding is not included in this. Meaning a drawing will have width of targetwidth + horizontal padding."),-1),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ny1),ny5),"Optimization Goal"),"Optimization goal for approximation of the bounding box given by the first iteration. Determines whether layout is sorted by the maximum scaling, aspect ratio, or area. Depending on the strategy the aspect ratio might be nearly ignored."),nWt),nQZ),nLb),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ny0),ny5),"Shift Last Placed."),"When placing a rectangle behind or below the last placed rectangle in the first iteration, it is sometimes possible to shift the rectangle further to the left or right, resulting in less whitespace. True (default) enables the shift and false disables it. Disabling the shift produces a greater approximated area by the first iteration and a layout, when using ONLY the first iteration (default not the case), where it is sometimes impossible to implement a size transformation of rectangles that will fill the bounding box and eliminate empty spaces."),!0),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ny2),"packing"),ny8),"Strategy for finding an initial placement on nodes."),nV5),nQZ),nLg),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ny3),ny9),"Row Height Reevaluation"),"During the compaction step the height of a row is normally not changed. If this options is set, the blocks of other rows might be added if they exceed the row height. If this is the case the whole row has to be packed again to be optimal regarding the new row height. This option should, therefore, be used with care since it might be computation heavy."),!1),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ny4),ny9),"Compaction iterations"),"Defines the number of compaction iterations. E.g. if set to 2 the width is initially approximated, then the drawing is compacted and based on the resulting drawing the target width is decreased or increased and a second compaction step is executed and the result compared to the first one. The best run is used based on the scale measure."),QR(1)),nQ0),nPI),JI(nQV)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,ny6),"whiteSpaceElimination"),"White Space Approximation Strategy"),"Strategy for expanding nodes such that whitespace in the parent is eliminated."),nQZ),nLp),JI(nQV)))),nlC((new hL,n))},NO(nyz,"RectPackingMetaDataProvider",867),ncy(1016,1,ndV,hL),nPU.hf=function(n){nlC(n)},NO(nyz,"RectPackingOptions",1016),ncy(1017,1,{},cN),nPU.sf=function(){return new mq},nPU.tf=function(n){},NO(nyz,"RectPackingOptions/RectpackingFactory",1017),ncy(1705,1,{},OA),nPU.a=0,nPU.c=!1,NO(nMn,"AreaApproximation",1705);var nLw=IX(nMn,"BestCandidateFilter");ncy(673,1,{535:1},c$),nPU.Hg=function(n,t,e){var i,r,a,c,u,o;for(o=new du,a=nwH,u=new fU(n);u.a1&&(o=s.Hg(o,n.a,u));return 1==o.c.length?O2(I6(o,o.c.length-1),238):2==o.c.length?function(n,t,e,i){var r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v;return(a=n.f,f=t.f,c=a==(nud(),nWB)||a==nWU,l=f==nWB||f==nWU,u=a==nWH||a==nWG,b=f==nWH||f==nWG,o=a==nWH||a==nWB,w=f==nWH||f==nWB,c&&l)?n.f==nWU?n:t:u&&b?n.f==nWG?n:t:o&&w?(a==nWH?(h=n,s=t):(h=t,s=n),d=e.j+e.f,g=h.e+i.f,p=nPH.Math.max(d,g)-nPH.Math.min(e.j,h.e),r=(h.d+i.g-e.i)*p,m=e.i+e.g,v=s.d+i.g,r<=(nPH.Math.max(m,v)-nPH.Math.min(e.i,s.d))*(s.e+i.f-e.j)?n.f==nWH?n:t:n.f==nWB?n:t):n}((RR(0,o.c.length),O2(o.c[0],238)),(RR(1,o.c.length),O2(o.c[1],238)),c,a):null}(n,o,s,h,f,w,u,i),G2(w,r.d),G3(w,r.e),d=nWq,r.f=d,a=r,u=w,dy(l.c,w);return a}(new OA(i,a,c),s,u,o),nnb(e,(noN(),nVW),r.c),t.Vg()},NO(nMn,"GreedyWidthApproximator",1469),ncy(672,1,{535:1},cR),nPU.Hg=function(n,t,e){var i,r,a,c,u,o;for(o=new du,a=nwU,u=new fU(n);u.a1;){if(r=function(n){var t,e,i,r;for(my(),nuy(i=new gj,n),e=new E2((n.a||(n.a=new LE(nNr,n,10,11)),n.a));e.e!=e.i.gc();)t=O2(Z9(e),27),nug(r=new gj,i),T_(r,t.g,t.f),q0(r,t.k),TB(r,t.i,t.j),Hi((i.a||(i.a=new LE(nNr,i,10,11)),i.a),r),nuy(r,t);return i}(t),f=a.g,w=O2(ncR(t,nWy),107),d=pE(PI(ncR(t,nWa))),(t.a||(t.a=new LE(nNr,t,10,11)),t.a).i>1&&pE(PI(ncR(t,(noN(),nVX))))!=nwH&&(a.c+(w.b+w.c))/(a.b+(w.d+w.a))1&&pE(PI(ncR(t,(noN(),nVq))))!=nwH&&(a.c+(w.b+w.c))/(a.b+(w.d+w.a))>d&&nnb(r,(noN(),nVW),nPH.Math.max(pE(PI(ncR(t,nVz))),pE(PI(ncR(r,nVW)))-pE(PI(ncR(t,nVq))))),(s=(o=nlN(b=new MF(i,h),r,l)).g)>=f&&s==s){for(c=0;c<(r.a||(r.a=new LE(nNr,r,10,11)),r.a).i;c++)!function n(t,e,i){var r;for(T_(i,e.g,e.f),TB(i,e.i,e.j),r=0;r<(e.a||(e.a=new LE(nNr,e,10,11)),e.a).i;r++)n(t,O2(GA((e.a||(e.a=new LE(nNr,e,10,11)),e.a),r),27),O2(GA((i.a||(i.a=new LE(nNr,i,10,11)),i.a),r),27))}(n,O2(GA((r.a||(r.a=new LE(nNr,r,10,11)),r.a),c),27),O2(GA((t.a||(t.a=new LE(nNr,t,10,11)),t.a),c),27));Gk(t,b),g=o.c,a.c=g,a.c>0&&a.b>0&&(a.g=Af(a.c,a.b,a.a)),p=o.b,a.b=p,a.c>0&&a.b>0&&(a.g=Af(a.c,a.b,a.a))}--u}nnb(t,(noN(),nV_),a.b),nnb(t,nVB,a.c),e.Vg()}(this,O2(n,27),t)},NO(nMt,"Compactor",1471),ncy(1473,1,nkD,c_),nPU.rg=function(n){return O2(n,27),null},nPU.Kf=function(n,t){var e,i,r,a,c,u;e=O2(n,27),t.Ug(nMe,1),a=O2(ncR(e,(nof(),nWy)),107),e.a||(e.a=new LE(nNr,e,10,11)),c=function(n){var t,e,i,r;for(e=0,t=0,r=new E2(n);r.e!=r.i.gc();)i=O2(Z9(r),27),e=nPH.Math.max(i.g+i.i,e),t=nPH.Math.max(i.f+i.j,t);return new MH(e,t)}(e.a),u=nPH.Math.max(c.a,pE(PI(ncR(e,(noN(),nVz))))-(a.b+a.c)),i=(r=nPH.Math.max(c.b,pE(PI(ncR(e,nVG)))-(a.d+a.a)))-c.b,nnb(e,nVF,i),nnb(e,nVB,u),nnb(e,nV_,r+i),t.Vg()},NO(nMt,"NoPlacement",1473),ncy(439,22,{3:1,34:1,22:1,439:1,188:1,196:1},MC),nPU.dg=function(){return QN(this)},nPU.qg=function(){return QN(this)};var nLg=qs(nMt,"PackingStrategy",439,nPg,function(){return H2(),Vp(x2(nLg,1),nbz,439,0,[nW$,nWx,nWD])},function(n){return H2(),qo((B_(),nWR),n)});ncy(810,1,{},MF),nPU.a=0,nPU.b=0,nPU.c=0,nPU.d=nwH,nPU.e=0,nPU.f=nwH,NO(nMt,"RowFillingAndCompaction",810),ncy(1472,1,nkD,cB),nPU.rg=function(n){return O2(n,27),null},nPU.Kf=function(n,t){!function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w;for(t.Ug(nMe,1),b=pE(PI(ncR(n,(noN(),nVW)))),c=pE(PI(ncR(n,(nof(),nWT)))),u=O2(ncR(n,nWy),107),XM((n.a||(n.a=new LE(nNr,n,10,11)),n.a)),h=nh5((n.a||(n.a=new LE(nNr,n,10,11)),n.a),b,c),n.a||(n.a=new LE(nNr,n,10,11)),s=new fU(h);s.a0?1:Tm(isNaN(f),isNaN(0)))>=0^(qE(nkU),(nPH.Math.abs(d)<=nkU||0==d||isNaN(d)&&isNaN(0)?0:d<0?-1:d>0?1:Tm(isNaN(d),isNaN(0)))>=0)?nPH.Math.max(d,f):(qE(nkU),(nPH.Math.abs(f)<=nkU||0==f||isNaN(f)&&isNaN(0)?0:f<0?-1:f>0?1:Tm(isNaN(f),isNaN(0)))>0)?nPH.Math.sqrt(d*d+f*f):-nPH.Math.sqrt(d*d+f*f))>=0)?e:(u=$n(CC(new MH(c.c+c.b/2,c.d+c.a/2),new MH(a.c+a.b/2,a.d+a.a/2))),-(nsB(a,c)-1)*u)},NO(nMc,np4,1213),ncy(1115,205,ngM,mX),nPU.rf=function(n,t){var e,i,r,a,c,u,o,s,h,f;for(BJ(n,(niG(),nQf))&&(f=PA(ncR(n,(nnz(),nQN))),(a=noW(qT(),f))&&O2(xh(a.f),205).rf(n,t.eh(1))),nnb(n,nQc,(Bv(),nW0)),nnb(n,nQu,(nrf(),nW5)),nnb(n,nQo,(VM(),nQR)),c=O2(ncR(n,(nnz(),nQO)),17).a,t.Ug("Overlap removal",1),pT(PO(ncR(n,nQC))),o=new we(u=new dV),e=nlI(i=new Qo,n),s=!0,r=0;r1)for(i=new fU(n.a);i.a1&&(t.a=!0),c=O2(i.b,68),u=CP(Ev(O2(e.b,68).c),E_(CC(Ev(O2(i.b,68).a),O2(e.b,68).a),a)),AK(c,CC(new MH(u.a,u.b),c.c)),Rd(t,e),n(t,i)}(this,e.f),VF(e,nNv,(SB(),!!this.a)),t.Vg()},nPU.a=!1,NO(nMT,"GrowTreePhase",796),ncy(797,1,nbS,ON),nPU.Cd=function(n){var t,e,i,r;t=this.a,e=this.b,i=this.c,r=O2(n,225),O2(i.b,68),O2(i.b,68),O2(r.b,68),O2(r.b,68),O2(r.b,68),Gm(r.a,new ON(t,e,r))},NO(nMT,"GrowTreePhase/lambda$0$Type",797),ncy(1468,1,nkD,cW),nPU.rg=function(n){return O2(n,306),new $M},nPU.Kf=function(n,t){var e,i,r,a,c,u,o;e=this,i=O2(n,306),(r=t).Ug("Shrinking tree compaction",1),pT(PO(niB(i,(zg(),nNm))))&&(a=i.f,c=new n1,O2(a.b,68),O2(a.b,68),O2(a.b,68),Gm(a.a,new O$(e,c,a))),u=i.f,o=i.c,nIZ=new n1,nI1=o,O2((nIY=u).b,68),B6(nIY,nIZ,null),nfe(nIY),r.Vg()},NO(nMT,"ShrinkTreeCompactionPhase",1468),ncy(795,1,nbS,O$),nPU.Cd=function(n){var t,e,i,r,a;t=this.a,e=this.b,i=this.c,r=O2(n,225),O2(i.b,68),O2(i.b,68),O2(r.b,68),O2(r.b,68),Il(a=CC(Ev(O2(i.b,68).c),O2(r.b,68).c),nah(O2(i.b,68),O2(r.b,68),a)),O2(r.b,68),O2(r.b,68),O2(r.b,68).c.a,a.a,O2(r.b,68).c.b,a.b,O2(r.b,68),Gm(r.a,new O$(t,e,r))},NO(nMT,"ShrinkTreeCompactionPhase/lambda$0$Type",795);var nLP=IX(nkA,"IGraphElementVisitor");ncy(872,1,{536:1},R8),nPU.Kg=function(n){var t;t=new nQ,n&&zX(t,O2(NB(this.a,nL4),96)),EM(n,422)&&zX(t,O2(NB(this.a,nL6),96)),EM(n,366)?zX(t,O2(NB(this.a,nNi),96)):(EM(n,84)&&zX(t,O2(NB(this.a,nL5),96)),EM(n,207))?zX(t,O2(NB(this.a,nNr),96)):EM(n,193)?zX(t,O2(NB(this.a,nNa),96)):EM(n,326)&&zX(t,O2(NB(this.a,nL8),96)),zX(t,O2(NB(this.b,n),96)),function(n,t,e){var i,r,a,c,u;for(c=n.c,a=(e.q?e.q:(DL(),DL(),nCU)).vc().Kc();a.Ob();)r=O2(a.Pb(),44),mQ($Q(new As(null,new RF(c,16)),new f4(new M_(t,r)))).Bd((vY(),nOB))||(EM(u=r.md(),4)&&null!=(i=Zk(u))&&(u=i),t.qf(O2(r.ld(),149),u))}(this,n,t)},NO(ngj,"LayoutConfigurator",872);var nLC=IX(ngj,"LayoutConfigurator/IPropertyHolderOptionFilter");ncy(944,1,{2032:1},cQ),nPU.Lg=function(n,t){return Vj(),!n.pf(t)},NO(ngj,"LayoutConfigurator/lambda$0$Type",944),ncy(943,1,{845:1},cJ),nPU.Mg=function(n,t){return Vj(),!n.pf(t)},NO(ngj,"LayoutConfigurator/lambda$1$Type",943),ncy(945,1,{2032:1},cY),nPU.Lg=function(n,t){return nuX(n,t)},NO(ngj,"LayoutConfigurator/lambda$2$Type",945),ncy(946,1,nbJ,M_),nPU.Mb=function(n){var t,e,i;return t=this.a,e=this.b,i=O2(n,2032),Vj(),i.Lg(t,O2(e.ld(),149))},NO(ngj,"LayoutConfigurator/lambda$3$Type",946),ncy(869,1,{},cZ),NO(ngj,"RecursiveGraphLayoutEngine",869),ncy(224,63,nb2,d_,pK),NO(ngj,"UnsupportedConfigurationException",224),ncy(370,63,nb2,pF),NO(ngj,"UnsupportedGraphException",370),ncy(761,1,{}),NO(nkA,"AbstractRandomListAccessor",761),ncy(450,761,{},nuE),nPU.Ng=function(){return null},nPU.d=!0,nPU.e=!0,nPU.f=0,NO(nMP,"AlgorithmAssembler",450),ncy(1200,1,nbJ,c1),nPU.Mb=function(n){return!!O2(n,106)},NO(nMP,"AlgorithmAssembler/lambda$0$Type",1200),ncy(1201,1,{},wc),nPU.Kb=function(n){var t;return t=this.a,O2(n,106).rg(t)},NO(nMP,"AlgorithmAssembler/lambda$1$Type",1201),ncy(1202,1,nbJ,c0),nPU.Mb=function(n){return!!O2(n,80)},NO(nMP,"AlgorithmAssembler/lambda$2$Type",1202),ncy(1203,1,nbS,wu),nPU.Cd=function(n){zP(this.a,O2(n,80))},NO(nMP,"AlgorithmAssembler/lambda$3$Type",1203),ncy(1204,1,nbS,MB),nPU.Cd=function(n){var t;t=this.a,EB(this.b,Yf(t,O2(n,196)))},NO(nMP,"AlgorithmAssembler/lambda$4$Type",1204),ncy(1343,1,ndj,c2),nPU.Ne=function(n,t){var e,i,r,a;return e=O2(n,196),i=O2(t,196),W2(e),W2(i),r=O2(e,22),a=O2(i,22),r.g-a.g},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(nMP,"EnumBasedFactoryComparator",1343),ncy(80,761,{80:1},$M),nPU.Ng=function(){return new dV},nPU.a=0,NO(nMP,"LayoutProcessorConfiguration",80),ncy(1025,1,{536:1},hR),nPU.Kg=function(n){zl(nQH,new wo(n))},NO(ndU,"DeprecatedLayoutOptionReplacer",1025),ncy(1026,1,nbS,c3),nPU.Cd=function(n){var t;t=O2(n,167),Hk(),O2(t.of((nlH(),nYE)),181).Fc((nak(),nZ9)),t.qf(nYT,null)},NO(ndU,"DeprecatedLayoutOptionReplacer/lambda$0$Type",1026),ncy(1027,1,nbS,c4),nPU.Cd=function(n){var t;t=O2(n,167),Hk(),O2(t.of((nlH(),nYi)),181).Hc((nsM(),n1B))&&(O2(t.of(nYE),181).Fc((nak(),n1n)),O2(t.of(nYi),181).Mc(n1B))},NO(ndU,"DeprecatedLayoutOptionReplacer/lambda$1$Type",1027),ncy(1028,1,{},wo),nPU.Yd=function(n,t){var e,i,r;e=this.a,i=O2(n,149),r=O2(t,41),Hk(),e.pf(i)&&r.Cd(e)},NO(ndU,"DeprecatedLayoutOptionReplacer/lambda$2$Type",1028),ncy(143,1,{701:1,143:1},nid),nPU.Fb=function(n){return _M(this,n)},nPU.Og=function(){return this.b},nPU.Pg=function(){return this.c},nPU.xe=function(){return this.e},nPU.Hb=function(){return Wg(this.c)},nPU.Ib=function(){return"Layout Algorithm: "+this.c};var nLO=NO(ndU,"LayoutAlgorithmData",143);ncy(269,1,{},c5),NO(ndU,"LayoutAlgorithmData/Builder",269),ncy(1029,1,{536:1},c8),nPU.Kg=function(n){EM(n,207)&&!pT(PO(n.of((nlH(),nYa))))&&function(n){var t,e;if(!zM(t=PA(ncR(n,(nlH(),nJT))),n)&&!BJ(n,nYN)&&(0!=(n.a||(n.a=new LE(nNr,n,10,11)),n.a).i||pT(PO(ncR(n,nJQ))))){if(null==t||0==nr1(t).length){if(!zM(nwX,n))throw nfQ(n,e=jY(jY(new Sv("Unable to load default layout algorithm "),nwX)," for unconfigured node ")),new pK(e.a).e}else throw nfQ(n,e=jY(jY(new Sv("Layout algorithm '"),t),"' not found for ")),new pK(e.a).e}}(O2(n,27))},NO(ndU,"LayoutAlgorithmResolver",1029),ncy(233,1,{701:1,233:1},RS),nPU.Fb=function(n){return!!EM(n,233)&&Cq(this.b,O2(n,233).b)},nPU.Og=function(){return this.a},nPU.Pg=function(){return this.b},nPU.xe=function(){return this.d},nPU.Hb=function(){return Wg(this.b)},nPU.Ib=function(){return"Layout Type: "+this.b},NO(ndU,"LayoutCategoryData",233),ncy(357,1,{},c9),NO(ndU,"LayoutCategoryData/Builder",357),ncy(879,1,{},no_),NO(ndU,"LayoutMetaDataService",879),ncy(880,1,{},NX),NO(ndU,"LayoutMetaDataService/Registry",880),ncy(487,1,{487:1},c7),NO(ndU,"LayoutMetaDataService/Registry/Triple",487),ncy(881,1,nMC,c6),nPU.Qg=function(){return new mm},NO(ndU,"LayoutMetaDataService/lambda$0$Type",881),ncy(882,1,nMO,un),nPU.Rg=function(n){return Ev(O2(n,8))},NO(ndU,"LayoutMetaDataService/lambda$1$Type",882),ncy(891,1,nMC,ut),nPU.Qg=function(){return new du},NO(ndU,"LayoutMetaDataService/lambda$10$Type",891),ncy(892,1,nMO,ue),nPU.Rg=function(n){return new Ot(O2(n,13))},NO(ndU,"LayoutMetaDataService/lambda$11$Type",892),ncy(893,1,nMC,ui),nPU.Qg=function(){return new vq},NO(ndU,"LayoutMetaDataService/lambda$12$Type",893),ncy(894,1,nMO,ur),nPU.Rg=function(n){return O0(O2(n,67))},NO(ndU,"LayoutMetaDataService/lambda$13$Type",894),ncy(895,1,nMC,ua),nPU.Qg=function(){return new dV},NO(ndU,"LayoutMetaDataService/lambda$14$Type",895),ncy(896,1,nMO,uc),nPU.Rg=function(n){return DX(O2(n,49))},NO(ndU,"LayoutMetaDataService/lambda$15$Type",896),ncy(897,1,nMC,uu),nPU.Qg=function(){return new Tj},NO(ndU,"LayoutMetaDataService/lambda$16$Type",897),ncy(898,1,nMO,uo),nPU.Rg=function(n){return Fz(O2(n,49))},NO(ndU,"LayoutMetaDataService/lambda$17$Type",898),ncy(899,1,nMC,us),nPU.Qg=function(){return new dQ},NO(ndU,"LayoutMetaDataService/lambda$18$Type",899),ncy(900,1,nMO,uh),nPU.Rg=function(n){return O1(O2(n,157))},NO(ndU,"LayoutMetaDataService/lambda$19$Type",900),ncy(883,1,nMC,uf),nPU.Qg=function(){return new gE},NO(ndU,"LayoutMetaDataService/lambda$2$Type",883),ncy(884,1,nMO,ul),nPU.Rg=function(n){return new mh(O2(n,75))},NO(ndU,"LayoutMetaDataService/lambda$3$Type",884),ncy(885,1,nMC,ub),nPU.Qg=function(){return new gd},NO(ndU,"LayoutMetaDataService/lambda$4$Type",885),ncy(886,1,nMO,uw),nPU.Rg=function(n){return new Oz(O2(n,140))},NO(ndU,"LayoutMetaDataService/lambda$5$Type",886),ncy(887,1,nMC,ud),nPU.Qg=function(){return new gp},NO(ndU,"LayoutMetaDataService/lambda$6$Type",887),ncy(888,1,nMO,ug),nPU.Rg=function(n){return new OV(O2(n,107))},NO(ndU,"LayoutMetaDataService/lambda$7$Type",888),ncy(889,1,nMC,up),nPU.Qg=function(){return new uN},NO(ndU,"LayoutMetaDataService/lambda$8$Type",889),ncy(890,1,nMO,um),nPU.Rg=function(n){return new Uv(O2(n,385))},NO(ndU,"LayoutMetaDataService/lambda$9$Type",890);var nLI=IX(ngp,"IProperty");ncy(23,1,{34:1,701:1,23:1,149:1},nrI),nPU.Fd=function(n){var t;return t=O2(n,149),_Z(this.f,t.Pg())},nPU.Fb=function(n){return EM(n,23)?Cq(this.f,O2(n,23).f):EM(n,149)&&Cq(this.f,O2(n,149).Pg())},nPU.Sg=function(){var n;if(!EM(this.b,4))return this.b;if(null==(n=Zk(this.b)))throw new p$(nM$+this.f+"'. Make sure it's type is registered with the "+(PL(nNb),nNb.k)+nMA).e;return n},nPU.Og=function(){return this.d},nPU.Pg=function(){return this.f},nPU.xe=function(){return this.i},nPU.Hb=function(){return Wg(this.f)},nPU.Ib=function(){return"Layout Option: "+this.f},NO(ndU,"LayoutOptionData",23),ncy(24,1,{},uv),NO(ndU,"LayoutOptionData/Builder",24),ncy(170,22,{3:1,34:1,22:1,170:1},MG);var nLA=qs(ndU,"LayoutOptionData/Target",170,nPg,function(){return ZY(),Vp(x2(nLA,1),nbz,170,0,[nQV,nQz,nQq,nQW,nQX])},function(n){return ZY(),qo((U2(),nQQ),n)});ncy(285,22,{3:1,34:1,22:1,285:1},Mq);var nLL=qs(ndU,"LayoutOptionData/Type",285,nPg,function(){return nrx(),Vp(x2(nLL,1),nbz,285,0,[nQ4,nQJ,nQ0,nQ3,nQY,nQZ,nQ1,nQ2])},function(n){return nrx(),qo((zp(),nQ6),n)});ncy(116,1,{116:1},TI,$9,D5),nPU.Fb=function(n){var t;return!!(null!=n&&EM(n,116))&&(t=O2(n,116),$x(this.c,t.c)&&$x(this.d,t.d)&&$x(this.b,t.b)&&$x(this.a,t.a))},nPU.Hb=function(){return W5(Vp(x2(nPu,1),nbe,1,5,[this.c,this.d,this.b,this.a]))},nPU.Ib=function(){return"Rect[x="+this.c+",y="+this.d+",w="+this.b+",h="+this.a+"]"},nPU.a=0,nPU.b=0,nPU.c=0,nPU.d=0,NO(npJ,"ElkRectangle",116),ncy(8,1,{3:1,4:1,8:1,423:1},mm,RP,MH,TP),nPU.Fb=function(n){return Xi(this,n)},nPU.Hb=function(){var n,t;return Td(this.a)+(n=Td(this.b),qR(),(t=nCg)[n>>>28]|t[n>>24&15]<<4|t[n>>20&15]<<8|t[n>>16&15]<<12|t[n>>12&15]<<16|t[n>>8&15]<<20|t[n>>4&15]<<24|t[15&n]<<28)},nPU.cg=function(n){var t,e,i;for(e=0;e0&&Ql((RK(t-1,n.length),n.charCodeAt(t-1)),npW);)--t;if(e>=t)throw new pN("The given string does not contain any numbers.").e;if(2!=(i=nht((B5(e,t,n.length),n.substr(e,t-e)),",|;|\r|\n")).length)throw new pN("Exactly two numbers are expected, "+i.length+" were found.").e;try{this.a=nre(nr1(i[0])),this.b=nre(nr1(i[1]))}catch(n){if(EM(n=Vr(n),130))throw new pN(npQ+n).e;throw n.e}},nPU.Ib=function(){return"("+this.a+","+this.b+")"},nPU.a=0,nPU.b=0;var nLN=NO(npJ,"KVector",8);ncy(75,67,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1,75:1,423:1},gE,mh,Pl),nPU.Pc=function(){return function(n){var t,e,i;for(t=0,i=B0(nLN,nbj,8,n.b,0,1),e=ZZ(n,0);e.b!=e.d.c;)i[t++]=O2(K6(e),8);return i}(this)},nPU.cg=function(n){var t,e,i,r,a;e=nht(n,",|;|\\(|\\)|\\[|\\]|\\{|\\}| | |\n"),Dy(this);try{for(t=0,r=0,i=0,a=0;t0&&(r%2==0?i=nre(e[t]):a=nre(e[t]),r>0&&r%2!=0&&ID(this,new MH(i,a)),++r),++t}catch(n){if(EM(n=Vr(n),130))throw new pN("The given string does not match the expected format for vectors."+n).e;throw n.e}},nPU.Ib=function(){var n,t,e;for(n=new Sv("("),t=ZZ(this,0);t.b!=t.d.c;)jY(n,(e=O2(K6(t),8)).a+","+e.b),t.b!=t.d.c&&(n.a+="; ");return(n.a+=")",n).a};var nL$=NO(npJ,"KVectorChain",75);ncy(255,22,{3:1,34:1,22:1,255:1},MU);var nLD=qs(nMx,"Alignment",255,nPg,function(){return nnO(),Vp(x2(nLD,1),nbz,255,0,[nQ9,nJt,nJe,nJi,nQ7,nJn])},function(n){return nnO(),qo((GG(),nJr),n)});ncy(991,1,ndV,hK),nPU.hf=function(n){nsR(n)},NO(nMx,"BoxLayouterOptions",991),ncy(992,1,{},uk),nPU.sf=function(){return new uj},nPU.tf=function(n){},NO(nMx,"BoxLayouterOptions/BoxFactory",992),ncy(298,22,{3:1,34:1,22:1,298:1},MX);var nLx=qs(nMx,"ContentAlignment",298,nPg,function(){return neY(),Vp(x2(nLx,1),nbz,298,0,[nJM,nJy,nJk,nJm,nJp,nJv])},function(n){return neY(),qo((Gq(),nJj),n)});ncy(699,1,ndV,hF),nPU.hf=function(n){var t,e,i,r,a,c,u;J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nMB),""),"Layout Algorithm"),"Select a specific layout algorithm."),(nrx(),nQ3)),nP$),JI((ZY(),nQV))))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nMH),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),nQ2),nLO),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkc),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),nJS),nQZ),nLD),JI(nQz)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,ngR),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nMU),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),nQ2),nL$),JI(nQq)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkm),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),nJD),nQ1),nLx),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nka),""),"Debug Mode"),"Whether additional debug information shall be generated."),(SB(),!1)),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nks),""),ngl),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),nJK),nQZ),nLR),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvH),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),nJU),nQZ),nLF),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nMF),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nvR),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),nJV),nQZ),nLB),AR(nQV,Vp(x2(nLA,1),nbz,170,0,[nQz]))))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ngK),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),nYo),nQ2),nAo),AR(nQV,Vp(x2(nLA,1),nbz,170,0,[nQz]))))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npt),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkI),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npr),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npe),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),nYM),nQZ),nLq),JI(nQz)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nkP),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),nQ2),nLN),AR(nQz,Vp(x2(nLA,1),nbz,170,0,[nQW,nQX]))))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,ng5),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),nQ0),nPI),AR(nQz,Vp(x2(nLA,1),nbz,170,0,[nQq]))))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,ng7),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),nQ0),nPI),JI(nQV)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,npn),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkv),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),nJ0),nQ2),nL$),JI(nQq)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkM),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),nQJ),nPE),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkj),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),nQJ),nPE),JI(nQz)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nMG),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),nQ2),n4m),AR(nQV,Vp(x2(nLA,1),nbz,170,0,[nQX]))))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkC),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),nJ3),nQ2),nAa),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nki),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),nQJ),nPE),AR(nQz,Vp(x2(nLA,1),nbz,170,0,[nQq,nQW,nQX]))))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nMq),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),nQY),nPC),JI(nQz)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nMX),""),"Child Area Width"),"The width of the area occupied by the laid out children of a node."),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nMz),""),"Child Area Height"),"The height of the area occupied by the laid out children of a node."),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nph),""),nME),"Turns topdown layout on and off. If this option is enabled, hierarchical layout will be computed first for the root node and then for its children recursively. Layouts are then scaled down to fit the area provided by their parents. Graphs must follow a certain structure for topdown layout to work properly. {@link TopdownNodeTypes.PARALLEL_NODE} nodes must have children of type {@link TopdownNodeTypes.HIERARCHICAL_NODE} and must define {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} for their children. Furthermore they need to be laid out using an algorithm that is a {@link TopdownLayoutProvider}. Hierarchical nodes can also be parents of other hierarchical nodes and can optionally use a {@link TopdownSizeApproximator} to dynamically set sizes during topdown layout. In this case {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} should be set on the node itself rather than the parent. The values are then used by the size approximator as base values. Hierarchical nodes require the layout option {@link nodeSize.fixedGraphSize} to be true to prevent the algorithm used there from resizing the hierarchical node. This option is not supported if 'Hierarchy Handling' is set to 'INCLUDE_CHILDREN'"),!1),nQJ),nPE),JI(nQV)))),KO(n,nph,npw,null),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nMV),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nMW),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),QR(100)),nQ0),nPI),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nMQ),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nMJ),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),QR(4e3)),nQ0),nPI),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nMY),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),QR(400)),nQ0),nPI),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nMZ),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nM1),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nM0),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nM2),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nM_),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),nJI),nQZ),nLY),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nv0),nvU),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nv2),nvU),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ngD),nvU),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nv3),nvU),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ng9),nvU),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nv4),nvU),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nv6),nvU),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nv9),nvU),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nv5),nvU),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nv8),nvU),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ng8),nvU),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nv7),nvU),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),nQY),nPC),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkn),nvU),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),nQY),nPC),AR(nQV,Vp(x2(nLA,1),nbz,170,0,[nQz]))))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nkt),nvU),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),nQ2),nLZ),AR(nQz,Vp(x2(nLA,1),nbz,170,0,[nQq,nQW,nQX]))))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkO),nvU),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),nYQ),nQ2),nAa),JI(nQV)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nkS),nM9),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),nQ0),nPI),AR(nQV,Vp(x2(nLA,1),nbz,170,0,[nQz]))))),KO(n,nkS,nkE,nYl),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkE),nM9),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),nYh),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkh),nM7),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),nJ6),nQ2),nAo),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npo),nM7),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),nJ8),nQ1),nLU),AR(nQz,Vp(x2(nLA,1),nbz,170,0,[nQX]))))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkb),njn),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),nYw),nQZ),nLG),JI(nQz)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nkw),njn),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),nQZ),nLG),JI(nQz)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nkd),njn),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),nQZ),nLG),JI(nQz)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nkg),njn),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),nQZ),nLG),JI(nQz)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nkp),njn),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),nQZ),nLG),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npu),njt),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),nJ7),nQ1),nLV),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npc),njt),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),nYr),nQ1),nLW),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npS),njt),"Node Size Minimum"),"The minimal size to which a node can be reduced."),nYe),nQ2),nLN),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npa),njt),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),nQJ),nPE),JI(nQV)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkk),nvZ),"Edge Label Placement"),"Gives a hint on where to put edge labels."),nJB),nQZ),nLK),JI(nQX)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npi),nvZ),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),nQJ),nPE),JI(nQX)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nM3),"font"),"Font Name"),"Font name used for a label."),nQ3),nP$),JI(nQX)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nM4),"font"),"Font Size"),"Font size used for a label."),nQ0),nPI),JI(nQX)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nkT),nje),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),nQ2),nLN),JI(nQW)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nky),nje),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),nQ0),nPI),JI(nQW)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkr),nje),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),nYO),nQZ),nLz),JI(nQW)))),J0(n,new nrI(mo(mu(ms(me(mc(mr(ma(new uv,nke),nje),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),nQY),nPC),JI(nQW)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nps),nji),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),nYS),nQ1),nLX),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkf),nji),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),nQJ),nPE),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nkl),nji),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),nQJ),nPE),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npf),njr),"Topdown Scale Factor"),"The scaling factor to be applied to the nodes laid out within the node in recursive topdown layout. The difference to 'Scale Factor' is that the node itself is not scaled. This value has to be set on hierarchical nodes."),1),nQY),nPC),JI(nQV)))),KO(n,npf,npw,nY6),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nM6),njr),"Topdown Size Approximator"),"The size approximator to be used to set sizes of hierarchical nodes during topdown layout. The default value is null, which results in nodes keeping whatever size is defined for them e.g. through parent parallel node or by manually setting the size."),null),nQZ),nLJ),JI(nQz)))),KO(n,nM6,npw,nY8),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npl),njr),"Topdown Hierarchical Node Width"),"The fixed size of a hierarchical node when using topdown layout. If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),150),nQY),nPC),AR(nQV,Vp(x2(nLA,1),nbz,170,0,[nQz]))))),KO(n,npl,npw,null),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npb),njr),"Topdown Hierarchical Node Aspect Ratio"),"The fixed aspect ratio of a hierarchical node when using topdown layout. Default is 1/sqrt(2). If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),1.414),nQY),nPC),AR(nQV,Vp(x2(nLA,1),nbz,170,0,[nQz]))))),KO(n,npb,npw,null),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,npw),njr),"Topdown Node Type"),"The different node types used for topdown layout. If the node type is set to {@link TopdownNodeTypes.PARALLEL_NODE} the algorithm must be set to a {@link TopdownLayoutProvider} such as {@link TopdownPacking}. The {@link nodeSize.fixedGraphSize} option is technically only required for hierarchical nodes."),null),nQZ),nLQ),JI(nQz)))),KO(n,npw,npa,null),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nM5),njr),"Topdown Scale Cap"),"Determines the upper limit for the topdown scale factor. The default value is 1.0 which ensures that nested children never end up appearing larger than their parents in terms of unit sizes such as the font size. If the limit is larger, nodes will fully utilize the available space, but it is counteriniuitive for inner nodes to have a larger scale than outer nodes."),1),nQY),nPC),JI(nQV)))),KO(n,nM5,npw,nY3),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nku),nja),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),nQJ),nPE),JI(nQz)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nko),nja),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),nQJ),nPE),JI(nQq)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,ngx),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),nQY),nPC),JI(nQq)))),J0(n,new nrI(mo(mu(ms(mi(me(mc(mr(ma(new uv,nM8),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),nJq),nQZ),nL_),JI(nQq)))),kw(n,new RS(((((t=new c9).b=nwX,t).c="Layered",t).a='The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.',t))),kw(n,new RS(((((e=new c9).b="org.eclipse.elk.orthogonal",e).c="Orthogonal",e).a='Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia \'86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.',e))),kw(n,new RS(((((i=new c9).b=ng6,i).c="Force",i).a="Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984.",i))),kw(n,new RS(((((r=new c9).b="org.eclipse.elk.circle",r).c="Circle",r).a="Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph.",r))),kw(n,new RS(((((a=new c9).b=nys,a).c="Tree",a).a="Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type.",a))),kw(n,new RS(((((c=new c9).b="org.eclipse.elk.planar",c).c="Planar",c).a="Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable.",c))),kw(n,new RS(((((u=new c9).b=nyF,u).c="Radial",u).a="Radial layout algorithms usually position the nodes of the graph on concentric circles.",u))),nsn((new h_,n)),nsR((new hK,n)),nod((new hB,n))},NO(nMx,"CoreOptions",699),ncy(88,22,{3:1,34:1,22:1,88:1},Mz);var nLR=qs(nMx,ngl,88,nPg,function(){return Jf(),Vp(x2(nLR,1),nbz,88,0,[nZt,nZn,nY7,nY9,nZe])},function(n){return Jf(),qo((U0(),nZi),n)});ncy(278,22,{3:1,34:1,22:1,278:1},MV);var nLK=qs(nMx,"EdgeLabelPlacement",278,nPg,function(){return Gx(),Vp(x2(nLK,1),nbz,278,0,[nZr,nZa,nZc])},function(n){return Gx(),qo((BW(),nZu),n)});ncy(223,22,{3:1,34:1,22:1,223:1},MW);var nLF=qs(nMx,"EdgeRouting",223,nPg,function(){return Jz(),Vp(x2(nLF,1),nbz,223,0,[nZf,nZs,nZo,nZh])},function(n){return Jz(),qo((HJ(),nZl),n)});ncy(321,22,{3:1,34:1,22:1,321:1},MQ);var nL_=qs(nMx,"EdgeType",321,nPg,function(){return niC(),Vp(x2(nL_,1),nbz,321,0,[nZp,nZd,nZm,nZb,nZg,nZw])},function(n){return niC(),qo((GX(),nZv),n)});ncy(989,1,ndV,h_),nPU.hf=function(n){nsn(n)},NO(nMx,"FixedLayouterOptions",989),ncy(990,1,{},uy),nPU.sf=function(){return new uL},nPU.tf=function(n){},NO(nMx,"FixedLayouterOptions/FixedFactory",990),ncy(346,22,{3:1,34:1,22:1,346:1},MJ);var nLB=qs(nMx,"HierarchyHandling",346,nPg,function(){return QA(),Vp(x2(nLB,1),nbz,346,0,[nZC,nZP,nZO])},function(n){return QA(),qo((Bz(),nZI),n)});ncy(291,22,{3:1,34:1,22:1,291:1},MY);var nLH=qs(nMx,"LabelSide",291,nPg,function(){return ntz(),Vp(x2(nLH,1),nbz,291,0,[nZ$,nZA,nZL,nZN])},function(n){return ntz(),qo((HY(),nZD),n)});ncy(95,22,{3:1,34:1,22:1,95:1},MZ);var nLU=qs(nMx,"NodeLabelPlacement",95,nPg,function(){return ncK(),Vp(x2(nLU,1),nbz,95,0,[nZR,nZx,nZF,nZG,nZU,nZH,nZ_,nZB,nZK])},function(n){return ncK(),qo((z4(),nZq),n)});ncy(256,22,{3:1,34:1,22:1,256:1},M1);var nLG=qs(nMx,"PortAlignment",256,nPg,function(){return Z4(),Vp(x2(nLG,1),nbz,256,0,[nZV,nZQ,nZX,nZz,nZW])},function(n){return Z4(),qo((U3(),nZJ),n)});ncy(101,22,{3:1,34:1,22:1,101:1},M0);var nLq=qs(nMx,"PortConstraints",101,nPg,function(){return nia(),Vp(x2(nLq,1),nbz,101,0,[nZ3,nZ2,nZ0,nZY,nZ1,nZZ])},function(n){return nia(),qo((Gz(),nZ4),n)});ncy(279,22,{3:1,34:1,22:1,279:1},M2);var nLX=qs(nMx,"PortLabelPlacement",279,nPg,function(){return nak(),Vp(x2(nLX,1),nbz,279,0,[nZ7,nZ8,nZ9,nZ5,nZ6,n1n])},function(n){return nak(),qo((GV(),n1t),n)});ncy(64,22,{3:1,34:1,22:1,64:1},M3);var nLz=qs(nMx,"PortSide",64,nPg,function(){return nf9(),Vp(x2(nLz,1),npR,64,0,[n1y,n1i,n1e,n1k,n1M])},function(n){return nf9(),qo((U4(),n1j),n)});ncy(993,1,ndV,hB),nPU.hf=function(n){nod(n)},NO(nMx,"RandomLayouterOptions",993),ncy(994,1,{},uM),nPU.sf=function(){return new uO},nPU.tf=function(n){},NO(nMx,"RandomLayouterOptions/RandomFactory",994),ncy(386,22,{3:1,34:1,22:1,386:1},M4);var nLV=qs(nMx,"SizeConstraint",386,nPg,function(){return Y2(),Vp(x2(nLV,1),nbz,386,0,[n1A,n1L,n1I,n1O])},function(n){return Y2(),qo((HZ(),n1N),n)});ncy(264,22,{3:1,34:1,22:1,264:1},M6);var nLW=qs(nMx,"SizeOptions",264,nPg,function(){return nsM(),Vp(x2(nLW,1),nbz,264,0,[n1x,n1K,n1D,n1F,n1_,n1H,n1B,n1R,n1$])},function(n){return nsM(),qo((z3(),n1U),n)});ncy(280,22,{3:1,34:1,22:1,280:1},M5);var nLQ=qs(nMx,"TopdownNodeTypes",280,nPg,function(){return QI(),Vp(x2(nLQ,1),nbz,280,0,[n1q,n1G,n1X])},function(n){return QI(),qo((BQ(),n1z),n)});ncy(347,22,njo);var nLJ=qs(nMx,"TopdownSizeApproximator",347,nPg,function(){return OO(),Vp(x2(nLJ,1),nbz,347,0,[n1V,n1W])},function(n){return OO(),qo((_c(),n1Q),n)});ncy(987,347,njo,IG),nPU.Tg=function(n){return nnx(n)},qs(nMx,"TopdownSizeApproximator/1",987,nLJ,null,null),ncy(988,347,njo,LI),nPU.Tg=function(n){var t,e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v;for(t=O2(ncR(n,(nlH(),nYN)),143),my(),nuy(g=new gj,n),p=new dc,a=new E2((n.a||(n.a=new LE(nNr,n,10,11)),n.a));a.e!=a.i.gc();)i=O2(Z9(a),27),nug(l=new gj,g),nuy(l,i),v=nnx(i),T_(l,nPH.Math.max(i.g,v.a),nPH.Math.max(i.f,v.b)),nr5(p.f,i,l);for(r=new E2((n.a||(n.a=new LE(nNr,n,10,11)),n.a));r.e!=r.i.gc();)for(o=new E2(((i=O2(Z9(r),27)).e||(i.e=new CK(nL8,i,7,4)),i.e));o.e!=o.i.gc();)u=O2(Z9(o),74),w=O2(jx(AO(p.f,i)),27),d=O2(NB(p,GA((u.c||(u.c=new CK(nL5,u,5,8)),u.c),0)),27),Hi(((b=new uF).b||(b.b=new CK(nL5,b,4,7)),b.b),w),Hi((b.c||(b.c=new CK(nL5,b,5,8)),b.c),d),nuh(b,xY(w)),nuy(b,u);s=O2(xh(t.f),205);try{s.rf(g,new ux),$b(t.f,s)}catch(n){throw EM(n=Vr(n),103),n.e}return BJ(g,nJL)||BJ(g,nJA)||nlm(g),c=pE(PI(ncR(g,nJL)))/pE(PI(ncR(g,nJA))),e=pE(PI(ncR(g,nYZ)))*nPH.Math.sqrt((g.a||(g.a=new LE(nNr,g,10,11)),g.a).i),f=(m=O2(ncR(g,nYu),107)).b+m.c+1,h=m.d+m.a+1,new MH(nPH.Math.max(f,e),nPH.Math.max(h,e/c))},qs(nMx,"TopdownSizeApproximator/2",988,nLJ,null,null),ncy(344,1,{871:1},gz),nPU.Ug=function(n,t){return nim(this,n,t)},nPU.Vg=function(){nrd(this)},nPU.Wg=function(){return this.q},nPU.Xg=function(){return this.f?Dq(this.f):null},nPU.Yg=function(){return Dq(this.a)},nPU.Zg=function(){return this.p},nPU.$g=function(){return!1},nPU._g=function(){return this.n},nPU.ah=function(){return null!=this.p&&!this.b},nPU.bh=function(n){this.n&&EB(this.f,n)},nPU.dh=function(n,t){var e,i,r,a;this.n&&n&&(i=function n(t,e){var i,r,a,c,u,o,s,h;if(!e)return null;if(i=(c=e.Dh())?GP(c).wi().si(c):null){for(ZV(t,e,i),s=0,h=(null==(a=e.Dh()).i&&nhc(a),a.i).length;s=0&&s1||-1==u?(c=O2(o,15),a.Wb(function(t,e){var i,r,a;for(r=new Bd(e.gc()),i=e.Kc();i.Ob();)(a=n(t,O2(i.Pb(),58)))&&dy(r.c,a);return r}(t,c))):a.Wb(n(t,O2(o,58))))}(t,u,e,i));e.Vh()&&O2(i,54).ei(O2(e,54)._h())}return i}(e=new Nm,n),function(n){var t,e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k,y;for(f=new Nq(new f1(n));f.c!=f.d.a.d;)for(d=0,u=O2((h=Um(f)).d,58),t=O2(h.e,58),k=(null==(c=u.Dh()).i&&nhc(c),c.i).length;d=0&&d1||-1==b){if(f=O2(w,71),l=O2(h,71),f.dc())l.$b();else for(c=!!nnF(t),a=0,u=n.a?f.Kc():f.Ii();u.Ob();)s=O2(u.Pb(),58),(r=O2(UL(n,s),58))?(c?-1==(o=l.dd(r))?l.Gi(a,r):a!=o&&l.Ui(a,r):l.Gi(a,r),++a):n.b&&!c&&(l.Gi(a,s),++a)}else null==w?h.Wb(null):null==(r=UL(n,w))?n.b&&!nnF(t)&&h.Wb(w):h.Wb(r)}}(n,o,u,t);else if(kP(),O2(s,69).xk()&&(e=O2(s?O2(t,54).gi(s):null,160)))for(g=0,b=O2(u.Mh(s),160),i=e.gc(),w=b.gc();g0?t-1:t,i=qa(If(new gz,e),this.n),r=this.j,i.j=r,a=this.k,i.k=a,ID(this.a,i),i.i=this,this.d=n,i)},nPU.fh=function(n){n>0&&!this.b&&qY(this,n)},nPU.b=!1,nPU.c=0,nPU.d=-1,nPU.e=null,nPU.f=null,nPU.g=-1,nPU.j=!1,nPU.k=!1,nPU.n=!1,nPU.o=0,nPU.q=0,nPU.r=0,NO(nkA,"BasicProgressMonitor",344),ncy(717,205,ngM,uj),nPU.rf=function(n,t){nhn(n,t)},NO(nkA,"BoxLayoutProvider",717),ncy(983,1,ndj,ws),nPU.Ne=function(n,t){var e,i,r,a,c;return e=O2(n,27),i=O2(t,27),((a=O2(ncR(e,(niq(),nJd)),17))||(a=QR(0)),(c=O2(ncR(i,nJd),17))||(c=QR(0)),a.a>c.a)?-1:a.a0&&w.b>0&&nln(g,w.a,w.b,!0,!0)),l=nPH.Math.max(l,g.i+g.g),b=nPH.Math.max(b,g.j+g.f),h=new E2((g.n||(g.n=new LE(nNi,g,1,7)),g.n));h.e!=h.i.gc();)u=O2(Z9(h),135),(T=O2(ncR(u,nZS),8))&&TB(u,T.a,T.b),l=nPH.Math.max(l,g.i+u.i+u.g),b=nPH.Math.max(b,g.j+u.j+u.f);for(y=new E2((g.c||(g.c=new LE(nNa,g,9,9)),g.c));y.e!=y.i.gc();)for(k=O2(Z9(y),123),(T=O2(ncR(k,nZS),8))&&TB(k,T.a,T.b),M=g.i+k.i,j=g.j+k.j,l=nPH.Math.max(l,M+k.g),b=nPH.Math.max(b,j+k.f),o=new E2((k.n||(k.n=new LE(nNi,k,1,7)),k.n));o.e!=o.i.gc();)u=O2(Z9(o),135),(T=O2(ncR(u,nZS),8))&&TB(u,T.a,T.b),l=nPH.Math.max(l,M+u.i+u.g),b=nPH.Math.max(b,j+u.j+u.f);for(r=new Lc(Sb(nc7(g).a.Kc(),new s));ncM(r);)f=nlr(e=O2(_$(r),74)),l=nPH.Math.max(l,f.a),b=nPH.Math.max(b,f.b);for(i=new Lc(Sb(nc9(g).a.Kc(),new s));ncM(i);)xY(niX(e=O2(_$(i),74)))!=n&&(f=nlr(e),l=nPH.Math.max(l,f.a),b=nPH.Math.max(b,f.b))}if(a==(Jz(),nZo))for(p=new E2((n.a||(n.a=new LE(nNr,n,10,11)),n.a));p.e!=p.i.gc();)for(i=new Lc(Sb(nc7(g=O2(Z9(p),27)).a.Kc(),new s));ncM(i);)0==(c=function(n){var t;if(1!=(n.a||(n.a=new LE(nL9,n,6,6)),n.a).i)throw new pN(njh+(n.a||(n.a=new LE(nL9,n,6,6)),n.a).i).e;return t=new gE,Va(O2(GA((n.b||(n.b=new CK(nL5,n,4,7)),n.b),0),84))&&XR(t,nlA(n,Va(O2(GA((n.b||(n.b=new CK(nL5,n,4,7)),n.b),0),84)),!1)),Va(O2(GA((n.c||(n.c=new CK(nL5,n,5,8)),n.c),0),84))&&XR(t,nlA(n,Va(O2(GA((n.c||(n.c=new CK(nL5,n,5,8)),n.c),0),84)),!0)),t}(e=O2(_$(i),74))).b?nnb(e,nJ1,null):nnb(e,nJ1,c);pT(PO(ncR(n,(WT(),nZM))))||(d=l+(v=O2(ncR(n,nZT),107)).b+v.c,nln(n,d,b+v.d+v.a,!0,!0)),t.Vg()},NO(nkA,"FixedLayoutProvider",1119),ncy(385,137,{3:1,423:1,385:1,96:1,137:1},uN,Uv),nPU.cg=function(n){var t,e,i,r,a,c,u;if(n)try{for(r=0,a=(c=nht(n,";,;")).length;r>16&nwt|t^i<<16},nPU.Kc=function(){return new wb(this)},nPU.Ib=function(){return null==this.a&&null==this.b?"pair(null,null)":null==this.a?"pair(null,"+J6(this.b)+")":null==this.b?"pair("+J6(this.a)+",null)":"pair("+J6(this.a)+","+J6(this.b)+")"},NO(nkA,"Pair",42),ncy(995,1,nbf,wb),nPU.Nb=function(n){L_(this,n)},nPU.Ob=function(){return!this.c&&(!this.b&&null!=this.a.a||null!=this.a.b)},nPU.Pb=function(){if(!this.c&&!this.b&&null!=this.a.a)return this.b=!0,this.a.a;if(!this.c&&null!=this.a.b)return this.c=!0,this.a.b;throw(new dF).e},nPU.Qb=function(){throw this.c&&null!=this.a.b?this.a.b=null:this.b&&null!=this.a.a&&(this.a.a=null),(new d$).e},nPU.b=!1,nPU.c=!1,NO(nkA,"Pair/1",995),ncy(455,1,{455:1},Dt),nPU.Fb=function(n){return $x(this.a,O2(n,455).a)&&$x(this.c,O2(n,455).c)&&$x(this.d,O2(n,455).d)&&$x(this.b,O2(n,455).b)},nPU.Hb=function(){return W5(Vp(x2(nPu,1),nbe,1,5,[this.a,this.c,this.d,this.b]))},nPU.Ib=function(){return"("+this.a+nbn+this.c+nbn+this.d+nbn+this.b+")"},NO(nkA,"Quadruple",455),ncy(1108,205,ngM,uO),nPU.rf=function(n,t){var e,i,r,a,c;if(t.Ug("Random Layout",1),0==(n.a||(n.a=new LE(nNr,n,10,11)),n.a).i){t.Vg();return}i=(r=O2(ncR(n,(Y0(),n1P)),17))&&0!=r.a?new FV(r.a):new Yd,$d(a=PI(ncR(n,n1T))),$d(c=PI(ncR(n,n1C))),e=O2(ncR(n,n1E),107),function(n,t,e,i,r){var a,c,u,o,h,f,l,b,w,d,g,p,m,v,k,y,M,j,T,E;for(v=0,d=0,w=0,b=1,m=new E2((n.a||(n.a=new LE(nNr,n,10,11)),n.a));m.e!=m.i.gc();)b+=Fj(new Lc(Sb(nc7(g=O2(Z9(m),27)).a.Kc(),new s))),j=g.g,d=nPH.Math.max(d,j),l=g.f,w=nPH.Math.max(w,l),v+=j*l;for(c=v+2*i*i*b*(n.a||(n.a=new LE(nNr,n,10,11)),n.a).i,a=nPH.Math.sqrt(c),o=nPH.Math.max(a*e,d),u=nPH.Math.max(a/e,w),p=new E2((n.a||(n.a=new LE(nNr,n,10,11)),n.a));p.e!=p.i.gc();)g=O2(Z9(p),27),T=r.b+(nun(t,26)*ndn+nun(t,27)*ndt)*(o-g.g),E=r.b+(nun(t,26)*ndn+nun(t,27)*ndt)*(u-g.f),G2(g,T),G3(g,E);for(M=o+(r.b+r.c),y=u+(r.d+r.a),k=new E2((n.a||(n.a=new LE(nNr,n,10,11)),n.a));k.e!=k.i.gc();)for(f=new Lc(Sb(nc7(O2(Z9(k),27)).a.Kc(),new s));ncM(f);)nch(h=O2(_$(f),74))||function(n,t,e,i){var r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v,k,y,M,j,T,E,S,P,C,O,I,A,L,N,$;if(v=(p=O2(GA((n.b||(n.b=new CK(nL5,n,4,7)),n.b),0),84)).nh(),k=p.oh(),m=p.mh()/2,b=p.lh()/2,EM(p,193)&&(v+=xA(g=O2(p,123)).i+xA(g).i),v+=m,k+=b,P=(E=O2(GA((n.b||(n.b=new CK(nL5,n,4,7)),n.b),0),84)).nh(),C=E.oh(),S=E.mh()/2,y=E.lh()/2,EM(E,193)&&(P+=xA(T=O2(E,123)).i+xA(T).i),P+=S,C+=y,0==(n.a||(n.a=new LE(nL9,n,6,6)),n.a).i)my(),u=new u_,Hi((n.a||(n.a=new LE(nL9,n,6,6)),n.a),u);else if((n.a||(n.a=new LE(nL9,n,6,6)),n.a).i>1)for(l=new SW((n.a||(n.a=new LE(nL9,n,6,6)),n.a));l.e!=l.i.gc();)neq(l);for(c=O2(GA((n.a||(n.a=new LE(nL9,n,6,6)),n.a),0),166),w=P,P>v+m?w=v+m:Pk+b?d=k+b:Cv-m&&wk-b&&dP+S?M=P+S:vC+y?j=C+y:kP-S&&MC-y&&je&&(h=e-1),(f=L+nun(t,24)*ndi*s-s/2)<0?f=1:f>i&&(f=i-1),my(),G8(r=new uR,h),GY(r,f),Hi((c.a||(c.a=new EU(nL3,c,5)),c.a),r)}(h,t,M,y);nln(n,M+=r.b+r.c,y+=r.d+r.a,!1,!0)}(n,i,a,c,e),t.Vg()},NO(nkA,"RandomLayoutProvider",1108),ncy(240,1,{240:1},OL),nPU.Fb=function(n){return $x(this.a,O2(n,240).a)&&$x(this.b,O2(n,240).b)&&$x(this.c,O2(n,240).c)},nPU.Hb=function(){return W5(Vp(x2(nPu,1),nbe,1,5,[this.a,this.b,this.c]))},nPU.Ib=function(){return"("+this.a+nbn+this.b+nbn+this.c+")"},NO(nkA,"Triple",240),ncy(562,1,{}),nPU.Lf=function(){return new MH(this.f.i,this.f.j)},nPU.of=function(n){return xn(n,(nlH(),nYk))?ncR(this.f,n19):ncR(this.f,n)},nPU.Mf=function(){return new MH(this.f.g,this.f.f)},nPU.Nf=function(){return this.g},nPU.pf=function(n){return BJ(this.f,n)},nPU.Of=function(n){G2(this.f,n.a),G3(this.f,n.b)},nPU.Pf=function(n){G0(this.f,n.a),G1(this.f,n.b)},nPU.Qf=function(n){this.g=n},nPU.g=0,NO(njf,"ElkGraphAdapters/AbstractElkGraphElementAdapter",562),ncy(563,1,{853:1},ww),nPU.Rf=function(){var n,t;if(!this.b)for(this.b=KG($K(this.a).i),t=new E2($K(this.a));t.e!=t.i.gc();)n=O2(Z9(t),135),EB(this.b,new py(n));return this.b},nPU.b=null,NO(njf,"ElkGraphAdapters/ElkEdgeAdapter",563),ncy(289,562,{},pk),nPU.Sf=function(){return ntM(this)},nPU.a=null,NO(njf,"ElkGraphAdapters/ElkGraphAdapter",289),ncy(640,562,{187:1},py),NO(njf,"ElkGraphAdapters/ElkLabelAdapter",640),ncy(639,562,{695:1},Sq),nPU.Rf=function(){return function(n){var t,e;if(!n.b)for(n.b=KG(O2(n.f,27).kh().i),e=new E2(O2(n.f,27).kh());e.e!=e.i.gc();)t=O2(Z9(e),135),EB(n.b,new py(t));return n.b}(this)},nPU.Vf=function(){var n;return(n=O2(ncR(this.f,(nlH(),nJ2)),140))||(n=new gd),n},nPU.Xf=function(){return function(n){var t,e;if(!n.e)for(n.e=KG($F(O2(n.f,27)).i),e=new E2($F(O2(n.f,27)));e.e!=e.i.gc();)t=O2(Z9(e),123),EB(n.e,new wd(t));return n.e}(this)},nPU.Zf=function(n){var t;t=new Oz(n),nnb(this.f,(nlH(),nJ2),t)},nPU.$f=function(n){nnb(this.f,(nlH(),nYu),new OV(n))},nPU.Tf=function(){return this.d},nPU.Uf=function(){var n,t;if(!this.a)for(this.a=new du,t=new Lc(Sb(nc9(O2(this.f,27)).a.Kc(),new s));ncM(t);)n=O2(_$(t),74),EB(this.a,new ww(n));return this.a},nPU.Wf=function(){var n,t;if(!this.c)for(this.c=new du,t=new Lc(Sb(nc7(O2(this.f,27)).a.Kc(),new s));ncM(t);)n=O2(_$(t),74),EB(this.c,new ww(n));return this.c},nPU.Yf=function(){return 0!=Dx(O2(this.f,27)).i||pT(PO(O2(this.f,27).of((nlH(),nJQ))))},nPU._f=function(){var n;kv(),n=n18,CW(O2(O2(this.f,27).of((nlH(),nYy)),101))&&function(n,t){var e,i,r;for(PR(),HS(i=HU(n),0,i.length,t),e=0;e=0?this.Ah(t):this.Ph().Th(this,-1-e,null,t),t=this.Ch(null,-1,t))),this.di(n),t},nPU.gi=function(n){var t,e,i,r,a,c,u;if((a=Yy(e=this.Dh(),n))>=(t=this.ji()))return O2(n,69).wk().Dk(this,this.hi(),a-t);if(a<=-1){if(c=nfb((nr_(),n27),e,n)){if(kP(),O2(c,69).xk()||(c=RJ(Us(n27,c))),r=O2((i=this.Ih(c))>=0?this.Lh(i,!0,!0):naG(this,c,!0),160),(u=c.Ik())>1||-1==u)return O2(O2(r,220).Sl(n,!1),79)}else throw new pN(njP+n.xe()+njI).e}else if(n.Jk())return O2((i=this.Ih(n))>=0?this.Lh(i,!1,!0):naG(this,n,!1),79);return new jS(this,n)},nPU.hi=function(){return UM(this)},nPU.ii=function(){return(NR(),n2o).S},nPU.ji=function(){return NF(this.ii())},nPU.ki=function(n){nrN(this,n)},nPU.Ib=function(){return ncz(this)},NO(njD,"BasicEObjectImpl",99),ncy(119,99,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1}),nPU.li=function(n){return Uy(this)[n]},nPU.mi=function(n,t){NH(Uy(this),n,t)},nPU.ni=function(n){NH(Uy(this),n,null)},nPU.th=function(){return O2(z$(this,4),129)},nPU.uh=function(){throw(new dx).e},nPU.vh=function(){return(4&this.Db)!=0},nPU.zh=function(){throw(new dx).e},nPU.oi=function(n){ZM(this,2,n)},nPU.Bh=function(n,t){this.Db=t<<16|255&this.Db,this.oi(n)},nPU.Dh=function(){return xa(this)},nPU.Fh=function(){return this.Db>>16},nPU.Gh=function(){var n;return kT(),null==(n=xf(nhc(O2(z$(this,16),29)||this.ii())))?n2K:new SU(this,n)},nPU.wh=function(){return(1&this.Db)==0},nPU.Jh=function(){return O2(z$(this,128),2034)},nPU.Kh=function(){return O2(z$(this,16),29)},nPU.Oh=function(){return(32&this.Db)!=0},nPU.Ph=function(){return O2(z$(this,2),54)},nPU.Vh=function(){return(64&this.Db)!=0},nPU.$h=function(){throw(new dx).e},nPU._h=function(){return O2(z$(this,64),288)},nPU.ci=function(n){ZM(this,16,n)},nPU.di=function(n){ZM(this,128,n)},nPU.ei=function(n){ZM(this,64,n)},nPU.hi=function(){return Zy(this)},nPU.Db=0,NO(njD,"MinimalEObjectImpl",119),ncy(120,119,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),nPU.oi=function(n){this.Cb=n},nPU.Ph=function(){return this.Cb},NO(njD,"MinimalEObjectImpl/Container",120),ncy(2083,120,{110:1,342:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),nPU.Lh=function(n,t,e){return nt$(this,n,t,e)},nPU.Uh=function(n,t,e){return ni8(this,n,t,e)},nPU.Wh=function(n){return Kb(this,n)},nPU.bi=function(n,t){Wl(this,n,t)},nPU.ii=function(){return nlM(),n0f},nPU.ki=function(n){VL(this,n)},nPU.nf=function(){return Z5(this)},nPU.gh=function(){return this.o||(this.o=new Hb((nlM(),n0s),nNo,this,0)),this.o},nPU.of=function(n){return ncR(this,n)},nPU.pf=function(n){return BJ(this,n)},nPU.qf=function(n,t){return nnb(this,n,t)},NO(njx,"EMapPropertyHolderImpl",2083),ncy(572,120,{110:1,377:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},uR),nPU.Lh=function(n,t,e){switch(n){case 0:return this.a;case 1:return this.b}return nnm(this,n,t,e)},nPU.Wh=function(n){switch(n){case 0:return 0!=this.a;case 1:return 0!=this.b}return Z6(this,n)},nPU.bi=function(n,t){switch(n){case 0:G8(this,pE(PI(t)));return;case 1:GY(this,pE(PI(t)));return}nat(this,n,t)},nPU.ii=function(){return nlM(),n0t},nPU.ki=function(n){switch(n){case 0:G8(this,0);return;case 1:GY(this,0);return}nrN(this,n)},nPU.Ib=function(){var n;return(64&this.Db)!=0?ncz(this):(n=new Sm(ncz(this)),n.a+=" (x: ",mA(n,this.a),n.a+=", y: ",mA(n,this.b),n.a+=")",n.a)},nPU.a=0,nPU.b=0,NO(njx,"ElkBendPointImpl",572),ncy(739,2083,{110:1,342:1,167:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),nPU.Lh=function(n,t,e){return Jv(this,n,t,e)},nPU.Sh=function(n,t,e){return nij(this,n,t,e)},nPU.Uh=function(n,t,e){return z7(this,n,t,e)},nPU.Wh=function(n){return zB(this,n)},nPU.bi=function(n,t){neB(this,n,t)},nPU.ii=function(){return nlM(),n0a},nPU.ki=function(n){QL(this,n)},nPU.jh=function(){return this.k},nPU.kh=function(){return $K(this)},nPU.Ib=function(){return Jx(this)},nPU.k=null,NO(njx,"ElkGraphElementImpl",739),ncy(740,739,{110:1,342:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),nPU.Lh=function(n,t,e){return J8(this,n,t,e)},nPU.Wh=function(n){return Yl(this,n)},nPU.bi=function(n,t){neH(this,n,t)},nPU.ii=function(){return nlM(),n0h},nPU.ki=function(n){Yx(this,n)},nPU.lh=function(){return this.f},nPU.mh=function(){return this.g},nPU.nh=function(){return this.i},nPU.oh=function(){return this.j},nPU.ph=function(n,t){T_(this,n,t)},nPU.qh=function(n,t){TB(this,n,t)},nPU.rh=function(n){G2(this,n)},nPU.sh=function(n){G3(this,n)},nPU.Ib=function(){return nrc(this)},nPU.f=0,nPU.g=0,nPU.i=0,nPU.j=0,NO(njx,"ElkShapeImpl",740),ncy(741,740,{110:1,342:1,84:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),nPU.Lh=function(n,t,e){return nnV(this,n,t,e)},nPU.Sh=function(n,t,e){return neS(this,n,t,e)},nPU.Uh=function(n,t,e){return neP(this,n,t,e)},nPU.Wh=function(n){return Wa(this,n)},nPU.bi=function(n,t){ncO(this,n,t)},nPU.ii=function(){return nlM(),n0e},nPU.ki=function(n){nnl(this,n)},nPU.hh=function(){return this.d||(this.d=new CK(nL8,this,8,5)),this.d},nPU.ih=function(){return this.e||(this.e=new CK(nL8,this,7,4)),this.e},NO(njx,"ElkConnectableShapeImpl",741),ncy(326,739,{110:1,342:1,74:1,167:1,326:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},uF),nPU.Ah=function(n){return nea(this,n)},nPU.Lh=function(n,t,e){switch(n){case 3:return xI(this);case 4:return this.b||(this.b=new CK(nL5,this,4,7)),this.b;case 5:return this.c||(this.c=new CK(nL5,this,5,8)),this.c;case 6:return this.a||(this.a=new LE(nL9,this,6,6)),this.a;case 7:return SB(),this.b||(this.b=new CK(nL5,this,4,7)),!(this.b.i<=1)||(this.c||(this.c=new CK(nL5,this,5,8)),!(this.c.i<=1));case 8:return SB(),!!nch(this);case 9:return SB(),!!naK(this);case 10:return SB(),this.b||(this.b=new CK(nL5,this,4,7)),0!=this.b.i&&(this.c||(this.c=new CK(nL5,this,5,8)),0!=this.c.i)}return Jv(this,n,t,e)},nPU.Sh=function(n,t,e){var i;switch(t){case 3:return this.Cb&&(e=(i=this.Db>>16)>=0?nea(this,e):this.Cb.Th(this,-1-i,null,e)),P2(this,O2(n,27),e);case 4:return this.b||(this.b=new CK(nL5,this,4,7)),YX(this.b,n,e);case 5:return this.c||(this.c=new CK(nL5,this,5,8)),YX(this.c,n,e);case 6:return this.a||(this.a=new LE(nL9,this,6,6)),YX(this.a,n,e)}return nij(this,n,t,e)},nPU.Uh=function(n,t,e){switch(t){case 3:return P2(this,null,e);case 4:return this.b||(this.b=new CK(nL5,this,4,7)),nnp(this.b,n,e);case 5:return this.c||(this.c=new CK(nL5,this,5,8)),nnp(this.c,n,e);case 6:return this.a||(this.a=new LE(nL9,this,6,6)),nnp(this.a,n,e)}return z7(this,n,t,e)},nPU.Wh=function(n){switch(n){case 3:return!!xI(this);case 4:return!!this.b&&0!=this.b.i;case 5:return!!this.c&&0!=this.c.i;case 6:return!!this.a&&0!=this.a.i;case 7:return this.b||(this.b=new CK(nL5,this,4,7)),!(this.b.i<=1&&(this.c||(this.c=new CK(nL5,this,5,8)),this.c.i<=1));case 8:return nch(this);case 9:return naK(this);case 10:return this.b||(this.b=new CK(nL5,this,4,7)),0!=this.b.i&&(this.c||(this.c=new CK(nL5,this,5,8)),0!=this.c.i)}return zB(this,n)},nPU.bi=function(n,t){switch(n){case 3:nuh(this,O2(t,27));return;case 4:this.b||(this.b=new CK(nL5,this,4,7)),nfi(this.b),this.b||(this.b=new CK(nL5,this,4,7)),Nl(this.b,O2(t,16));return;case 5:this.c||(this.c=new CK(nL5,this,5,8)),nfi(this.c),this.c||(this.c=new CK(nL5,this,5,8)),Nl(this.c,O2(t,16));return;case 6:this.a||(this.a=new LE(nL9,this,6,6)),nfi(this.a),this.a||(this.a=new LE(nL9,this,6,6)),Nl(this.a,O2(t,16));return}neB(this,n,t)},nPU.ii=function(){return nlM(),n0i},nPU.ki=function(n){switch(n){case 3:nuh(this,null);return;case 4:this.b||(this.b=new CK(nL5,this,4,7)),nfi(this.b);return;case 5:this.c||(this.c=new CK(nL5,this,5,8)),nfi(this.c);return;case 6:this.a||(this.a=new LE(nL9,this,6,6)),nfi(this.a);return}QL(this,n)},nPU.Ib=function(){return nhX(this)},NO(njx,"ElkEdgeImpl",326),ncy(452,2083,{110:1,342:1,166:1,452:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},u_),nPU.Ah=function(n){return nt5(this,n)},nPU.Lh=function(n,t,e){switch(n){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return this.a||(this.a=new EU(nL3,this,5)),this.a;case 6:return xL(this);case 7:if(t)return nnK(this);return this.i;case 8:if(t)return nnR(this);return this.f;case 9:return this.g||(this.g=new CK(nL9,this,9,10)),this.g;case 10:return this.e||(this.e=new CK(nL9,this,10,9)),this.e;case 11:return this.d}return nt$(this,n,t,e)},nPU.Sh=function(n,t,e){var i;switch(t){case 6:return this.Cb&&(e=(i=this.Db>>16)>=0?nt5(this,e):this.Cb.Th(this,-1-i,null,e)),P0(this,O2(n,74),e);case 9:return this.g||(this.g=new CK(nL9,this,9,10)),YX(this.g,n,e);case 10:return this.e||(this.e=new CK(nL9,this,10,9)),YX(this.e,n,e)}return O2(Gr(O2(z$(this,16),29)||(nlM(),n0r),t),69).wk().zk(this,Zy(this),t-NF((nlM(),n0r)),n,e)},nPU.Uh=function(n,t,e){switch(t){case 5:return this.a||(this.a=new EU(nL3,this,5)),nnp(this.a,n,e);case 6:return P0(this,null,e);case 9:return this.g||(this.g=new CK(nL9,this,9,10)),nnp(this.g,n,e);case 10:return this.e||(this.e=new CK(nL9,this,10,9)),nnp(this.e,n,e)}return ni8(this,n,t,e)},nPU.Wh=function(n){switch(n){case 1:return 0!=this.j;case 2:return 0!=this.k;case 3:return 0!=this.b;case 4:return 0!=this.c;case 5:return!!this.a&&0!=this.a.i;case 6:return!!xL(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&0!=this.g.i;case 10:return!!this.e&&0!=this.e.i;case 11:return null!=this.d}return Kb(this,n)},nPU.bi=function(n,t){switch(n){case 1:G4(this,pE(PI(t)));return;case 2:G5(this,pE(PI(t)));return;case 3:GZ(this,pE(PI(t)));return;case 4:G6(this,pE(PI(t)));return;case 5:this.a||(this.a=new EU(nL3,this,5)),nfi(this.a),this.a||(this.a=new EU(nL3,this,5)),Nl(this.a,O2(t,16));return;case 6:nus(this,O2(t,74));return;case 7:q4(this,O2(t,84));return;case 8:q3(this,O2(t,84));return;case 9:this.g||(this.g=new CK(nL9,this,9,10)),nfi(this.g),this.g||(this.g=new CK(nL9,this,9,10)),Nl(this.g,O2(t,16));return;case 10:this.e||(this.e=new CK(nL9,this,10,9)),nfi(this.e),this.e||(this.e=new CK(nL9,this,10,9)),Nl(this.e,O2(t,16));return;case 11:Xa(this,PA(t));return}Wl(this,n,t)},nPU.ii=function(){return nlM(),n0r},nPU.ki=function(n){switch(n){case 1:G4(this,0);return;case 2:G5(this,0);return;case 3:GZ(this,0);return;case 4:G6(this,0);return;case 5:this.a||(this.a=new EU(nL3,this,5)),nfi(this.a);return;case 6:nus(this,null);return;case 7:q4(this,null);return;case 8:q3(this,null);return;case 9:this.g||(this.g=new CK(nL9,this,9,10)),nfi(this.g);return;case 10:this.e||(this.e=new CK(nL9,this,10,9)),nfi(this.e);return;case 11:Xa(this,null);return}VL(this,n)},nPU.Ib=function(){return nct(this)},nPU.b=0,nPU.c=0,nPU.d=null,nPU.j=0,nPU.k=0,NO(njx,"ElkEdgeSectionImpl",452),ncy(158,120,{110:1,94:1,93:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),nPU.Lh=function(n,t,e){return 0==n?(this.Ab||(this.Ab=new LE(n0V,this,0,3)),this.Ab):HP(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n),t,e)},nPU.Sh=function(n,t,e){return 0==t?(this.Ab||(this.Ab=new LE(n0V,this,0,3)),YX(this.Ab,n,e)):O2(Gr(O2(z$(this,16),29)||this.ii(),t),69).wk().zk(this,Zy(this),t-NF(this.ii()),n,e)},nPU.Uh=function(n,t,e){return 0==t?(this.Ab||(this.Ab=new LE(n0V,this,0,3)),nnp(this.Ab,n,e)):O2(Gr(O2(z$(this,16),29)||this.ii(),t),69).wk().Ak(this,Zy(this),t-NF(this.ii()),n,e)},nPU.Wh=function(n){return 0==n?!!this.Ab&&0!=this.Ab.i:Fo(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n))},nPU.Zh=function(n){return nf7(this,n)},nPU.bi=function(n,t){if(0===n){this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return}J7(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n),t)},nPU.di=function(n){ZM(this,128,n)},nPU.ii=function(){return nlz(),n2k},nPU.ki=function(n){if(0===n){this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return}Q2(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n))},nPU.pi=function(){this.Bb|=1},nPU.qi=function(n){return nsN(this,n)},nPU.Bb=0,NO(njD,"EModelElementImpl",158),ncy(720,158,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},hU),nPU.ri=function(n,t){return nf$(this,n,t)},nPU.si=function(n){var t,e,i,r;if(this.a!=GP(n)||(256&n.Bb)!=0)throw new pN(njH+n.zb+njF).e;for(e=xi(n);0!=FI(e.a).i;){if(ntj(t=O2(nfv(e,0,EM(r=O2(GA(FI(e.a),0),89).c,90)?O2(r,29):(nlz(),n2M)),29)))return O2(i=GP(t).wi().si(t),54).ci(n),i;e=xi(t)}return(null!=n.D?n.D:n.B)=="java.util.Map$Entry"?new IH(n):new Ig(n)},nPU.ti=function(n,t){return nlE(this,n,t)},nPU.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),this.Ab;case 1:return this.a}return HP(this,n-NF((nlz(),n2p)),Gr(O2(z$(this,16),29)||n2p,n),t,e)},nPU.Sh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),YX(this.Ab,n,e);case 1:return this.a&&(e=O2(this.a,54).Th(this,4,nNe,e)),QP(this,O2(n,241),e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2p),t),69).wk().zk(this,Zy(this),t-NF((nlz(),n2p)),n,e)},nPU.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),nnp(this.Ab,n,e);case 1:return QP(this,null,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2p),t),69).wk().Ak(this,Zy(this),t-NF((nlz(),n2p)),n,e)},nPU.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return!!this.a}return Fo(this,n-NF((nlz(),n2p)),Gr(O2(z$(this,16),29)||n2p,n))},nPU.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return;case 1:niZ(this,O2(t,241));return}J7(this,n-NF((nlz(),n2p)),Gr(O2(z$(this,16),29)||n2p,n),t)},nPU.ii=function(){return nlz(),n2p},nPU.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return;case 1:niZ(this,null);return}Q2(this,n-NF((nlz(),n2p)),Gr(O2(z$(this,16),29)||n2p,n))},NO(njD,"EFactoryImpl",720),ncy(1037,720,{110:1,2113:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},uB),nPU.ri=function(n,t){switch(n.hk()){case 12:return O2(t,149).Pg();case 13:return J6(t);default:throw new pN(njK+n.xe()+njF).e}},nPU.si=function(n){var t;switch(-1==n.G&&(n.G=(t=GP(n))?nny(t.vi(),n):-1),n.G){case 4:return new uH;case 6:return new gj;case 7:return new gT;case 8:return new uF;case 9:return new uR;case 10:return new u_;case 11:return new uU;default:throw new pN(njH+n.zb+njF).e}},nPU.ti=function(n,t){switch(n.hk()){case 13:case 12:return null;default:throw new pN(njK+n.xe()+njF).e}},NO(njx,"ElkGraphFactoryImpl",1037),ncy(448,158,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),nPU.Gh=function(){var n;return null==(n=xf(nhc(O2(z$(this,16),29)||this.ii())))?(kT(),kT(),n2K):new Pg(this,n)},nPU.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),this.Ab;case 1:return this.xe()}return HP(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n),t,e)},nPU.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb}return Fo(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n))},nPU.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return;case 1:this.ui(PA(t));return}J7(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n),t)},nPU.ii=function(){return nlz(),n2y},nPU.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return;case 1:this.ui(null);return}Q2(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n))},nPU.xe=function(){return this.zb},nPU.ui=function(n){XL(this,n)},nPU.Ib=function(){return Qz(this)},nPU.zb=null,NO(njD,"ENamedElementImpl",448),ncy(184,448,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},DC),nPU.Ah=function(n){return nen(this,n)},nPU.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return this.rb||(this.rb=new LN(this,n0Y,this)),this.rb;case 6:return this.vb||(this.vb=new CI(nNe,this,6,7)),this.vb;case 7:if(t)return this.Db>>16==7?O2(this.Cb,241):null;return xW(this)}return HP(this,n-NF((nlz(),n2E)),Gr(O2(z$(this,16),29)||n2E,n),t,e)},nPU.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),YX(this.Ab,n,e);case 4:return this.sb&&(e=O2(this.sb,54).Th(this,1,nNn,e)),QV(this,O2(n,480),e);case 5:return this.rb||(this.rb=new LN(this,n0Y,this)),YX(this.rb,n,e);case 6:return this.vb||(this.vb=new CI(nNe,this,6,7)),YX(this.vb,n,e);case 7:return this.Cb&&(e=(i=this.Db>>16)>=0?nen(this,e):this.Cb.Th(this,-1-i,null,e)),nsO(this,n,7,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2E),t),69).wk().zk(this,Zy(this),t-NF((nlz(),n2E)),n,e)},nPU.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),nnp(this.Ab,n,e);case 4:return QV(this,null,e);case 5:return this.rb||(this.rb=new LN(this,n0Y,this)),nnp(this.rb,n,e);case 6:return this.vb||(this.vb=new CI(nNe,this,6,7)),nnp(this.vb,n,e);case 7:return nsO(this,null,7,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2E),t),69).wk().Ak(this,Zy(this),t-NF((nlz(),n2E)),n,e)},nPU.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.yb;case 3:return null!=this.xb;case 4:return!!this.sb;case 5:return!!this.rb&&0!=this.rb.i;case 6:return!!this.vb&&0!=this.vb.i;case 7:return!!xW(this)}return Fo(this,n-NF((nlz(),n2E)),Gr(O2(z$(this,16),29)||n2E,n))},nPU.Zh=function(n){return function(n,t){var e,i,r,a,c,u;if(!n.tb){for(n.rb||(n.rb=new LN(n,n0Y,n)),u=new vH((a=n.rb).i),r=new E2(a);r.e!=r.i.gc();)c=(i=O2(Z9(r),142)).xe(),(e=O2(null==c?nr5(u.f,null,i):JN(u.i,c,i),142))&&(null==c?nr5(u.f,null,e):JN(u.i,c,e));n.tb=u}return O2(xp(n.tb,t),142)}(this,n)||nf7(this,n)},nPU.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return;case 1:XL(this,PA(t));return;case 2:X$(this,PA(t));return;case 3:XN(this,PA(t));return;case 4:ni9(this,O2(t,480));return;case 5:this.rb||(this.rb=new LN(this,n0Y,this)),nfi(this.rb),this.rb||(this.rb=new LN(this,n0Y,this)),Nl(this.rb,O2(t,16));return;case 6:this.vb||(this.vb=new CI(nNe,this,6,7)),nfi(this.vb),this.vb||(this.vb=new CI(nNe,this,6,7)),Nl(this.vb,O2(t,16));return}J7(this,n-NF((nlz(),n2E)),Gr(O2(z$(this,16),29)||n2E,n),t)},nPU.ei=function(n){var t,e;if(n&&this.rb)for(e=new E2(this.rb);e.e!=e.i.gc();)EM(t=Z9(e),364)&&(O2(t,364).w=null);ZM(this,64,n)},nPU.ii=function(){return nlz(),n2E},nPU.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return;case 1:XL(this,null);return;case 2:X$(this,null);return;case 3:XN(this,null);return;case 4:ni9(this,null);return;case 5:this.rb||(this.rb=new LN(this,n0Y,this)),nfi(this.rb);return;case 6:this.vb||(this.vb=new CI(nNe,this,6,7)),nfi(this.vb);return}Q2(this,n-NF((nlz(),n2E)),Gr(O2(z$(this,16),29)||n2E,n))},nPU.pi=function(){ntD(this)},nPU.vi=function(){return this.rb||(this.rb=new LN(this,n0Y,this)),this.rb},nPU.wi=function(){return this.sb},nPU.xi=function(){return this.ub},nPU.yi=function(){return this.xb},nPU.zi=function(){return this.yb},nPU.Ai=function(n){this.ub=n},nPU.Ib=function(){var n;return(64&this.Db)!=0?Qz(this):(n=new Sm(Qz(this)),n.a+=" (nsURI: ",jW(n,this.yb),n.a+=", nsPrefix: ",jW(n,this.xb),n.a+=")",n.a)},nPU.xb=null,nPU.yb=null,NO(njD,"EPackageImpl",184),ncy(569,184,{110:1,2115:1,569:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},ncg),nPU.q=!1,nPU.r=!1;var nNc=!1;NO(njx,"ElkGraphPackageImpl",569),ncy(366,740,{110:1,342:1,167:1,135:1,422:1,366:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},uH),nPU.Ah=function(n){return nt8(this,n)},nPU.Lh=function(n,t,e){switch(n){case 7:return xJ(this);case 8:return this.a}return J8(this,n,t,e)},nPU.Sh=function(n,t,e){var i;return 7===t?(this.Cb&&(e=(i=this.Db>>16)>=0?nt8(this,e):this.Cb.Th(this,-1-i,null,e)),AJ(this,O2(n,167),e)):nij(this,n,t,e)},nPU.Uh=function(n,t,e){return 7==t?AJ(this,null,e):z7(this,n,t,e)},nPU.Wh=function(n){switch(n){case 7:return!!xJ(this);case 8:return!Cq("",this.a)}return Yl(this,n)},nPU.bi=function(n,t){switch(n){case 7:nuS(this,O2(t,167));return;case 8:q6(this,PA(t));return}neH(this,n,t)},nPU.ii=function(){return nlM(),n0c},nPU.ki=function(n){switch(n){case 7:nuS(this,null);return;case 8:q6(this,"");return}Yx(this,n)},nPU.Ib=function(){return nrE(this)},nPU.a="",NO(njx,"ElkLabelImpl",366),ncy(207,741,{110:1,342:1,84:1,167:1,27:1,422:1,207:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},gj),nPU.Ah=function(n){return nec(this,n)},nPU.Lh=function(n,t,e){switch(n){case 9:return this.c||(this.c=new LE(nNa,this,9,9)),this.c;case 10:return this.a||(this.a=new LE(nNr,this,10,11)),this.a;case 11:return xY(this);case 12:return this.b||(this.b=new LE(nL8,this,12,3)),this.b;case 13:return SB(),this.a||(this.a=new LE(nNr,this,10,11)),this.a.i>0}return nnV(this,n,t,e)},nPU.Sh=function(n,t,e){var i;switch(t){case 9:return this.c||(this.c=new LE(nNa,this,9,9)),YX(this.c,n,e);case 10:return this.a||(this.a=new LE(nNr,this,10,11)),YX(this.a,n,e);case 11:return this.Cb&&(e=(i=this.Db>>16)>=0?nec(this,e):this.Cb.Th(this,-1-i,null,e)),CO(this,O2(n,27),e);case 12:return this.b||(this.b=new LE(nL8,this,12,3)),YX(this.b,n,e)}return neS(this,n,t,e)},nPU.Uh=function(n,t,e){switch(t){case 9:return this.c||(this.c=new LE(nNa,this,9,9)),nnp(this.c,n,e);case 10:return this.a||(this.a=new LE(nNr,this,10,11)),nnp(this.a,n,e);case 11:return CO(this,null,e);case 12:return this.b||(this.b=new LE(nL8,this,12,3)),nnp(this.b,n,e)}return neP(this,n,t,e)},nPU.Wh=function(n){switch(n){case 9:return!!this.c&&0!=this.c.i;case 10:return!!this.a&&0!=this.a.i;case 11:return!!xY(this);case 12:return!!this.b&&0!=this.b.i;case 13:return this.a||(this.a=new LE(nNr,this,10,11)),this.a.i>0}return Wa(this,n)},nPU.bi=function(n,t){switch(n){case 9:this.c||(this.c=new LE(nNa,this,9,9)),nfi(this.c),this.c||(this.c=new LE(nNa,this,9,9)),Nl(this.c,O2(t,16));return;case 10:this.a||(this.a=new LE(nNr,this,10,11)),nfi(this.a),this.a||(this.a=new LE(nNr,this,10,11)),Nl(this.a,O2(t,16));return;case 11:nug(this,O2(t,27));return;case 12:this.b||(this.b=new LE(nL8,this,12,3)),nfi(this.b),this.b||(this.b=new LE(nL8,this,12,3)),Nl(this.b,O2(t,16));return}ncO(this,n,t)},nPU.ii=function(){return nlM(),n0u},nPU.ki=function(n){switch(n){case 9:this.c||(this.c=new LE(nNa,this,9,9)),nfi(this.c);return;case 10:this.a||(this.a=new LE(nNr,this,10,11)),nfi(this.a);return;case 11:nug(this,null);return;case 12:this.b||(this.b=new LE(nL8,this,12,3)),nfi(this.b);return}nnl(this,n)},nPU.Ib=function(){return noz(this)},NO(njx,"ElkNodeImpl",207),ncy(193,741,{110:1,342:1,84:1,167:1,123:1,422:1,193:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},gT),nPU.Ah=function(n){return nt9(this,n)},nPU.Lh=function(n,t,e){return 9==n?xA(this):nnV(this,n,t,e)},nPU.Sh=function(n,t,e){var i;return 9===t?(this.Cb&&(e=(i=this.Db>>16)>=0?nt9(this,e):this.Cb.Th(this,-1-i,null,e)),P3(this,O2(n,27),e)):neS(this,n,t,e)},nPU.Uh=function(n,t,e){return 9==t?P3(this,null,e):neP(this,n,t,e)},nPU.Wh=function(n){return 9==n?!!xA(this):Wa(this,n)},nPU.bi=function(n,t){if(9===n){nuf(this,O2(t,27));return}ncO(this,n,t)},nPU.ii=function(){return nlM(),n0o},nPU.ki=function(n){if(9===n){nuf(this,null);return}nnl(this,n)},nPU.Ib=function(){return noV(this)},NO(njx,"ElkPortImpl",193);var nNu=IX(nj7,"BasicEMap/Entry");ncy(1122,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,119:1,120:1},uU),nPU.Fb=function(n){return this===n},nPU.ld=function(){return this.b},nPU.Hb=function(){return SK(this)},nPU.Di=function(n){q5(this,O2(n,149))},nPU.Lh=function(n,t,e){switch(n){case 0:return this.b;case 1:return this.c}return nnm(this,n,t,e)},nPU.Wh=function(n){switch(n){case 0:return!!this.b;case 1:return null!=this.c}return Z6(this,n)},nPU.bi=function(n,t){switch(n){case 0:q5(this,O2(t,149));return;case 1:qZ(this,t);return}nat(this,n,t)},nPU.ii=function(){return nlM(),n0s},nPU.ki=function(n){switch(n){case 0:q5(this,null);return;case 1:qZ(this,null);return}nrN(this,n)},nPU.Bi=function(){var n;return -1==this.a&&(n=this.b,this.a=n?XO(n):0),this.a},nPU.md=function(){return this.c},nPU.Ci=function(n){this.a=n},nPU.nd=function(n){var t;return t=this.c,qZ(this,n),t},nPU.Ib=function(){var n;return(64&this.Db)!=0?ncz(this):(jY(jY(jY(n=new p2,this.b?this.b.Pg():nbc),npH),Sp(this.c)),n.a)},nPU.a=-1,nPU.c=null;var nNo=NO(njx,"ElkPropertyToValueMapEntryImpl",1122);ncy(996,1,{},uX),NO(nTe,"JsonAdapter",996),ncy(216,63,nb2,p_),NO(nTe,"JsonImportException",216),ncy(868,1,{},nee),NO(nTe,"JsonImporter",868),ncy(903,1,{},jc),NO(nTe,"JsonImporter/lambda$0$Type",903),ncy(904,1,{},ju),NO(nTe,"JsonImporter/lambda$1$Type",904),ncy(912,1,{},wg),NO(nTe,"JsonImporter/lambda$10$Type",912),ncy(914,1,{},jo),NO(nTe,"JsonImporter/lambda$11$Type",914),ncy(915,1,{},js),NO(nTe,"JsonImporter/lambda$12$Type",915),ncy(921,1,{},Du),NO(nTe,"JsonImporter/lambda$13$Type",921),ncy(920,1,{},Do),NO(nTe,"JsonImporter/lambda$14$Type",920),ncy(916,1,{},jh),NO(nTe,"JsonImporter/lambda$15$Type",916),ncy(917,1,{},jf),NO(nTe,"JsonImporter/lambda$16$Type",917),ncy(918,1,{},jl),NO(nTe,"JsonImporter/lambda$17$Type",918),ncy(919,1,{},jb),NO(nTe,"JsonImporter/lambda$18$Type",919),ncy(924,1,{},wp),NO(nTe,"JsonImporter/lambda$19$Type",924),ncy(905,1,{},wm),NO(nTe,"JsonImporter/lambda$2$Type",905),ncy(922,1,{},wv),NO(nTe,"JsonImporter/lambda$20$Type",922),ncy(923,1,{},wk),NO(nTe,"JsonImporter/lambda$21$Type",923),ncy(927,1,{},wy),NO(nTe,"JsonImporter/lambda$22$Type",927),ncy(925,1,{},wM),NO(nTe,"JsonImporter/lambda$23$Type",925),ncy(926,1,{},wj),NO(nTe,"JsonImporter/lambda$24$Type",926),ncy(929,1,{},wT),NO(nTe,"JsonImporter/lambda$25$Type",929),ncy(928,1,{},wE),NO(nTe,"JsonImporter/lambda$26$Type",928),ncy(930,1,nbS,jw),nPU.Cd=function(n){var t,e,i,r,a;t=this.b,e=this.a,r=xF(t,i=PA(n)),a=null,r&&(a=nr$(r)),ZH(e,i,a)},NO(nTe,"JsonImporter/lambda$27$Type",930),ncy(931,1,nbS,jd),nPU.Cd=function(n){var t,e,i,r,a;t=this.b,e=this.a,r=xF(t,i=PA(n)),a=null,r&&(a=nr$(r)),ZH(e,i,a)},NO(nTe,"JsonImporter/lambda$28$Type",931),ncy(932,1,{},jg),NO(nTe,"JsonImporter/lambda$29$Type",932),ncy(908,1,{},wS),NO(nTe,"JsonImporter/lambda$3$Type",908),ncy(933,1,{},jp),NO(nTe,"JsonImporter/lambda$30$Type",933),ncy(934,1,{},wP),NO(nTe,"JsonImporter/lambda$31$Type",934),ncy(935,1,{},wC),NO(nTe,"JsonImporter/lambda$32$Type",935),ncy(936,1,{},wO),NO(nTe,"JsonImporter/lambda$33$Type",936),ncy(937,1,{},wI),NO(nTe,"JsonImporter/lambda$34$Type",937),ncy(870,1,{},wA),NO(nTe,"JsonImporter/lambda$35$Type",870),ncy(941,1,{},OD),NO(nTe,"JsonImporter/lambda$36$Type",941),ncy(938,1,nbS,wL),nPU.Cd=function(n){var t,e,i;t=this.a,e=O2(n,377),DF(i=new pl,"x",e.a),DF(i,"y",e.b),NW(t,i)},NO(nTe,"JsonImporter/lambda$37$Type",938),ncy(939,1,nbS,jv),nPU.Cd=function(n){var t;t=this.a,neK(this.b,nrq(t,O2(n,166)))},NO(nTe,"JsonImporter/lambda$38$Type",939),ncy(940,1,nbS,jk),nPU.Cd=function(n){var t;t=this.a,neK(this.b,nrq(t,O2(n,166)))},NO(nTe,"JsonImporter/lambda$39$Type",940),ncy(906,1,{},wN),NO(nTe,"JsonImporter/lambda$4$Type",906),ncy(942,1,nbS,w$),nPU.Cd=function(n){var t,e,i;t=this.a,e=O2(n,8),DF(i=new pl,"x",e.a),DF(i,"y",e.b),NW(t,i)},NO(nTe,"JsonImporter/lambda$40$Type",942),ncy(907,1,{},wD),NO(nTe,"JsonImporter/lambda$5$Type",907),ncy(911,1,{},wx),NO(nTe,"JsonImporter/lambda$6$Type",911),ncy(909,1,{},wR),NO(nTe,"JsonImporter/lambda$7$Type",909),ncy(910,1,{},wK),NO(nTe,"JsonImporter/lambda$8$Type",910),ncy(913,1,{},wF),NO(nTe,"JsonImporter/lambda$9$Type",913),ncy(961,1,nbS,w_),nPU.Cd=function(n){NW(this.a,new NL(PA(n)))},NO(nTe,"JsonMetaDataConverter/lambda$0$Type",961),ncy(962,1,nbS,wB),nPU.Cd=function(n){var t;NW(this.a,new NL(null!=(t=O2(n,245)).f?t.f:""+t.g))},NO(nTe,"JsonMetaDataConverter/lambda$1$Type",962),ncy(963,1,nbS,wH),nPU.Cd=function(n){var t,e;t=this.a,null!=(e=O2(n,143)).c&&NW(t,new NL(e.c))},NO(nTe,"JsonMetaDataConverter/lambda$2$Type",963),ncy(964,1,nbS,wU),nPU.Cd=function(n){var t;NW(this.a,new NL(null!=(t=O2(n,170)).f?t.f:""+t.g))},NO(nTe,"JsonMetaDataConverter/lambda$3$Type",964),ncy(245,22,{3:1,34:1,22:1,245:1},jy);var nNs=qs(ngp,"GraphFeature",245,nPg,function(){return ncp(),Vp(x2(nNs,1),nbz,245,0,[n0T,n0y,n0M,n0k,n0j,n0m,n0p,n0v])},function(n){return ncp(),qo((zm(),n0E),n)});ncy(11,1,{34:1,149:1},wX,P7,Tu,TZ),nPU.Fd=function(n){var t;return t=O2(n,149),_Z(this.b,t.Pg())},nPU.Fb=function(n){return xn(this,n)},nPU.Sg=function(){return Z8(this)},nPU.Pg=function(){return this.b},nPU.Hb=function(){return Wg(this.b)},nPU.Ib=function(){return this.b},NO(ngp,"Property",11),ncy(671,1,ndj,wG),nPU.Ne=function(n,t){var e,i,r,a;return e=O2(n,96),i=O2(t,96),r=O2(e.of(this.a),34),a=O2(i.of(this.a),34),null!=r&&null!=a?zt(r,a):null!=r?-1:null!=a?1:0},nPU.Fb=function(n){return this===n},nPU.Oe=function(){return new fz(this)},NO(ngp,"PropertyHolderComparator",671),ncy(709,1,nbf,wq),nPU.Nb=function(n){L_(this,n)},nPU.Pb=function(){return function(n){var t;if(!n.a)throw(new Dc).e;return t=n.a,n.a=xY(n.a),t}(this)},nPU.Qb=function(){mx()},nPU.Ob=function(){return!!this.a},NO(nTg,"ElkGraphUtil/AncestorIterator",709);var nNh=IX(nj7,"EList");ncy(70,56,{20:1,31:1,56:1,16:1,15:1,70:1,61:1}),nPU.bd=function(n,t){Jh(this,n,t)},nPU.Fc=function(n){return Hi(this,n)},nPU.cd=function(n,t){return VN(this,n,t)},nPU.Gc=function(n){return Nl(this,n)},nPU.Ii=function(){return new SQ(this)},nPU.Ji=function(){return new SJ(this)},nPU.Ki=function(n){return qC(this,n)},nPU.Li=function(){return!0},nPU.Mi=function(n,t){},nPU.Ni=function(){},nPU.Oi=function(n,t){B2(this,n,t)},nPU.Pi=function(n,t,e){},nPU.Qi=function(n,t){},nPU.Ri=function(n,t,e){},nPU.Fb=function(n){return nok(this,n)},nPU.Hb=function(){return Vd(this)},nPU.Si=function(){return!1},nPU.Kc=function(){return new E2(this)},nPU.ed=function(){return new SW(this)},nPU.fd=function(n){var t;if(t=this.gc(),n<0||n>t)throw new CB(n,t).e;return new L6(this,n)},nPU.Ui=function(n,t){this.Ti(n,this.dd(t))},nPU.Mc=function(n){return UI(this,n)},nPU.Wi=function(n,t){return t},nPU.hd=function(n,t){return nnM(this,n,t)},nPU.Ib=function(){return Ya(this)},nPU.Yi=function(){return!0},nPU.Zi=function(n,t){return Wd(this,t)},NO(nj7,"AbstractEList",70),ncy(66,70,nTy,uW,GT,za),nPU.Ei=function(n,t){return niT(this,n,t)},nPU.Fi=function(n){return nn8(this,n)},nPU.Gi=function(n,t){QJ(this,n,t)},nPU.Hi=function(n){_U(this,n)},nPU.$i=function(n){return Hj(this,n)},nPU.$b=function(){_G(this)},nPU.Hc=function(n){return neA(this,n)},nPU.Xb=function(n){return GA(this,n)},nPU._i=function(n){var t,e,i;++this.j,n>(e=null==this.g?0:this.g.length)&&(i=this.g,(t=e+(e/2|0)+4)=0&&(this.gd(t),!0)},nPU.Xi=function(n,t){return this.Dj(n,this.Zi(n,t))},nPU.gc=function(){return this.Ej()},nPU.Pc=function(){return this.Fj()},nPU.Qc=function(n){return this.Gj(n)},nPU.Ib=function(){return this.Hj()},NO(nj7,"DelegatingEList",2093),ncy(2094,2093,nEt),nPU.Ei=function(n,t){return nsz(this,n,t)},nPU.Fi=function(n){return this.Ei(this.Ej(),n)},nPU.Gi=function(n,t){ncm(this,n,t)},nPU.Hi=function(n){na8(this,n)},nPU.Li=function(){return!this.Mj()},nPU.$b=function(){nfu(this)},nPU.Ij=function(n,t,e,i,r){return new D9(this,n,t,e,i,r)},nPU.Jj=function(n){zI(this.jj(),n)},nPU.Kj=function(){return null},nPU.Lj=function(){return -1},nPU.jj=function(){return null},nPU.Mj=function(){return!1},nPU.Nj=function(n,t){return t},nPU.Oj=function(n,t){return t},nPU.Pj=function(){return!1},nPU.Qj=function(){return!this.Aj()},nPU.Ti=function(n,t){var e,i;return this.Pj()?(i=this.Qj(),e=niQ(this,n,t),this.Jj(this.Ij(7,QR(t),e,n,i)),e):niQ(this,n,t)},nPU.gd=function(n){var t,e,i,r;return this.Pj()?(e=null,i=this.Qj(),t=this.Ij(4,r=Iz(this,n),null,n,i),this.Mj()&&r?(e=this.Oj(r,e))?(e.nj(t),e.oj()):this.Jj(t):e?(e.nj(t),e.oj()):this.Jj(t)):(r=Iz(this,n),this.Mj()&&r&&(e=this.Oj(r,null))&&e.oj()),r},nPU.Xi=function(n,t){return nsV(this,n,t)},NO(njS,"DelegatingNotifyingListImpl",2094),ncy(152,1,nEe),nPU.nj=function(n){return ne8(this,n)},nPU.oj=function(){Ur(this)},nPU.gj=function(){return this.d},nPU.Kj=function(){return null},nPU.Rj=function(){return null},nPU.hj=function(n){return -1},nPU.ij=function(){return nuY(this)},nPU.jj=function(){return null},nPU.kj=function(){return nuZ(this)},nPU.lj=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},nPU.Sj=function(){return!1},nPU.mj=function(n){var t,e,i,r,a,c,u,o;switch(this.d){case 1:case 2:switch(n.gj()){case 1:case 2:if(jR(n.jj())===jR(this.jj())&&this.hj(null)==n.hj(null))return this.g=n.ij(),1==n.gj()&&(this.d=1),!0}case 4:if(4===n.gj()&&jR(n.jj())===jR(this.jj())&&this.hj(null)==n.hj(null))return(c=nfm(this),a=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,i=n.lj(),this.d=6,o=new GT(2),a<=i)?(Hi(o,this.n),Hi(o,n.kj()),this.g=Vp(x2(n4f,1),nwd,28,15,[this.o=a,i+1])):(Hi(o,n.kj()),Hi(o,this.n),this.g=Vp(x2(n4f,1),nwd,28,15,[this.o=i,a])),this.n=o,c||(this.o=-2-this.o-1),!0;break;case 6:if(4===n.gj()&&jR(n.jj())===jR(this.jj())&&this.hj(null)==n.hj(null)){for(c=nfm(this),i=n.lj(),e=B0(n4f,nwd,28,(u=O2(this.g,53)).length+1,15,1),t=0;t>>0).toString(16)),e.a+=" (eventType: ",this.d){case 1:e.a+="SET";break;case 2:e.a+="UNSET";break;case 3:e.a+="ADD";break;case 5:e.a+="ADD_MANY";break;case 4:e.a+="REMOVE";break;case 6:e.a+="REMOVE_MANY";break;case 7:e.a+="MOVE";break;case 8:e.a+="REMOVING_ADAPTER";break;case 9:e.a+="RESOLVE";break;default:i=this.d,e.a+=i}if(no9(this)&&(e.a+=", touch: true"),e.a+=", position: ",r=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,e.a+=r,e.a+=", notifier: ",jV(e,this.jj()),e.a+=", feature: ",jV(e,this.Kj()),e.a+=", oldValue: ",jV(e,nuZ(this)),e.a+=", newValue: ",6==this.d&&EM(this.g,53)){for(t=O2(this.g,53),e.a+="[",n=0;n10?(this.b&&this.c.j==this.a||(this.b=new Aa(this),this.a=this.j),vF(this.b,n)):neA(this,n)},nPU.Yi=function(){return!0},nPU.a=0,NO(nj7,"AbstractEList/1",966),ncy(302,77,nwF,CB),NO(nj7,"AbstractEList/BasicIndexOutOfBoundsException",302),ncy(37,1,nbf,E2),nPU.Nb=function(n){L_(this,n)},nPU.Xj=function(){if(this.i.j!=this.f)throw(new dR).e},nPU.Yj=function(){return Z9(this)},nPU.Ob=function(){return this.e!=this.i.gc()},nPU.Pb=function(){return this.Yj()},nPU.Qb=function(){neq(this)},nPU.e=0,nPU.f=0,nPU.g=-1,NO(nj7,"AbstractEList/EIterator",37),ncy(286,37,nbv,SW,L6),nPU.Qb=function(){neq(this)},nPU.Rb=function(n){YF(this,n)},nPU.Zj=function(){var n;try{return n=this.d.Xb(--this.e),this.Xj(),this.g=this.e,n}catch(n){if(EM(n=Vr(n),77))throw this.Xj(),(new dF).e;throw n.e}},nPU.$j=function(n){ntt(this,n)},nPU.Sb=function(){return 0!=this.e},nPU.Tb=function(){return this.e},nPU.Ub=function(){return this.Zj()},nPU.Vb=function(){return this.e-1},nPU.Wb=function(n){this.$j(n)},NO(nj7,"AbstractEList/EListIterator",286),ncy(355,37,nbf,SQ),nPU.Yj=function(){return Z7(this)},nPU.Qb=function(){throw(new dx).e},NO(nj7,"AbstractEList/NonResolvingEIterator",355),ncy(398,286,nbv,SJ,CQ),nPU.Rb=function(n){throw(new dx).e},nPU.Yj=function(){var n;try{return n=this.c.Vi(this.e),this.Xj(),this.g=this.e++,n}catch(n){if(EM(n=Vr(n),77))throw this.Xj(),(new dF).e;throw n.e}},nPU.Zj=function(){var n;try{return n=this.c.Vi(--this.e),this.Xj(),this.g=this.e,n}catch(n){if(EM(n=Vr(n),77))throw this.Xj(),(new dF).e;throw n.e}},nPU.Qb=function(){throw(new dx).e},nPU.Wb=function(n){throw(new dx).e},NO(nj7,"AbstractEList/NonResolvingEListIterator",398),ncy(2080,70,nEa),nPU.Ei=function(n,t){var e,i,r,a,c,u,o,s,h;if(0==(i=t.gc()))return++this.j,!1;for(e=WD(this,(s=null==(o=O2(z$(this.a,4),129))?0:o.length)+i),(h=s-n)>0&&ns7(o,n,e,n+i,h),u=t.Kc(),a=0;ae)throw new CB(n,e).e;return new $X(this,n)},nPU.$b=function(){var n,t;++this.j,t=null==(n=O2(z$(this.a,4),129))?0:n.length,ZX(this,null),B2(this,t,n)},nPU.Hc=function(n){var t,e,i,r;if(null!=(t=O2(z$(this.a,4),129))){if(null!=n){for(i=0,r=(e=t).length;i=(e=null==(t=O2(z$(this.a,4),129))?0:t.length))throw new CB(n,e).e;return t[n]},nPU.dd=function(n){var t,e,i;if(null!=(t=O2(z$(this.a,4),129))){if(null!=n){for(e=0,i=t.length;ee)throw new CB(n,e).e;return new $q(this,n)},nPU.Ti=function(n,t){var e,i,r;if(n>=(r=null==(e=Zr(this))?0:e.length))throw new pO(nTm+n+nTv+r).e;if(t>=r)throw new pO(nTk+t+nTv+r).e;return i=e[t],n!=t&&(n=(c=null==(e=O2(z$(n.a,4),129))?0:e.length))throw new CB(t,c).e;return r=e[t],1==c?i=null:(ns7(e,0,i=B0(nNw,nEr,424,c-1,0,1),0,t),(a=c-t-1)>0&&ns7(e,t+1,i,t,a)),ZX(n,i),nr6(n,t,r),r}(this,n)},nPU.Xi=function(n,t){var e,i;return i=(e=Zr(this))[n],NH(e,n,Wd(this,t)),ZX(this,e),i},nPU.gc=function(){var n;return null==(n=O2(z$(this.a,4),129))?0:n.length},nPU.Pc=function(){var n,t,e;return t=B0(nNw,nEr,424,e=null==(n=O2(z$(this.a,4),129))?0:n.length,0,1),e>0&&ns7(n,0,t,0,e),t},nPU.Qc=function(n){var t,e;return(e=null==(t=O2(z$(this.a,4),129))?0:t.length)>0&&(n.lengthe&&NH(n,e,null),n},NO(nj7,"ArrayDelegatingEList",2080),ncy(1051,37,nbf,_T),nPU.Xj=function(){if(this.b.j!=this.f||jR(O2(z$(this.b.a,4),129))!==jR(this.a))throw(new dR).e},nPU.Qb=function(){neq(this),this.a=O2(z$(this.b.a,4),129)},NO(nj7,"ArrayDelegatingEList/EIterator",1051),ncy(722,286,nbv,LA,$q),nPU.Xj=function(){if(this.b.j!=this.f||jR(O2(z$(this.b.a,4),129))!==jR(this.a))throw(new dR).e},nPU.$j=function(n){ntt(this,n),this.a=O2(z$(this.b.a,4),129)},nPU.Qb=function(){neq(this),this.a=O2(z$(this.b.a,4),129)},NO(nj7,"ArrayDelegatingEList/EListIterator",722),ncy(1052,355,nbf,_E),nPU.Xj=function(){if(this.b.j!=this.f||jR(O2(z$(this.b.a,4),129))!==jR(this.a))throw(new dR).e},NO(nj7,"ArrayDelegatingEList/NonResolvingEIterator",1052),ncy(723,398,nbv,LL,$X),nPU.Xj=function(){if(this.b.j!=this.f||jR(O2(z$(this.b.a,4),129))!==jR(this.a))throw(new dR).e},NO(nj7,"ArrayDelegatingEList/NonResolvingEListIterator",723),ncy(615,302,nwF,Tc),NO(nj7,"BasicEList/BasicIndexOutOfBoundsException",615),ncy(710,66,nTy,jN),nPU.bd=function(n,t){throw(new dx).e},nPU.Fc=function(n){throw(new dx).e},nPU.cd=function(n,t){throw(new dx).e},nPU.Gc=function(n){throw(new dx).e},nPU.$b=function(){throw(new dx).e},nPU._i=function(n){throw(new dx).e},nPU.Kc=function(){return this.Ii()},nPU.ed=function(){return this.Ji()},nPU.fd=function(n){return this.Ki(n)},nPU.Ti=function(n,t){throw(new dx).e},nPU.Ui=function(n,t){throw(new dx).e},nPU.gd=function(n){throw(new dx).e},nPU.Mc=function(n){throw(new dx).e},nPU.hd=function(n,t){throw(new dx).e},NO(nj7,"BasicEList/UnmodifiableEList",710),ncy(721,1,{3:1,20:1,16:1,15:1,61:1,597:1}),nPU.bd=function(n,t){!function(n,t,e){n.c.bd(t,O2(e,136))}(this,n,O2(t,44))},nPU.Fc=function(n){var t;return t=O2(n,44),this.c.Fc(O2(t,136))},nPU.Jc=function(n){_o(this,n)},nPU.Xb=function(n){return O2(GA(this.c,n),136)},nPU.Ti=function(n,t){return O2(this.c.Ti(n,t),44)},nPU.Ui=function(n,t){!function(n,t,e){n.c.Ui(t,O2(e,136))}(this,n,O2(t,44))},nPU.Lc=function(){return new As(null,new RF(this,16))},nPU.gd=function(n){return O2(this.c.gd(n),44)},nPU.hd=function(n,t){var e;return e=O2(t,44),O2(this.c.hd(n,O2(e,136)),44)},nPU.jd=function(n){Xy(this,n)},nPU.Nc=function(){return new RF(this,16)},nPU.Oc=function(){return new As(null,new RF(this,16))},nPU.cd=function(n,t){return this.c.cd(n,t)},nPU.Gc=function(n){return this.c.Gc(n)},nPU.$b=function(){this.c.$b()},nPU.Hc=function(n){return this.c.Hc(n)},nPU.Ic=function(n){return Ve(this.c,n)},nPU._j=function(){var n,t;if(null==this.d){for(this.d=B0(nNf,nEc,66,2*this.f+1,0,1),t=this.e,this.f=0,n=this.c.Kc();n.e!=n.i.gc();)nn_(this,O2(n.Yj(),136));this.e=t}},nPU.Fb=function(n){return C3(this,n)},nPU.Hb=function(){return Vd(this.c)},nPU.dd=function(n){return this.c.dd(n)},nPU.ak=function(){this.c=new wz(this)},nPU.dc=function(){return 0==this.f},nPU.Kc=function(){return this.c.Kc()},nPU.ed=function(){return this.c.ed()},nPU.fd=function(n){return this.c.fd(n)},nPU.bk=function(){return BZ(this)},nPU.ck=function(n,t,e){return new Ox(n,t,e)},nPU.dk=function(){return new uJ},nPU.Mc=function(n){return qS(this,n)},nPU.gc=function(){return this.f},nPU.kd=function(n,t){return new RE(this.c,n,t)},nPU.Pc=function(){return this.c.Pc()},nPU.Qc=function(n){return this.c.Qc(n)},nPU.Ib=function(){return Ya(this.c)},nPU.e=0,nPU.f=0,NO(nj7,"BasicEMap",721),ncy(1046,66,nTy,wz),nPU.Mi=function(n,t){var e;e=O2(t,136),nn_(this.a,e)},nPU.Pi=function(n,t,e){++(O2(t,136),this).a.e},nPU.Qi=function(n,t){var e;e=O2(t,136),Jy(this.a,e)},nPU.Ri=function(n,t,e){var i,r;i=O2(t,136),r=O2(e,136),Jy(this.a,r),nn_(this.a,i)},nPU.Oi=function(n,t){zN(this.a)},NO(nj7,"BasicEMap/1",1046),ncy(1047,66,nTy,uJ),nPU.aj=function(n){return B0(nNg,nEu,621,n,0,1)},NO(nj7,"BasicEMap/2",1047),ncy(1048,2063,nbd,wV),nPU.$b=function(){this.a.c.$b()},nPU.Hc=function(n){return Y$(this.a,n)},nPU.Kc=function(){return 0==this.a.f?(PR(),n0I.a):new md(this.a)},nPU.Mc=function(n){var t;return t=this.a.f,Zd(this.a,n),this.a.f!=t},nPU.gc=function(){return this.a.f},NO(nj7,"BasicEMap/3",1048),ncy(1049,31,nbw,wW),nPU.$b=function(){this.a.c.$b()},nPU.Hc=function(n){return noy(this.a,n)},nPU.Kc=function(){return 0==this.a.f?(PR(),n0I.a):new mg(this.a)},nPU.gc=function(){return this.a.f},NO(nj7,"BasicEMap/4",1049),ncy(1050,2063,nbd,wQ),nPU.$b=function(){this.a.c.$b()},nPU.Hc=function(n){var t,e,i,r,a,c,u,o,s;if(this.a.f>0&&EM(n,44)&&(this.a._j(),r=null==(u=(o=O2(n,44)).ld())?0:XO(u),a=P6(this.a,r),t=this.a.d[a])){for(c=0,e=O2(t.g,379),s=t.i;c0&&EM(e,44)&&(t.a._j(),c=null==(s=(h=O2(e,44)).ld())?0:XO(s),u=P6(t.a,c),i=t.a.d[u])){for(o=0,r=O2(i.g,379),f=i.i;o"+this.c},nPU.a=0;var nNg=NO(nj7,"BasicEMap/EntryImpl",621);ncy(546,1,{},uY),NO(nj7,"BasicEMap/View",546),ncy(783,1,{}),nPU.Fb=function(n){return ncI((DL(),nCH),n)},nPU.Hb=function(){return We((DL(),nCH))},nPU.Ib=function(){return niJ((DL(),nCH))},NO(nj7,"ECollections/BasicEmptyUnmodifiableEList",783),ncy(1348,1,nbv,uZ),nPU.Nb=function(n){L_(this,n)},nPU.Rb=function(n){throw(new dx).e},nPU.Ob=function(){return!1},nPU.Sb=function(){return!1},nPU.Pb=function(){throw(new dF).e},nPU.Tb=function(){return 0},nPU.Ub=function(){throw(new dF).e},nPU.Vb=function(){return -1},nPU.Qb=function(){throw(new dx).e},nPU.Wb=function(n){throw(new dx).e},NO(nj7,"ECollections/BasicEmptyUnmodifiableEList/1",1348),ncy(1346,783,{20:1,16:1,15:1,61:1},gS),nPU.bd=function(n,t){m0()},nPU.Fc=function(n){return m2()},nPU.cd=function(n,t){return m3()},nPU.Gc=function(n){return m4()},nPU.$b=function(){m6()},nPU.Hc=function(n){return!1},nPU.Ic=function(n){return!1},nPU.Jc=function(n){_o(this,n)},nPU.Xb=function(n){return j8((DL(),n)),null},nPU.dd=function(n){return -1},nPU.dc=function(){return!0},nPU.Kc=function(){return this.a},nPU.ed=function(){return this.a},nPU.fd=function(n){return this.a},nPU.Ti=function(n,t){return m5()},nPU.Ui=function(n,t){m8()},nPU.Lc=function(){return new As(null,new RF(this,16))},nPU.gd=function(n){return m9()},nPU.Mc=function(n){return m7()},nPU.hd=function(n,t){return vn()},nPU.gc=function(){return 0},nPU.jd=function(n){Xy(this,n)},nPU.Nc=function(){return new RF(this,16)},nPU.Oc=function(){return new As(null,new RF(this,16))},nPU.kd=function(n,t){return DL(),new RE(nCH,n,t)},nPU.Pc=function(){return A8((DL(),nCH))},nPU.Qc=function(n){return DL(),nte(nCH,n)},NO(nj7,"ECollections/EmptyUnmodifiableEList",1346),ncy(1347,783,{20:1,16:1,15:1,61:1,597:1},gP),nPU.bd=function(n,t){m0()},nPU.Fc=function(n){return m2()},nPU.cd=function(n,t){return m3()},nPU.Gc=function(n){return m4()},nPU.$b=function(){m6()},nPU.Hc=function(n){return!1},nPU.Ic=function(n){return!1},nPU.Jc=function(n){_o(this,n)},nPU.Xb=function(n){return j8((DL(),n)),null},nPU.dd=function(n){return -1},nPU.dc=function(){return!0},nPU.Kc=function(){return this.a},nPU.ed=function(){return this.a},nPU.fd=function(n){return this.a},nPU.Ti=function(n,t){return m5()},nPU.Ui=function(n,t){m8()},nPU.Lc=function(){return new As(null,new RF(this,16))},nPU.gd=function(n){return m9()},nPU.Mc=function(n){return m7()},nPU.hd=function(n,t){return vn()},nPU.gc=function(){return 0},nPU.jd=function(n){Xy(this,n)},nPU.Nc=function(){return new RF(this,16)},nPU.Oc=function(){return new As(null,new RF(this,16))},nPU.kd=function(n,t){return DL(),new RE(nCH,n,t)},nPU.Pc=function(){return A8((DL(),nCH))},nPU.Qc=function(n){return DL(),nte(nCH,n)},nPU.bk=function(){return DL(),DL(),nCU},NO(nj7,"ECollections/EmptyUnmodifiableEMap",1347);var nNp=IX(nj7,"Enumerator");ncy(288,1,{288:1},noS),nPU.Fb=function(n){var t,e,i;return this===n||!!EM(n,288)&&(t=O2(n,288),this.f==t.f&&(e=this.i,i=t.i,null==e?null==i:ZE(e,i))&&Ab(this.a,(256&this.f)!=0?(256&t.f)!=0?t.a:null:(256&t.f)!=0?null:t.a)&&Ab(this.d,t.d)&&Ab(this.g,t.g)&&Ab(this.e,t.e)&&function(n,t){var e,i;if(n.j.length!=t.j.length)return!1;for(e=0,i=n.j.length;e=0?n.ki(e):nag(n,t)},NO(njD,"BasicEObjectImpl/4",1040),ncy(2081,1,{114:1}),nPU.Mk=function(n){this.e=0==n?n2L:B0(nPu,nbe,1,n,5,1)},nPU.li=function(n){return this.e[n]},nPU.mi=function(n,t){this.e[n]=t},nPU.ni=function(n){this.e[n]=null},nPU.Nk=function(){return this.c},nPU.Ok=function(){throw(new dx).e},nPU.Pk=function(){throw(new dx).e},nPU.Qk=function(){return this.d},nPU.Rk=function(){return null!=this.e},nPU.Sk=function(n){this.c=n},nPU.Tk=function(n){throw(new dx).e},nPU.Uk=function(n){throw(new dx).e},nPU.Vk=function(n){this.d=n},NO(njD,"BasicEObjectImpl/EPropertiesHolderBaseImpl",2081),ncy(192,2081,{114:1},hx),nPU.Ok=function(){return this.a},nPU.Pk=function(){return this.b},nPU.Tk=function(n){this.a=n},nPU.Uk=function(n){this.b=n},NO(njD,"BasicEObjectImpl/EPropertiesHolderImpl",192),ncy(516,99,nj$,u1),nPU.uh=function(){return this.f},nPU.zh=function(){return this.k},nPU.Bh=function(n,t){this.g=n,this.i=t},nPU.Dh=function(){return(2&this.j)==0?this.ii():this.$h().Nk()},nPU.Fh=function(){return this.i},nPU.wh=function(){return(1&this.j)!=0},nPU.Ph=function(){return this.g},nPU.Vh=function(){return(4&this.j)!=0},nPU.$h=function(){return this.k||(this.k=new hx),this.k},nPU.ci=function(n){this.$h().Sk(n),n?this.j|=2:this.j&=-3},nPU.ei=function(n){this.$h().Uk(n),n?this.j|=4:this.j&=-5},nPU.ii=function(){return(NR(),n2o).S},nPU.i=0,nPU.j=1,NO(njD,"EObjectImpl",516),ncy(798,516,{110:1,94:1,93:1,58:1,114:1,54:1,99:1},Ig),nPU.li=function(n){return this.e[n]},nPU.mi=function(n,t){this.e[n]=t},nPU.ni=function(n){this.e[n]=null},nPU.Dh=function(){return this.d},nPU.Ih=function(n){return Yy(this.d,n)},nPU.Kh=function(){return this.d},nPU.Oh=function(){return null!=this.e},nPU.$h=function(){return this.k||(this.k=new u0),this.k},nPU.ci=function(n){this.d=n},nPU.hi=function(){var n;return null==this.e&&(n=NF(this.d),this.e=0==n?n2N:B0(nPu,nbe,1,n,5,1)),this},nPU.ji=function(){return 0},NO(njD,"DynamicEObjectImpl",798),ncy(1522,798,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1},IH),nPU.Fb=function(n){return this===n},nPU.Hb=function(){return SK(this)},nPU.ci=function(n){this.d=n,this.b=nuO(n,"key"),this.c=nuO(n,njq)},nPU.Bi=function(){var n;return -1==this.a&&(n=Uk(this,this.b),this.a=null==n?0:XO(n)),this.a},nPU.ld=function(){return Uk(this,this.b)},nPU.md=function(){return Uk(this,this.c)},nPU.Ci=function(n){this.a=n},nPU.Di=function(n){xB(this,this.b,n)},nPU.nd=function(n){var t;return t=Uk(this,this.c),xB(this,this.c,n),t},nPU.a=0,NO(njD,"DynamicEObjectImpl/BasicEMapEntry",1522),ncy(1523,1,{114:1},u0),nPU.Mk=function(n){throw(new dx).e},nPU.li=function(n){throw(new dx).e},nPU.mi=function(n,t){throw(new dx).e},nPU.ni=function(n){throw(new dx).e},nPU.Nk=function(){throw(new dx).e},nPU.Ok=function(){return this.a},nPU.Pk=function(){return this.b},nPU.Qk=function(){return this.c},nPU.Rk=function(){throw(new dx).e},nPU.Sk=function(n){throw(new dx).e},nPU.Tk=function(n){this.a=n},nPU.Uk=function(n){this.b=n},nPU.Vk=function(n){this.c=n},NO(njD,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1523),ncy(519,158,{110:1,94:1,93:1,598:1,155:1,58:1,114:1,54:1,99:1,519:1,158:1,119:1,120:1},u2),nPU.Ah=function(n){return net(this,n)},nPU.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),this.Ab;case 1:return this.d;case 2:return e?(this.b||(this.b=new Pd((nlz(),n2C),n2t,this)),this.b):(this.b||(this.b=new Pd((nlz(),n2C),n2t,this)),BZ(this.b));case 3:return x1(this);case 4:return this.a||(this.a=new EU(nL0,this,4)),this.a;case 5:return this.c||(this.c=new EJ(nL0,this,5)),this.c}return HP(this,n-NF((nlz(),n2s)),Gr(O2(z$(this,16),29)||n2s,n),t,e)},nPU.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),YX(this.Ab,n,e);case 3:return this.Cb&&(e=(i=this.Db>>16)>=0?net(this,e):this.Cb.Th(this,-1-i,null,e)),AY(this,O2(n,155),e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2s),t),69).wk().zk(this,Zy(this),t-NF((nlz(),n2s)),n,e)},nPU.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),nnp(this.Ab,n,e);case 2:return this.b||(this.b=new Pd((nlz(),n2C),n2t,this)),C4(this.b,n,e);case 3:return AY(this,null,e);case 4:return this.a||(this.a=new EU(nL0,this,4)),nnp(this.a,n,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2s),t),69).wk().Ak(this,Zy(this),t-NF((nlz(),n2s)),n,e)},nPU.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.d;case 2:return!!this.b&&0!=this.b.f;case 3:return!!x1(this);case 4:return!!this.a&&0!=this.a.i;case 5:return!!this.c&&0!=this.c.i}return Fo(this,n-NF((nlz(),n2s)),Gr(O2(z$(this,16),29)||n2s,n))},nPU.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return;case 1:q7(this,null==(e=PA(t))?null:($d(e),e));return;case 2:this.b||(this.b=new Pd((nlz(),n2C),n2t,this)),zf(this.b,t);return;case 3:nuP(this,O2(t,155));return;case 4:this.a||(this.a=new EU(nL0,this,4)),nfi(this.a),this.a||(this.a=new EU(nL0,this,4)),Nl(this.a,O2(t,16));return;case 5:this.c||(this.c=new EJ(nL0,this,5)),nfi(this.c),this.c||(this.c=new EJ(nL0,this,5)),Nl(this.c,O2(t,16));return}J7(this,n-NF((nlz(),n2s)),Gr(O2(z$(this,16),29)||n2s,n),t)},nPU.ii=function(){return nlz(),n2s},nPU.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return;case 1:q7(this,null);return;case 2:this.b||(this.b=new Pd((nlz(),n2C),n2t,this)),this.b.c.$b();return;case 3:nuP(this,null);return;case 4:this.a||(this.a=new EU(nL0,this,4)),nfi(this.a);return;case 5:this.c||(this.c=new EJ(nL0,this,5)),nfi(this.c);return}Q2(this,n-NF((nlz(),n2s)),Gr(O2(z$(this,16),29)||n2s,n))},nPU.Ib=function(){return Q4(this)},nPU.d=null,NO(njD,"EAnnotationImpl",519),ncy(141,721,nEj,Hb),nPU.Gi=function(n,t){!function(n,t,e){O2(n.c,71).Gi(t,e)}(this,n,O2(t,44))},nPU.Wk=function(n,t){var e;return e=O2(n,44),O2(this.c,71).Wk(e,t)},nPU.$i=function(n){return O2(O2(this.c,71).$i(n),136)},nPU.Ii=function(){return O2(this.c,71).Ii()},nPU.Ji=function(){return O2(this.c,71).Ji()},nPU.Ki=function(n){return O2(this.c,71).Ki(n)},nPU.Xk=function(n,t){return C4(this,n,t)},nPU.Fk=function(n){return O2(this.c,79).Fk(n)},nPU.ak=function(){},nPU.Qj=function(){return O2(this.c,79).Qj()},nPU.ck=function(n,t,e){var i;return(i=O2(GP(this.b).wi().si(this.b),136)).Ci(n),i.Di(t),i.nd(e),i},nPU.dk=function(){return new de(this)},nPU.Wb=function(n){zf(this,n)},nPU.Gk=function(){O2(this.c,79).Gk()},NO(nEy,"EcoreEMap",141),ncy(165,141,nEj,Pd),nPU._j=function(){var n,t,e,i,r;if(null==this.d){for(r=B0(nNf,nEc,66,2*this.f+1,0,1),e=this.c.Kc();e.e!=e.i.gc();)i=((t=O2(e.Yj(),136)).Bi()&nl5)%r.length,(n=r[i])||(n=r[i]=new de(this)),n.Fc(t);this.d=r}},NO(njD,"EAnnotationImpl/1",165),ncy(292,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,481:1,54:1,99:1,158:1,292:1,119:1,120:1}),nPU.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return QR(this.s);case 5:return QR(this.t);case 6:return SB(),!!this.Jk();case 7:return SB(),this.s>=1;case 8:if(t)return nes(this);return this.r;case 9:return this.q}return HP(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n),t,e)},nPU.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),nnp(this.Ab,n,e);case 9:return Nb(this,e)}return O2(Gr(O2(z$(this,16),29)||this.ii(),t),69).wk().Ak(this,Zy(this),t-NF(this.ii()),n,e)},nPU.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return this.Jk();case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NZ(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NZ(this.q).i)}return Fo(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n))},nPU.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return;case 1:this.ui(PA(t));return;case 2:Q5(this,pT(PO(t)));return;case 3:Q7(this,pT(PO(t)));return;case 4:G9(this,O2(t,17).a);return;case 5:this.Zk(O2(t,17).a);return;case 8:Qi(this,O2(t,142));return;case 9:(e=niE(this,O2(t,89),null))&&e.oj();return}J7(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n),t)},nPU.ii=function(){return nlz(),n2I},nPU.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return;case 1:this.ui(null);return;case 2:Q5(this,!0);return;case 3:Q7(this,!0);return;case 4:G9(this,0);return;case 5:this.Zk(1);return;case 8:Qi(this,null);return;case 9:(t=niE(this,null,null))&&t.oj();return}Q2(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n))},nPU.pi=function(){nes(this),this.Bb|=1},nPU.Hk=function(){return nes(this)},nPU.Ik=function(){return this.t},nPU.Jk=function(){var n;return(n=this.t)>1||-1==n},nPU.Si=function(){return(512&this.Bb)!=0},nPU.Yk=function(n,t){return QW(this,n,t)},nPU.Zk=function(n){G7(this,n)},nPU.Ib=function(){return nce(this)},nPU.s=0,nPU.t=1,NO(njD,"ETypedElementImpl",292),ncy(462,292,{110:1,94:1,93:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,462:1,292:1,119:1,120:1,692:1}),nPU.Ah=function(n){return nt_(this,n)},nPU.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return QR(this.s);case 5:return QR(this.t);case 6:return SB(),!!this.Jk();case 7:return SB(),this.s>=1;case 8:if(t)return nes(this);return this.r;case 9:return this.q;case 10:return SB(),(this.Bb&nbG)!=0;case 11:return SB(),(this.Bb&nES)!=0;case 12:return SB(),(this.Bb&nwG)!=0;case 13:return this.j;case 14:return nul(this);case 15:return SB(),(this.Bb&nEE)!=0;case 16:return SB(),(this.Bb&nbT)!=0;case 17:return xZ(this)}return HP(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n),t,e)},nPU.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),YX(this.Ab,n,e);case 17:return this.Cb&&(e=(i=this.Db>>16)>=0?nt_(this,e):this.Cb.Th(this,-1-i,null,e)),nsO(this,n,17,e)}return O2(Gr(O2(z$(this,16),29)||this.ii(),t),69).wk().zk(this,Zy(this),t-NF(this.ii()),n,e)},nPU.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),nnp(this.Ab,n,e);case 9:return Nb(this,e);case 17:return nsO(this,null,17,e)}return O2(Gr(O2(z$(this,16),29)||this.ii(),t),69).wk().Ak(this,Zy(this),t-NF(this.ii()),n,e)},nPU.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return this.Jk();case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NZ(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NZ(this.q).i);case 10:return(this.Bb&nbG)==0;case 11:return(this.Bb&nES)!=0;case 12:return(this.Bb&nwG)!=0;case 13:return null!=this.j;case 14:return null!=nul(this);case 15:return(this.Bb&nEE)!=0;case 16:return(this.Bb&nbT)!=0;case 17:return!!xZ(this)}return Fo(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n))},nPU.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return;case 1:Rp(this,PA(t));return;case 2:Q5(this,pT(PO(t)));return;case 3:Q7(this,pT(PO(t)));return;case 4:G9(this,O2(t,17).a);return;case 5:this.Zk(O2(t,17).a);return;case 8:Qi(this,O2(t,142));return;case 9:(e=niE(this,O2(t,89),null))&&e.oj();return;case 10:JM(this,pT(PO(t)));return;case 11:JE(this,pT(PO(t)));return;case 12:Jj(this,pT(PO(t)));return;case 13:jj(this,PA(t));return;case 15:JT(this,pT(PO(t)));return;case 16:JF(this,pT(PO(t)));return}J7(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n),t)},nPU.ii=function(){return nlz(),n2O},nPU.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return;case 1:EM(this.Cb,90)&&nau(_j(O2(this.Cb,90)),4),XL(this,null);return;case 2:Q5(this,!0);return;case 3:Q7(this,!0);return;case 4:G9(this,0);return;case 5:this.Zk(1);return;case 8:Qi(this,null);return;case 9:(t=niE(this,null,null))&&t.oj();return;case 10:JM(this,!0);return;case 11:JE(this,!1);return;case 12:Jj(this,!1);return;case 13:this.i=null,Xc(this,null);return;case 15:JT(this,!1);return;case 16:JF(this,!1);return}Q2(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n))},nPU.pi=function(){$H(Us((nr_(),n27),this)),nes(this),this.Bb|=1},nPU.pk=function(){return this.f},nPU.ik=function(){return nul(this)},nPU.qk=function(){return xZ(this)},nPU.uk=function(){return null},nPU.$k=function(){return this.k},nPU.Lj=function(){return this.n},nPU.vk=function(){return neJ(this)},nPU.wk=function(){var n,t,e,i,r,a,c,u,o;return this.p||((null==(e=xZ(this)).i&&nhc(e),e.i).length,(i=this.uk())&&NF(xZ(i)),n=(c=(r=nes(this)).kk())?(1&c.i)!=0?c==n4l?nPE:c==n4f?nPI:c==n4g?nPO:c==n4d?nPC:c==n4b?nPA:c==n4p?nPL:c==n4w?nPS:nPP:c:null,t=nul(this),u=r.ik(),function(n){var t,e,i;for(e=(function(n){var t,e,i,r,a,c,u;if((t=n.qi(nEW))&&null!=(u=PA(Yq((t.b||(t.b=new Pd((nlz(),n2C),n2t,t)),t.b),"settingDelegates")))){for(e=new du,r=nht(u,"\\w+"),a=0,c=r.length;a1||-1==o?this.bl()?(this.Bb&nEE)!=0?n?this.p=new Ds(25,n,this,i):this.p=new FF(24,this,i):n?this.p=new Ds(27,n,this,i):this.p=new FF(26,this,i):(this.Bb&nEE)!=0?n?this.p=new Ds(29,n,this,i):this.p=new FF(28,this,i):n?this.p=new Ds(31,n,this,i):this.p=new FF(30,this,i):this.bl()?(this.Bb&nEE)!=0?n?this.p=new Ds(33,n,this,i):this.p=new FF(32,this,i):n?this.p=new Ds(35,n,this,i):this.p=new FF(34,this,i):(this.Bb&nEE)!=0?n?this.p=new Ds(37,n,this,i):this.p=new FF(36,this,i):n?this.p=new Ds(39,n,this,i):this.p=new FF(38,this,i):this.bl()?(this.Bb&nEE)!=0?n?this.p=new OR(17,n,this):this.p=new D6(16,this):n?this.p=new OR(19,n,this):this.p=new D6(18,this):(this.Bb&nEE)!=0?n?this.p=new OR(21,n,this):this.p=new D6(20,this):n?this.p=new OR(23,n,this):this.p=new D6(22,this):this._k()?this.bl()?this.p=new OK(O2(r,29),this,i):this.p=new xd(O2(r,29),this,i):EM(r,156)?n==n07?this.p=new D6(40,this):(this.Bb&nEE)!=0?n?this.p=new AW(t,u,this,(Y_(),c==n4f?n2X:c==n4l?n2B:c==n4b?n2z:c==n4g?n2q:c==n4d?n2G:c==n4p?n2W:c==n4w?n2H:c==n4h?n2U:n2V)):this.p=new Dl(O2(r,156),t,u,this):n?this.p=new AV(t,u,this,(Y_(),c==n4f?n2X:c==n4l?n2B:c==n4b?n2z:c==n4g?n2q:c==n4d?n2G:c==n4p?n2W:c==n4w?n2H:c==n4h?n2U:n2V)):this.p=new Df(O2(r,156),t,u,this):this.al()?i?(this.Bb&nEE)!=0?this.bl()?this.p=new OG(O2(r,29),this,i):this.p=new OU(O2(r,29),this,i):this.bl()?this.p=new OH(O2(r,29),this,i):this.p=new OF(O2(r,29),this,i):(this.Bb&nEE)!=0?this.bl()?this.p=new PE(O2(r,29),this):this.p=new Pj(O2(r,29),this):this.bl()?this.p=new PM(O2(r,29),this):this.p=new Py(O2(r,29),this):this.bl()?i?(this.Bb&nEE)!=0?this.p=new Oq(O2(r,29),this,i):this.p=new O_(O2(r,29),this,i):(this.Bb&nEE)!=0?this.p=new PS(O2(r,29),this):this.p=new PT(O2(r,29),this):i?(this.Bb&nEE)!=0?this.p=new OX(O2(r,29),this,i):this.p=new OB(O2(r,29),this,i):(this.Bb&nEE)!=0?this.p=new PP(O2(r,29),this):this.p=new Ak(O2(r,29),this)),this.p},nPU.rk=function(){return(this.Bb&nbG)!=0},nPU._k=function(){return!1},nPU.al=function(){return!1},nPU.sk=function(){return(this.Bb&nbT)!=0},nPU.xk=function(){return UC(this)},nPU.bl=function(){return!1},nPU.tk=function(){return(this.Bb&nEE)!=0},nPU.cl=function(n){this.k=n},nPU.ui=function(n){Rp(this,n)},nPU.Ib=function(){return noK(this)},nPU.e=!1,nPU.n=0,NO(njD,"EStructuralFeatureImpl",462),ncy(331,462,{110:1,94:1,93:1,35:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,331:1,158:1,462:1,292:1,119:1,120:1,692:1},gA),nPU.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return QR(this.s);case 5:return QR(this.t);case 6:return SB(),!!naA(this);case 7:return SB(),this.s>=1;case 8:if(t)return nes(this);return this.r;case 9:return this.q;case 10:return SB(),(this.Bb&nbG)!=0;case 11:return SB(),(this.Bb&nES)!=0;case 12:return SB(),(this.Bb&nwG)!=0;case 13:return this.j;case 14:return nul(this);case 15:return SB(),(this.Bb&nEE)!=0;case 16:return SB(),(this.Bb&nbT)!=0;case 17:return xZ(this);case 18:return SB(),(this.Bb&njN)!=0;case 19:if(t)return Vt(this);return Bc(this)}return HP(this,n-NF((nlz(),n2h)),Gr(O2(z$(this,16),29)||n2h,n),t,e)},nPU.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return naA(this);case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NZ(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NZ(this.q).i);case 10:return(this.Bb&nbG)==0;case 11:return(this.Bb&nES)!=0;case 12:return(this.Bb&nwG)!=0;case 13:return null!=this.j;case 14:return null!=nul(this);case 15:return(this.Bb&nEE)!=0;case 16:return(this.Bb&nbT)!=0;case 17:return!!xZ(this);case 18:return(this.Bb&njN)!=0;case 19:return!!Bc(this)}return Fo(this,n-NF((nlz(),n2h)),Gr(O2(z$(this,16),29)||n2h,n))},nPU.bi=function(n,t){var e,i;switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return;case 1:Rp(this,PA(t));return;case 2:Q5(this,pT(PO(t)));return;case 3:Q7(this,pT(PO(t)));return;case 4:G9(this,O2(t,17).a);return;case 5:i=O2(t,17).a,this.b=0,G7(this,i);return;case 8:Qi(this,O2(t,142));return;case 9:(e=niE(this,O2(t,89),null))&&e.oj();return;case 10:JM(this,pT(PO(t)));return;case 11:JE(this,pT(PO(t)));return;case 12:Jj(this,pT(PO(t)));return;case 13:jj(this,PA(t));return;case 15:JT(this,pT(PO(t)));return;case 16:JF(this,pT(PO(t)));return;case 18:JR(this,pT(PO(t)));return}J7(this,n-NF((nlz(),n2h)),Gr(O2(z$(this,16),29)||n2h,n),t)},nPU.ii=function(){return nlz(),n2h},nPU.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return;case 1:EM(this.Cb,90)&&nau(_j(O2(this.Cb,90)),4),XL(this,null);return;case 2:Q5(this,!0);return;case 3:Q7(this,!0);return;case 4:G9(this,0);return;case 5:this.b=0,G7(this,1);return;case 8:Qi(this,null);return;case 9:(t=niE(this,null,null))&&t.oj();return;case 10:JM(this,!0);return;case 11:JE(this,!1);return;case 12:Jj(this,!1);return;case 13:this.i=null,Xc(this,null);return;case 15:JT(this,!1);return;case 16:JF(this,!1);return;case 18:JR(this,!1);return}Q2(this,n-NF((nlz(),n2h)),Gr(O2(z$(this,16),29)||n2h,n))},nPU.pi=function(){Vt(this),$H(Us((nr_(),n27),this)),nes(this),this.Bb|=1},nPU.Jk=function(){return naA(this)},nPU.Yk=function(n,t){return this.b=0,this.a=null,QW(this,n,t)},nPU.Zk=function(n){this.b=0,G7(this,n)},nPU.Ib=function(){var n;return(64&this.Db)!=0?noK(this):(n=new Sm(noK(this)),n.a+=" (iD: ",mL(n,(this.Bb&njN)!=0),n.a+=")",n.a)},nPU.b=0,NO(njD,"EAttributeImpl",331),ncy(364,448,{110:1,94:1,93:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,158:1,119:1,120:1,691:1}),nPU.dl=function(n){return n.Dh()==this},nPU.Ah=function(n){return ntO(this,n)},nPU.Bh=function(n,t){this.w=null,this.Db=t<<16|255&this.Db,this.Cb=n},nPU.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return ntj(this);case 4:return this.ik();case 5:return this.F;case 6:if(t)return GP(this);return xQ(this);case 7:return this.A||(this.A=new EV(n08,this,7)),this.A}return HP(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n),t,e)},nPU.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),YX(this.Ab,n,e);case 6:return this.Cb&&(e=(i=this.Db>>16)>=0?ntO(this,e):this.Cb.Th(this,-1-i,null,e)),nsO(this,n,6,e)}return O2(Gr(O2(z$(this,16),29)||this.ii(),t),69).wk().zk(this,Zy(this),t-NF(this.ii()),n,e)},nPU.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),nnp(this.Ab,n,e);case 6:return nsO(this,null,6,e);case 7:return this.A||(this.A=new EV(n08,this,7)),nnp(this.A,n,e)}return O2(Gr(O2(z$(this,16),29)||this.ii(),t),69).wk().Ak(this,Zy(this),t-NF(this.ii()),n,e)},nPU.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!ntj(this);case 4:return null!=this.ik();case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!xQ(this);case 7:return!!this.A&&0!=this.A.i}return Fo(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n))},nPU.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return;case 1:Rg(this,PA(t));return;case 2:TK(this,PA(t));return;case 5:nfH(this,PA(t));return;case 7:this.A||(this.A=new EV(n08,this,7)),nfi(this.A),this.A||(this.A=new EV(n08,this,7)),Nl(this.A,O2(t,16));return}J7(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n),t)},nPU.ii=function(){return nlz(),n2l},nPU.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return;case 1:EM(this.Cb,184)&&(O2(this.Cb,184).tb=null),XL(this,null);return;case 2:Wq(this,null),qt(this,this.D);return;case 5:nfH(this,null);return;case 7:this.A||(this.A=new EV(n08,this,7)),nfi(this.A);return}Q2(this,n-NF(this.ii()),Gr(O2(z$(this,16),29)||this.ii(),n))},nPU.hk=function(){var n;return -1==this.G&&(this.G=(n=GP(this))?nny(n.vi(),this):-1),this.G},nPU.ik=function(){return null},nPU.jk=function(){return GP(this)},nPU.el=function(){return this.v},nPU.kk=function(){return ntj(this)},nPU.lk=function(){return null!=this.D?this.D:this.B},nPU.mk=function(){return this.F},nPU.fk=function(n){return ns2(this,n)},nPU.fl=function(n){this.v=n},nPU.gl=function(n){XH(this,n)},nPU.hl=function(n){this.C=n},nPU.ui=function(n){Rg(this,n)},nPU.Ib=function(){return YA(this)},nPU.C=null,nPU.D=null,nPU.G=-1,NO(njD,"EClassifierImpl",364),ncy(90,364,{110:1,94:1,93:1,29:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,90:1,364:1,158:1,482:1,119:1,120:1,691:1},hH),nPU.dl=function(n){var t;return(t=n.Dh())==this||neA(nur(t),this)},nPU.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return ntj(this);case 4:return null;case 5:return this.F;case 6:if(t)return GP(this);return xQ(this);case 7:return this.A||(this.A=new EV(n08,this,7)),this.A;case 8:return SB(),(256&this.Bb)!=0;case 9:return SB(),(512&this.Bb)!=0;case 10:return xi(this);case 11:return this.q||(this.q=new LE(n04,this,11,10)),this.q;case 12:return nhx(this);case 13:return nhO(this);case 14:return nhO(this),this.r;case 15:return nhx(this),this.k;case 16:return nrZ(this);case 17:return nhk(this);case 18:return nhc(this);case 19:return nur(this);case 20:return nhx(this),this.o;case 21:return this.s||(this.s=new LE(n0Q,this,21,17)),this.s;case 22:return FI(this);case 23:return nop(this)}return HP(this,n-NF((nlz(),n2f)),Gr(O2(z$(this,16),29)||n2f,n),t,e)},nPU.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),YX(this.Ab,n,e);case 6:return this.Cb&&(e=(i=this.Db>>16)>=0?ntO(this,e):this.Cb.Th(this,-1-i,null,e)),nsO(this,n,6,e);case 11:return this.q||(this.q=new LE(n04,this,11,10)),YX(this.q,n,e);case 21:return this.s||(this.s=new LE(n0Q,this,21,17)),YX(this.s,n,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2f),t),69).wk().zk(this,Zy(this),t-NF((nlz(),n2f)),n,e)},nPU.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),nnp(this.Ab,n,e);case 6:return nsO(this,null,6,e);case 7:return this.A||(this.A=new EV(n08,this,7)),nnp(this.A,n,e);case 11:return this.q||(this.q=new LE(n04,this,11,10)),nnp(this.q,n,e);case 21:return this.s||(this.s=new LE(n0Q,this,21,17)),nnp(this.s,n,e);case 22:return nnp(FI(this),n,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2f),t),69).wk().Ak(this,Zy(this),t-NF((nlz(),n2f)),n,e)},nPU.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!ntj(this);case 4:return!1;case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!xQ(this);case 7:return!!this.A&&0!=this.A.i;case 8:return(256&this.Bb)!=0;case 9:return(512&this.Bb)!=0;case 10:return!!this.u&&0!=FI(this.u.a).i&&!(this.n&&nnq(this.n));case 11:return!!this.q&&0!=this.q.i;case 12:return 0!=nhx(this).i;case 13:return 0!=nhO(this).i;case 14:return nhO(this),0!=this.r.i;case 15:return nhx(this),0!=this.k.i;case 16:return 0!=nrZ(this).i;case 17:return 0!=nhk(this).i;case 18:return 0!=nhc(this).i;case 19:return 0!=nur(this).i;case 20:return nhx(this),!!this.o;case 21:return!!this.s&&0!=this.s.i;case 22:return!!this.n&&nnq(this.n);case 23:return 0!=nop(this).i}return Fo(this,n-NF((nlz(),n2f)),Gr(O2(z$(this,16),29)||n2f,n))},nPU.Zh=function(n){return(null==this.i||this.q&&0!=this.q.i?null:nuO(this,n))||nf7(this,n)},nPU.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return;case 1:Rg(this,PA(t));return;case 2:TK(this,PA(t));return;case 5:nfH(this,PA(t));return;case 7:this.A||(this.A=new EV(n08,this,7)),nfi(this.A),this.A||(this.A=new EV(n08,this,7)),Nl(this.A,O2(t,16));return;case 8:Q8(this,pT(PO(t)));return;case 9:Jn(this,pT(PO(t)));return;case 10:nfu(xi(this)),Nl(xi(this),O2(t,16));return;case 11:this.q||(this.q=new LE(n04,this,11,10)),nfi(this.q),this.q||(this.q=new LE(n04,this,11,10)),Nl(this.q,O2(t,16));return;case 21:this.s||(this.s=new LE(n0Q,this,21,17)),nfi(this.s),this.s||(this.s=new LE(n0Q,this,21,17)),Nl(this.s,O2(t,16));return;case 22:nfi(FI(this)),Nl(FI(this),O2(t,16));return}J7(this,n-NF((nlz(),n2f)),Gr(O2(z$(this,16),29)||n2f,n),t)},nPU.ii=function(){return nlz(),n2f},nPU.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return;case 1:EM(this.Cb,184)&&(O2(this.Cb,184).tb=null),XL(this,null);return;case 2:Wq(this,null),qt(this,this.D);return;case 5:nfH(this,null);return;case 7:this.A||(this.A=new EV(n08,this,7)),nfi(this.A);return;case 8:Q8(this,!1);return;case 9:Jn(this,!1);return;case 10:this.u&&nfu(this.u);return;case 11:this.q||(this.q=new LE(n04,this,11,10)),nfi(this.q);return;case 21:this.s||(this.s=new LE(n0Q,this,21,17)),nfi(this.s);return;case 22:this.n&&nfi(this.n);return}Q2(this,n-NF((nlz(),n2f)),Gr(O2(z$(this,16),29)||n2f,n))},nPU.pi=function(){var n,t,e;if(nhx(this),nhO(this),nrZ(this),nhk(this),nhc(this),nur(this),nop(this),_G(((e=_j(this)).c||(e.c=new of),e.c)),this.s)for(n=0,t=this.s.i;n=0;--t)GA(this,t);return YI(this,n)},nPU.Gk=function(){nfi(this)},nPU.Zi=function(n,t){return qr(this,n,t)},NO(nEy,"EcoreEList",632),ncy(505,632,nEK,Iw),nPU.Li=function(){return!1},nPU.Lj=function(){return this.c},nPU.Mj=function(){return!1},nPU.ol=function(){return!0},nPU.Si=function(){return!0},nPU.Wi=function(n,t){return t},nPU.Yi=function(){return!1},nPU.c=0,NO(nEy,"EObjectEList",505),ncy(83,505,nEK,EU),nPU.Mj=function(){return!0},nPU.ml=function(){return!1},nPU.al=function(){return!0},NO(nEy,"EObjectContainmentEList",83),ncy(555,83,nEK,EG),nPU.Ni=function(){this.b=!0},nPU.Qj=function(){return this.b},nPU.Gk=function(){var n;nfi(this),TN(this.e)?(n=this.b,this.b=!1,zI(this.e,new _S(this.e,2,this.c,n,!1))):this.b=!1},nPU.b=!1,NO(nEy,"EObjectContainmentEList/Unsettable",555),ncy(1161,555,nEK,AX),nPU.Ti=function(n,t){var e,i;return e=O2(Jk(this,n,t),89),TN(this.e)&&dq(this,new Hd(this.a,7,(nlz(),n2b),QR(t),EM(i=e.c,90)?O2(i,29):n2M,n)),e},nPU.Uj=function(n,t){var e,i,r,a;return e=O2(n,89),i=t,r=new Uw(this.e,3,10,null,EM(a=e.c,90)?O2(a,29):(nlz(),n2M),nny(this,e),!1),i?i.nj(r):i=r,i},nPU.Vj=function(n,t){var e,i,r,a;return e=O2(n,89),i=t,r=new Uw(this.e,4,10,EM(a=e.c,90)?O2(a,29):(nlz(),n2M),null,nny(this,e),!1),i?i.nj(r):i=r,i},nPU.Wj=function(n,t,e){var i,r,a,c,u,o;return i=O2(n,89),r=O2(t,89),a=e,c=new Uw(this.e,1,10,EM(o=i.c,90)?O2(o,29):(nlz(),n2M),EM(u=r.c,90)?O2(u,29):(nlz(),n2M),nny(this,i),!1),a?a.nj(c):a=c,a},nPU.Ij=function(n,t,e,i,r){switch(n){case 3:return Ru(this,n,t,e,i,this.i>1);case 5:return Ru(this,n,t,e,i,this.i-O2(e,15).gc()>0);default:return new Uw(this.e,n,this.c,t,e,i,!0)}},nPU.Tj=function(){return!0},nPU.Qj=function(){return nnq(this)},nPU.Gk=function(){nfi(this)},NO(njD,"EClassImpl/1",1161),ncy(1175,1174,nEn),nPU.dj=function(n){var t,e,i,r,a,c,u;if(8!=(e=n.gj())){if(0==(i=function(n){switch(n.hj(null)){case 10:return 0;case 15:return 1;case 14:return 2;case 11:return 3;case 21:return 4}return -1}(n)))switch(e){case 1:case 9:null!=(u=n.kj())&&((t=_j(O2(u,482))).c||(t.c=new of),UI(t.c,n.jj())),null!=(c=n.ij())&&(1&(r=O2(c,482)).Bb)==0&&((t=_j(r)).c||(t.c=new of),Hi(t.c,O2(n.jj(),29)));break;case 3:null!=(c=n.ij())&&(1&(r=O2(c,482)).Bb)==0&&((t=_j(r)).c||(t.c=new of),Hi(t.c,O2(n.jj(),29)));break;case 5:if(null!=(c=n.ij()))for(a=O2(c,16).Kc();a.Ob();)(1&(r=O2(a.Pb(),482)).Bb)==0&&((t=_j(r)).c||(t.c=new of),Hi(t.c,O2(n.jj(),29)));break;case 4:null!=(u=n.kj())&&(1&(r=O2(u,482)).Bb)==0&&((t=_j(r)).c||(t.c=new of),UI(t.c,n.jj()));break;case 6:if(null!=(u=n.kj()))for(a=O2(u,16).Kc();a.Ob();)(1&(r=O2(a.Pb(),482)).Bb)==0&&((t=_j(r)).c||(t.c=new of),UI(t.c,n.jj()))}this.ql(i)}},nPU.ql=function(n){no$(this,n)},nPU.b=63,NO(njD,"ESuperAdapter",1175),ncy(1176,1175,nEn,wY),nPU.ql=function(n){nau(this,n)},NO(njD,"EClassImpl/10",1176),ncy(1165,710,nEK),nPU.Ei=function(n,t){return niT(this,n,t)},nPU.Fi=function(n){return nn8(this,n)},nPU.Gi=function(n,t){QJ(this,n,t)},nPU.Hi=function(n){_U(this,n)},nPU.$i=function(n){return Hj(this,n)},nPU.Xi=function(n,t){return UO(this,n,t)},nPU.Wk=function(n,t){throw(new dx).e},nPU.Ii=function(){return new SQ(this)},nPU.Ji=function(){return new SJ(this)},nPU.Ki=function(n){return qC(this,n)},nPU.Xk=function(n,t){throw(new dx).e},nPU.Fk=function(n){return this},nPU.Qj=function(){return 0!=this.i},nPU.Wb=function(n){throw(new dx).e},nPU.Gk=function(){throw(new dx).e},NO(nEy,"EcoreEList/UnmodifiableEList",1165),ncy(328,1165,nEK,To),nPU.Yi=function(){return!1},NO(nEy,"EcoreEList/UnmodifiableEList/FastCompare",328),ncy(1168,328,nEK,VW),nPU.dd=function(n){var t,e;if(EM(n,179)&&-1!=(t=O2(n,179).Lj())){for(e=this.i;t4){if(!this.fk(n))return!1;if(this.al()){if(c=(t=(e=O2(n,54)).Eh())==this.b&&(this.ml()?e.yh(e.Fh(),O2(Gr(xa(this.b),this.Lj()).Hk(),29).kk())==nnF(O2(Gr(xa(this.b),this.Lj()),19)).n:-1-e.Fh()==this.Lj()),this.nl()&&!c&&!t&&e.Jh()){for(i=0;i1||-1==e)},nPU.ml=function(){var n;return!!EM(n=Gr(xa(this.b),this.Lj()),102)&&!!nnF(O2(n,19))},nPU.nl=function(){var n;return!!EM(n=Gr(xa(this.b),this.Lj()),102)&&(O2(n,19).Bb&nwz)!=0},nPU.dd=function(n){var t,e,i;if((e=this.zj(n))>=0)return e;if(this.ol()){for(t=0,i=this.Ej();t=0;--n)nfv(this,n,this.xj(n));return this.Fj()},nPU.Qc=function(n){var t;if(this.nl())for(t=this.Ej()-1;t>=0;--t)nfv(this,t,this.xj(t));return this.Gj(n)},nPU.Gk=function(){nfu(this)},nPU.Zi=function(n,t){return HT(this,n,t)},NO(nEy,"DelegatingEcoreEList",756),ncy(1171,756,nEU,P8),nPU.qj=function(n,t){var e;e=O2(t,29),Jh(FI(this.a),n,Rm(e))},nPU.rj=function(n){var t;t=O2(n,29),Hi(FI(this.a),Rm(t))},nPU.xj=function(n){var t;return EM(t=O2(GA(FI(this.a),n),89).c,90)?O2(t,29):(nlz(),n2M)},nPU.Cj=function(n){var t;return EM(t=O2(not(FI(this.a),n),89).c,90)?O2(t,29):(nlz(),n2M)},nPU.Dj=function(n,t){var e,i,r,a;return e=O2(t,29),((64&(a=EM(r=(i=O2(GA(FI(this.a),n),89)).c,90)?O2(r,29):(nlz(),n2M)).Db)!=0?QT(this.b,a):a)==e?nsJ(i):GC(i,e),a},nPU.Li=function(){return!1},nPU.Ij=function(n,t,e,i,r){return null},nPU.sj=function(){return new w0(this)},nPU.tj=function(){nfi(FI(this.a))},nPU.uj=function(n){return Je(this,n)},nPU.vj=function(n){var t;for(t=n.Kc();t.Ob();)if(!Je(this,t.Pb()))return!1;return!0},nPU.wj=function(n){var t,e,i;if(EM(n,15)&&(i=O2(n,15)).gc()==FI(this.a).i){for(t=i.Kc(),e=new E2(this);t.Ob();)if(jR(t.Pb())!==jR(Z9(e)))return!1;return!0}return!1},nPU.yj=function(){var n,t,e,i;for(t=1,n=new E2(FI(this.a));n.e!=n.i.gc();)t=31*t+((e=EM(i=O2(Z9(n),89).c,90)?O2(i,29):(nlz(),n2M))?SK(e):0);return t},nPU.zj=function(n){var t,e,i,r;for(i=0,e=new E2(FI(this.a));e.e!=e.i.gc();){if(t=O2(Z9(e),89),jR(n)===jR(EM(r=t.c,90)?O2(r,29):(nlz(),n2M)))return i;++i}return -1},nPU.Aj=function(){return 0==FI(this.a).i},nPU.Bj=function(){return null},nPU.Ej=function(){return FI(this.a).i},nPU.Fj=function(){var n,t,e,i,r;for(r=B0(nPu,nbe,1,FI(this.a).i,5,1),e=0,t=new E2(FI(this.a));t.e!=t.i.gc();)n=O2(Z9(t),89),r[e++]=EM(i=n.c,90)?O2(i,29):(nlz(),n2M);return r},nPU.Gj=function(n){var t,e,i,r,a;for(a=FI(this.a).i,n.lengtha&&NH(n,a,null),e=0,t=new E2(FI(this.a));t.e!=t.i.gc();)i=EM(r=O2(Z9(t),89).c,90)?O2(r,29):(nlz(),n2M),NH(n,e++,i);return n},nPU.Hj=function(){var n,t,e,i,r;for(r=new p1,r.a+="[",n=FI(this.a),t=0,i=FI(this.a).i;t>16)>=0?ntO(this,e):this.Cb.Th(this,-1-i,null,e)),nsO(this,n,6,e);case 9:return this.a||(this.a=new LE(n02,this,9,5)),YX(this.a,n,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2d),t),69).wk().zk(this,Zy(this),t-NF((nlz(),n2d)),n,e)},nPU.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),nnp(this.Ab,n,e);case 6:return nsO(this,null,6,e);case 7:return this.A||(this.A=new EV(n08,this,7)),nnp(this.A,n,e);case 9:return this.a||(this.a=new LE(n02,this,9,5)),nnp(this.a,n,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2d),t),69).wk().Ak(this,Zy(this),t-NF((nlz(),n2d)),n,e)},nPU.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!ntj(this);case 4:return!!WW(this);case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!xQ(this);case 7:return!!this.A&&0!=this.A.i;case 8:return(256&this.Bb)==0;case 9:return!!this.a&&0!=this.a.i}return Fo(this,n-NF((nlz(),n2d)),Gr(O2(z$(this,16),29)||n2d,n))},nPU.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return;case 1:Rg(this,PA(t));return;case 2:TK(this,PA(t));return;case 5:nfH(this,PA(t));return;case 7:this.A||(this.A=new EV(n08,this,7)),nfi(this.A),this.A||(this.A=new EV(n08,this,7)),Nl(this.A,O2(t,16));return;case 8:Q9(this,pT(PO(t)));return;case 9:this.a||(this.a=new LE(n02,this,9,5)),nfi(this.a),this.a||(this.a=new LE(n02,this,9,5)),Nl(this.a,O2(t,16));return}J7(this,n-NF((nlz(),n2d)),Gr(O2(z$(this,16),29)||n2d,n),t)},nPU.ii=function(){return nlz(),n2d},nPU.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return;case 1:EM(this.Cb,184)&&(O2(this.Cb,184).tb=null),XL(this,null);return;case 2:Wq(this,null),qt(this,this.D);return;case 5:nfH(this,null);return;case 7:this.A||(this.A=new EV(n08,this,7)),nfi(this.A);return;case 8:Q9(this,!0);return;case 9:this.a||(this.a=new LE(n02,this,9,5)),nfi(this.a);return}Q2(this,n-NF((nlz(),n2d)),Gr(O2(z$(this,16),29)||n2d,n))},nPU.pi=function(){var n,t;if(this.a)for(n=0,t=this.a.i;n>16==5?O2(this.Cb,685):null}return HP(this,n-NF((nlz(),n2g)),Gr(O2(z$(this,16),29)||n2g,n),t,e)},nPU.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),YX(this.Ab,n,e);case 5:return this.Cb&&(e=(i=this.Db>>16)>=0?nt7(this,e):this.Cb.Th(this,-1-i,null,e)),nsO(this,n,5,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2g),t),69).wk().zk(this,Zy(this),t-NF((nlz(),n2g)),n,e)},nPU.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),nnp(this.Ab,n,e);case 5:return nsO(this,null,5,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2g),t),69).wk().Ak(this,Zy(this),t-NF((nlz(),n2g)),n,e)},nPU.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0!=this.d;case 3:return!!this.b;case 4:return null!=this.c;case 5:return!!(this.Db>>16==5?O2(this.Cb,685):null)}return Fo(this,n-NF((nlz(),n2g)),Gr(O2(z$(this,16),29)||n2g,n))},nPU.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return;case 1:XL(this,PA(t));return;case 2:qn(this,O2(t,17).a);return;case 3:naJ(this,O2(t,2039));return;case 4:q1(this,PA(t));return}J7(this,n-NF((nlz(),n2g)),Gr(O2(z$(this,16),29)||n2g,n),t)},nPU.ii=function(){return nlz(),n2g},nPU.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return;case 1:XL(this,null);return;case 2:qn(this,0);return;case 3:naJ(this,null);return;case 4:q1(this,null);return}Q2(this,n-NF((nlz(),n2g)),Gr(O2(z$(this,16),29)||n2g,n))},nPU.Ib=function(){var n;return null==(n=this.c)?this.zb:n},nPU.b=null,nPU.c=null,nPU.d=0,NO(njD,"EEnumLiteralImpl",582);var n2n=IX(njD,"EFactoryImpl/InternalEDateTimeFormat");ncy(499,1,{2114:1},w2),NO(njD,"EFactoryImpl/1ClientInternalEDateTimeFormat",499),ncy(248,120,{110:1,94:1,93:1,89:1,58:1,114:1,54:1,99:1,248:1,119:1,120:1},df),nPU.Ch=function(n,t,e){var i;return e=nsO(this,n,t,e),this.e&&EM(n,179)&&(i=nui(this,this.e))!=this.c&&(e=nfG(this,i,e)),e},nPU.Lh=function(n,t,e){switch(n){case 0:return this.f;case 1:return this.d||(this.d=new EU(n03,this,1)),this.d;case 2:if(t)return nsJ(this);return this.c;case 3:return this.b;case 4:return this.e;case 5:if(t)return nnW(this);return this.a}return HP(this,n-NF((nlz(),n2m)),Gr(O2(z$(this,16),29)||n2m,n),t,e)},nPU.Uh=function(n,t,e){switch(t){case 0:return QE(this,null,e);case 1:return this.d||(this.d=new EU(n03,this,1)),nnp(this.d,n,e);case 3:return QS(this,null,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2m),t),69).wk().Ak(this,Zy(this),t-NF((nlz(),n2m)),n,e)},nPU.Wh=function(n){switch(n){case 0:return!!this.f;case 1:return!!this.d&&0!=this.d.i;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return Fo(this,n-NF((nlz(),n2m)),Gr(O2(z$(this,16),29)||n2m,n))},nPU.bi=function(n,t){switch(n){case 0:ne0(this,O2(t,89));return;case 1:this.d||(this.d=new EU(n03,this,1)),nfi(this.d),this.d||(this.d=new EU(n03,this,1)),Nl(this.d,O2(t,16));return;case 3:ne1(this,O2(t,89));return;case 4:ni1(this,O2(t,850));return;case 5:GC(this,O2(t,142));return}J7(this,n-NF((nlz(),n2m)),Gr(O2(z$(this,16),29)||n2m,n),t)},nPU.ii=function(){return nlz(),n2m},nPU.ki=function(n){switch(n){case 0:ne0(this,null);return;case 1:this.d||(this.d=new EU(n03,this,1)),nfi(this.d);return;case 3:ne1(this,null);return;case 4:ni1(this,null);return;case 5:GC(this,null);return}Q2(this,n-NF((nlz(),n2m)),Gr(O2(z$(this,16),29)||n2m,n))},nPU.Ib=function(){var n;return n=new Sv(ncz(this)),n.a+=" (expression: ",function n(t,e){var i,r,a,c,u,o,s;if(t.a){if(o=t.a.xe(),s=null,null!=o?e.a+=""+o:null!=(u=t.a.mk())&&(-1!=(c=Tp(u,niP(91)))?(RK(c,u.length+1),s=u.substr(c),e.a+=""+xu(null==u?nbc:($d(u),u),0,c)):e.a+=""+u),t.d&&0!=t.d.i){for(a=!0,e.a+="<",r=new E2(t.d);r.e!=r.i.gc();)i=O2(Z9(r),89),a?a=!1:e.a+=nbn,n(i,e);e.a+=">"}null!=s&&(e.a+=""+s)}else t.e?null!=(o=t.e.zb)&&(e.a+=""+o):(e.a+="?",t.b?(e.a+=" super ",n(t.b,e)):t.f&&(e.a+=" extends ",n(t.f,e)))}(this,n),n.a+=")",n.a},NO(njD,"EGenericTypeImpl",248),ncy(2067,2062,nEG),nPU.Gi=function(n,t){(function(n,t,e){n.fd(t).Rb(e)})(this,n,t)},nPU.Wk=function(n,t){return function(n,t,e){n.fd(t).Rb(e)}(this,this.gc(),n),t},nPU.$i=function(n){return nnr(this.pj(),n)},nPU.Ii=function(){return this.Ji()},nPU.pj=function(){return new dt(this)},nPU.Ji=function(){return this.Ki(0)},nPU.Ki=function(n){return this.pj().fd(n)},nPU.Xk=function(n,t){return Ym(this,n,!0),t},nPU.Ti=function(n,t){var e;return e=ntZ(this,t),this.fd(n).Rb(e),e},nPU.Ui=function(n,t){Ym(this,t,!0),this.fd(n).Rb(t)},NO(nEy,"AbstractSequentialInternalEList",2067),ncy(496,2067,nEG,SU),nPU.$i=function(n){return nnr(this.pj(),n)},nPU.Ii=function(){return null==this.b?(kE(),kE(),n2F):this.sl()},nPU.pj=function(){return new Ts(this.a,this.b)},nPU.Ji=function(){return null==this.b?(kE(),kE(),n2F):this.sl()},nPU.Ki=function(n){var t,e;if(null==this.b){if(n<0||n>1)throw new pO(nEi+n+", size=0").e;return kE(),kE(),n2F}for(t=0,e=this.sl();t0;)if(t=this.c[--this.d],(!this.e||t.pk()!=nL2||0!=t.Lj())&&(!this.vl()||this.b.Xh(t))){if(a=this.b.Nh(t,this.ul()),this.f=(kP(),O2(t,69).xk()),this.f||t.Jk()){if(this.ul()?(i=O2(a,15),this.k=i):(i=O2(a,71),this.k=this.j=i),EM(this.k,59)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j.Ki(this.k.gc()):this.k.fd(this.k.gc()),this.p?nrF(this,this.p):nae(this))return r=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?((n=O2(r,76)).Lk(),e=n.md()):e=r,this.i=e,this.g=-3,!0}else if(null!=a)return this.k=null,this.p=null,e=a,this.i=e,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}},nPU.Pb=function(){return zF(this)},nPU.Tb=function(){return this.a},nPU.Ub=function(){var n;if(this.g<-1||this.Sb())return--this.a,this.g=0,n=this.i,this.Sb(),n;throw(new dF).e},nPU.Vb=function(){return this.a-1},nPU.Qb=function(){throw(new dx).e},nPU.ul=function(){return!1},nPU.Wb=function(n){throw(new dx).e},nPU.vl=function(){return!0},nPU.a=0,nPU.d=0,nPU.f=!1,nPU.g=0,nPU.n=0,nPU.o=0,NO(nEy,"EContentsEList/FeatureIteratorImpl",287),ncy(711,287,nEq,Pp),nPU.ul=function(){return!0},NO(nEy,"EContentsEList/ResolvingFeatureIteratorImpl",711),ncy(1178,711,nEq,Pm),nPU.vl=function(){return!1},NO(njD,"ENamedElementImpl/1/1",1178),ncy(1179,287,nEq,Pv),nPU.vl=function(){return!1},NO(njD,"ENamedElementImpl/1/2",1179),ncy(39,152,nEe,Fx,FR,LS,Hw,Uw,_S,qh,Kn,qf,Kt,_P,Ke,qw,Ki,_C,Kr,ql,Ka,LP,Hd,D_,qb,Kc,_O,Ku),nPU.Kj=function(){return He(this)},nPU.Rj=function(){var n;return(n=He(this))?n.ik():null},nPU.hj=function(n){return -1==this.b&&this.a&&(this.b=this.c.Hh(this.a.Lj(),this.a.pk())),this.c.yh(this.b,n)},nPU.jj=function(){return this.c},nPU.Sj=function(){var n;return!!(n=He(this))&&n.tk()},nPU.b=-1,NO(njD,"ENotificationImpl",39),ncy(411,292,{110:1,94:1,93:1,155:1,197:1,58:1,62:1,114:1,481:1,54:1,99:1,158:1,411:1,292:1,119:1,120:1},g$),nPU.Ah=function(n){return neu(this,n)},nPU.Lh=function(n,t,e){var i;switch(n){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return QR(this.s);case 5:return QR(this.t);case 6:return SB(),(i=this.t)>1||-1==i;case 7:return SB(),this.s>=1;case 8:if(t)return nes(this);return this.r;case 9:return this.q;case 10:return this.Db>>16==10?O2(this.Cb,29):null;case 11:return this.d||(this.d=new EV(n08,this,11)),this.d;case 12:return this.c||(this.c=new LE(n06,this,12,10)),this.c;case 13:return this.a||(this.a=new P9(this,this)),this.a;case 14:return Uu(this)}return HP(this,n-NF((nlz(),n2j)),Gr(O2(z$(this,16),29)||n2j,n),t,e)},nPU.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),YX(this.Ab,n,e);case 10:return this.Cb&&(e=(i=this.Db>>16)>=0?neu(this,e):this.Cb.Th(this,-1-i,null,e)),nsO(this,n,10,e);case 12:return this.c||(this.c=new LE(n06,this,12,10)),YX(this.c,n,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2j),t),69).wk().zk(this,Zy(this),t-NF((nlz(),n2j)),n,e)},nPU.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),nnp(this.Ab,n,e);case 9:return Nb(this,e);case 10:return nsO(this,null,10,e);case 11:return this.d||(this.d=new EV(n08,this,11)),nnp(this.d,n,e);case 12:return this.c||(this.c=new LE(n06,this,12,10)),nnp(this.c,n,e);case 14:return nnp(Uu(this),n,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2j),t),69).wk().Ak(this,Zy(this),t-NF((nlz(),n2j)),n,e)},nPU.Wh=function(n){var t;switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(t=this.t)>1||-1==t;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NZ(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NZ(this.q).i);case 10:return!!(this.Db>>16==10?O2(this.Cb,29):null);case 11:return!!this.d&&0!=this.d.i;case 12:return!!this.c&&0!=this.c.i;case 13:return!!this.a&&0!=Uu(this.a.a).i&&!(this.b&&nnX(this.b));case 14:return!!this.b&&nnX(this.b)}return Fo(this,n-NF((nlz(),n2j)),Gr(O2(z$(this,16),29)||n2j,n))},nPU.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return;case 1:XL(this,PA(t));return;case 2:Q5(this,pT(PO(t)));return;case 3:Q7(this,pT(PO(t)));return;case 4:G9(this,O2(t,17).a);return;case 5:G7(this,O2(t,17).a);return;case 8:Qi(this,O2(t,142));return;case 9:(e=niE(this,O2(t,89),null))&&e.oj();return;case 11:this.d||(this.d=new EV(n08,this,11)),nfi(this.d),this.d||(this.d=new EV(n08,this,11)),Nl(this.d,O2(t,16));return;case 12:this.c||(this.c=new LE(n06,this,12,10)),nfi(this.c),this.c||(this.c=new LE(n06,this,12,10)),Nl(this.c,O2(t,16));return;case 13:this.a||(this.a=new P9(this,this)),nfu(this.a),this.a||(this.a=new P9(this,this)),Nl(this.a,O2(t,16));return;case 14:nfi(Uu(this)),Nl(Uu(this),O2(t,16));return}J7(this,n-NF((nlz(),n2j)),Gr(O2(z$(this,16),29)||n2j,n),t)},nPU.ii=function(){return nlz(),n2j},nPU.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return;case 1:XL(this,null);return;case 2:Q5(this,!0);return;case 3:Q7(this,!0);return;case 4:G9(this,0);return;case 5:G7(this,1);return;case 8:Qi(this,null);return;case 9:(t=niE(this,null,null))&&t.oj();return;case 11:this.d||(this.d=new EV(n08,this,11)),nfi(this.d);return;case 12:this.c||(this.c=new LE(n06,this,12,10)),nfi(this.c);return;case 13:this.a&&nfu(this.a);return;case 14:this.b&&nfi(this.b);return}Q2(this,n-NF((nlz(),n2j)),Gr(O2(z$(this,16),29)||n2j,n))},nPU.pi=function(){var n,t;if(this.c)for(n=0,t=this.c.i;nr&&NH(n,r,null),e=0,t=new E2(Uu(this.a));t.e!=t.i.gc();)i=O2(Z9(t),89).c||(nlz(),n2v),NH(n,e++,i);return n},nPU.Hj=function(){var n,t,e,i;for(i=new p1,i.a+="[",n=Uu(this.a),t=0,e=Uu(this.a).i;t1);case 5:return Ru(this,n,t,e,i,this.i-O2(e,15).gc()>0);default:return new Uw(this.e,n,this.c,t,e,i,!0)}},nPU.Tj=function(){return!0},nPU.Qj=function(){return nnX(this)},nPU.Gk=function(){nfi(this)},NO(njD,"EOperationImpl/2",1377),ncy(507,1,{2037:1,507:1},jP),NO(njD,"EPackageImpl/1",507),ncy(14,83,nEK,LE),nPU.il=function(){return this.d},nPU.jl=function(){return this.b},nPU.ml=function(){return!0},nPU.b=0,NO(nEy,"EObjectContainmentWithInverseEList",14),ncy(365,14,nEK,CI),nPU.nl=function(){return!0},nPU.Wi=function(n,t){return nca(this,n,O2(t,58))},NO(nEy,"EObjectContainmentWithInverseEList/Resolving",365),ncy(308,365,nEK,LN),nPU.Ni=function(){this.a.tb=null},NO(njD,"EPackageImpl/2",308),ncy(1278,1,{},on),NO(njD,"EPackageImpl/3",1278),ncy(733,45,nw8,gD),nPU._b=function(n){return jK(n)?DV(this,n):!!AO(this.f,n)},NO(njD,"EPackageRegistryImpl",733),ncy(518,292,{110:1,94:1,93:1,155:1,197:1,58:1,2116:1,114:1,481:1,54:1,99:1,158:1,518:1,292:1,119:1,120:1},gx),nPU.Ah=function(n){return neo(this,n)},nPU.Lh=function(n,t,e){var i;switch(n){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return QR(this.s);case 5:return QR(this.t);case 6:return SB(),(i=this.t)>1||-1==i;case 7:return SB(),this.s>=1;case 8:if(t)return nes(this);return this.r;case 9:return this.q;case 10:return this.Db>>16==10?O2(this.Cb,62):null}return HP(this,n-NF((nlz(),n2S)),Gr(O2(z$(this,16),29)||n2S,n),t,e)},nPU.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),YX(this.Ab,n,e);case 10:return this.Cb&&(e=(i=this.Db>>16)>=0?neo(this,e):this.Cb.Th(this,-1-i,null,e)),nsO(this,n,10,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2S),t),69).wk().zk(this,Zy(this),t-NF((nlz(),n2S)),n,e)},nPU.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),nnp(this.Ab,n,e);case 9:return Nb(this,e);case 10:return nsO(this,null,10,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2S),t),69).wk().Ak(this,Zy(this),t-NF((nlz(),n2S)),n,e)},nPU.Wh=function(n){var t;switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(t=this.t)>1||-1==t;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NZ(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NZ(this.q).i);case 10:return!!(this.Db>>16==10?O2(this.Cb,62):null)}return Fo(this,n-NF((nlz(),n2S)),Gr(O2(z$(this,16),29)||n2S,n))},nPU.ii=function(){return nlz(),n2S},NO(njD,"EParameterImpl",518),ncy(102,462,{110:1,94:1,93:1,155:1,197:1,58:1,19:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,102:1,462:1,292:1,119:1,120:1,692:1},PF),nPU.Lh=function(n,t,e){var i,r;switch(n){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return QR(this.s);case 5:return QR(this.t);case 6:return SB(),(r=this.t)>1||-1==r;case 7:return SB(),this.s>=1;case 8:if(t)return nes(this);return this.r;case 9:return this.q;case 10:return SB(),(this.Bb&nbG)!=0;case 11:return SB(),(this.Bb&nES)!=0;case 12:return SB(),(this.Bb&nwG)!=0;case 13:return this.j;case 14:return nul(this);case 15:return SB(),(this.Bb&nEE)!=0;case 16:return SB(),(this.Bb&nbT)!=0;case 17:return xZ(this);case 18:return SB(),(this.Bb&njN)!=0;case 19:return SB(),!!(i=nnF(this))&&(i.Bb&njN)!=0;case 20:return SB(),(this.Bb&nwz)!=0;case 21:if(t)return nnF(this);return this.b;case 22:if(t)return V2(this);return _K(this);case 23:return this.a||(this.a=new EJ(n0J,this,23)),this.a}return HP(this,n-NF((nlz(),n2P)),Gr(O2(z$(this,16),29)||n2P,n),t,e)},nPU.Wh=function(n){var t,e;switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(e=this.t)>1||-1==e;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NZ(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NZ(this.q).i);case 10:return(this.Bb&nbG)==0;case 11:return(this.Bb&nES)!=0;case 12:return(this.Bb&nwG)!=0;case 13:return null!=this.j;case 14:return null!=nul(this);case 15:return(this.Bb&nEE)!=0;case 16:return(this.Bb&nbT)!=0;case 17:return!!xZ(this);case 18:return(this.Bb&njN)!=0;case 19:return!!(t=nnF(this))&&(t.Bb&njN)!=0;case 20:return(this.Bb&nwz)==0;case 21:return!!this.b;case 22:return!!_K(this);case 23:return!!this.a&&0!=this.a.i}return Fo(this,n-NF((nlz(),n2P)),Gr(O2(z$(this,16),29)||n2P,n))},nPU.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return;case 1:Rp(this,PA(t));return;case 2:Q5(this,pT(PO(t)));return;case 3:Q7(this,pT(PO(t)));return;case 4:G9(this,O2(t,17).a);return;case 5:G7(this,O2(t,17).a);return;case 8:Qi(this,O2(t,142));return;case 9:(e=niE(this,O2(t,89),null))&&e.oj();return;case 10:JM(this,pT(PO(t)));return;case 11:JE(this,pT(PO(t)));return;case 12:Jj(this,pT(PO(t)));return;case 13:jj(this,PA(t));return;case 15:JT(this,pT(PO(t)));return;case 16:JF(this,pT(PO(t)));return;case 18:JK(this,pT(PO(t))),EM(this.Cb,90)&&nau(_j(O2(this.Cb,90)),2);return;case 20:J_(this,pT(PO(t)));return;case 21:Xu(this,O2(t,19));return;case 23:this.a||(this.a=new EJ(n0J,this,23)),nfi(this.a),this.a||(this.a=new EJ(n0J,this,23)),Nl(this.a,O2(t,16));return}J7(this,n-NF((nlz(),n2P)),Gr(O2(z$(this,16),29)||n2P,n),t)},nPU.ii=function(){return nlz(),n2P},nPU.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return;case 1:EM(this.Cb,90)&&nau(_j(O2(this.Cb,90)),4),XL(this,null);return;case 2:Q5(this,!0);return;case 3:Q7(this,!0);return;case 4:G9(this,0);return;case 5:G7(this,1);return;case 8:Qi(this,null);return;case 9:(t=niE(this,null,null))&&t.oj();return;case 10:JM(this,!0);return;case 11:JE(this,!1);return;case 12:Jj(this,!1);return;case 13:this.i=null,Xc(this,null);return;case 15:JT(this,!1);return;case 16:JF(this,!1);return;case 18:JK(this,!1),EM(this.Cb,90)&&nau(_j(O2(this.Cb,90)),2);return;case 20:J_(this,!0);return;case 21:Xu(this,null);return;case 23:this.a||(this.a=new EJ(n0J,this,23)),nfi(this.a);return}Q2(this,n-NF((nlz(),n2P)),Gr(O2(z$(this,16),29)||n2P,n))},nPU.pi=function(){V2(this),$H(Us((nr_(),n27),this)),nes(this),this.Bb|=1},nPU.uk=function(){return nnF(this)},nPU._k=function(){var n;return!!(n=nnF(this))&&(n.Bb&njN)!=0},nPU.al=function(){return(this.Bb&njN)!=0},nPU.bl=function(){return(this.Bb&nwz)!=0},nPU.Yk=function(n,t){return this.c=null,QW(this,n,t)},nPU.Ib=function(){var n;return(64&this.Db)!=0?noK(this):(n=new Sm(noK(this)),n.a+=" (containment: ",mL(n,(this.Bb&njN)!=0),n.a+=", resolveProxies: ",mL(n,(this.Bb&nwz)!=0),n.a+=")",n.a)},NO(njD,"EReferenceImpl",102),ncy(561,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,561:1,119:1,120:1},ot),nPU.Fb=function(n){return this===n},nPU.ld=function(){return this.b},nPU.md=function(){return this.c},nPU.Hb=function(){return SK(this)},nPU.Di=function(n){var t;q8(this,null==(t=PA(n))?null:($d(t),t))},nPU.nd=function(n){var t,e;return t=PA(n),e=this.c,q9(this,t),e},nPU.Lh=function(n,t,e){switch(n){case 0:return this.b;case 1:return this.c}return HP(this,n-NF((nlz(),n2C)),Gr(O2(z$(this,16),29)||n2C,n),t,e)},nPU.Wh=function(n){switch(n){case 0:return null!=this.b;case 1:return null!=this.c}return Fo(this,n-NF((nlz(),n2C)),Gr(O2(z$(this,16),29)||n2C,n))},nPU.bi=function(n,t){var e;switch(n){case 0:q8(this,null==(e=PA(t))?null:($d(e),e));return;case 1:q9(this,PA(t));return}J7(this,n-NF((nlz(),n2C)),Gr(O2(z$(this,16),29)||n2C,n),t)},nPU.ii=function(){return nlz(),n2C},nPU.ki=function(n){switch(n){case 0:q8(this,null);return;case 1:q9(this,null);return}Q2(this,n-NF((nlz(),n2C)),Gr(O2(z$(this,16),29)||n2C,n))},nPU.Bi=function(){var n;return -1==this.a&&(n=this.b,this.a=null==n?0:Wg(n)),this.a},nPU.Ci=function(n){this.a=n},nPU.Ib=function(){var n;return(64&this.Db)!=0?ncz(this):(n=new Sm(ncz(this)),n.a+=" (key: ",jW(n,this.b),n.a+=", value: ",jW(n,this.c),n.a+=")",n.a)},nPU.a=-1,nPU.b=null,nPU.c=null;var n2t=NO(njD,"EStringToStringMapEntryImpl",561),n2e=IX(nEy,"FeatureMap/Entry/Internal");ncy(576,1,nEX),nPU.xl=function(n){return this.yl(O2(n,54))},nPU.yl=function(n){return this.xl(n)},nPU.Fb=function(n){var t,e;return this===n||!!EM(n,76)&&(t=O2(n,76)).Lk()==this.c&&(null==(e=this.md())?null==t.md():Q0(e,t.md()))},nPU.Lk=function(){return this.c},nPU.Hb=function(){var n;return n=this.md(),XO(this.c)^(null==n?0:XO(n))},nPU.Ib=function(){var n,t;return t=GP((n=this.c).qk()).yi(),n.xe(),(null!=t&&0!=t.length?t+":"+n.xe():n.xe())+"="+this.md()},NO(njD,"EStructuralFeatureImpl/BasicFeatureMapEntry",576),ncy(791,576,nEX,Cn),nPU.yl=function(n){return new Cn(this.c,n)},nPU.md=function(){return this.a},nPU.zl=function(n,t,e){var i,r,a;return i=this.a,r=e,i&&(a=Yy(n.Dh(),this.c),r=i.Rh(n,-1-(-1==a?t:a),null,r)),r},nPU.Al=function(n,t,e){var i,r,a;return i=this.a,r=e,i&&(a=Yy(n.Dh(),this.c),r=i.Th(n,-1-(-1==a?t:a),null,r)),r},NO(njD,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",791),ncy(1350,1,{},jC),nPU.yk=function(n,t,e,i,r){return O2(Hm(n,this.b),220).Yl(this.a).Fk(i)},nPU.zk=function(n,t,e,i,r){return O2(Hm(n,this.b),220).Pl(this.a,i,r)},nPU.Ak=function(n,t,e,i,r){return O2(Hm(n,this.b),220).Ql(this.a,i,r)},nPU.Bk=function(n,t,e){return O2(Hm(n,this.b),220).Yl(this.a).Qj()},nPU.Ck=function(n,t,e,i){O2(Hm(n,this.b),220).Yl(this.a).Wb(i)},nPU.Dk=function(n,t,e){return O2(Hm(n,this.b),220).Yl(this.a)},nPU.Ek=function(n,t,e){O2(Hm(n,this.b),220).Yl(this.a).Gk()},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1350),ncy(91,1,{},OR,Ds,D6,FF),nPU.yk=function(n,t,e,i,r){var a;if(null==(a=t.li(e))&&t.mi(e,a=nlK(this,n)),!r)switch(this.e){case 50:case 41:return O2(a,597).bk();case 40:return O2(a,220).Vl()}return a},nPU.zk=function(n,t,e,i,r){var a;return null==(a=t.li(e))&&t.mi(e,a=nlK(this,n)),O2(a,71).Wk(i,r)},nPU.Ak=function(n,t,e,i,r){var a;return null!=(a=t.li(e))&&(r=O2(a,71).Xk(i,r)),r},nPU.Bk=function(n,t,e){var i;return null!=(i=t.li(e))&&O2(i,79).Qj()},nPU.Ck=function(n,t,e,i){var r;(r=O2(t.li(e),79))||t.mi(e,r=nlK(this,n)),r.Wb(i)},nPU.Dk=function(n,t,e){var i;return(null==(i=t.li(e))&&t.mi(e,i=nlK(this,n)),EM(i,79))?O2(i,79):new w4(O2(t.li(e),15))},nPU.Ek=function(n,t,e){var i;(i=O2(t.li(e),79))||t.mi(e,i=nlK(this,n)),i.Gk()},nPU.b=0,nPU.e=0,NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateMany",91),ncy(512,1,{}),nPU.zk=function(n,t,e,i,r){throw(new dx).e},nPU.Ak=function(n,t,e,i,r){throw(new dx).e},nPU.Dk=function(n,t,e){return new Dh(this,n,t,e)},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingle",512),ncy(1367,1,nEM,Dh),nPU.Fk=function(n){return this.a.yk(this.c,this.d,this.b,n,!0)},nPU.Qj=function(){return this.a.Bk(this.c,this.d,this.b)},nPU.Wb=function(n){this.a.Ck(this.c,this.d,this.b,n)},nPU.Gk=function(){this.a.Ek(this.c,this.d,this.b)},nPU.b=0,NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1367),ncy(784,512,{},xd),nPU.yk=function(n,t,e,i,r){return nsr(n,n.Ph(),n.Fh())==this.b?this.bl()&&i?ncl(n):n.Ph():null},nPU.zk=function(n,t,e,i,r){var a,c;return n.Ph()&&(r=(a=n.Fh())>=0?n.Ah(r):n.Ph().Th(n,-1-a,null,r)),c=Yy(n.Dh(),this.e),n.Ch(i,c,r)},nPU.Ak=function(n,t,e,i,r){var a;return a=Yy(n.Dh(),this.e),n.Ch(null,a,r)},nPU.Bk=function(n,t,e){var i;return i=Yy(n.Dh(),this.e),!!n.Ph()&&n.Fh()==i},nPU.Ck=function(n,t,e,i){var r,a,c,u,o;if(null!=i&&!ns2(this.a,i))throw new pL(nEz+(EM(i,58)?neZ(O2(i,58).Dh()):Gc(W2(i)))+nEV+this.a+"'").e;if(r=n.Ph(),c=Yy(n.Dh(),this.e),jR(i)!==jR(r)||n.Fh()!=c&&null!=i){if(nei(n,O2(i,58)))throw new pN(njR+n.Ib()).e;o=null,r&&(o=(a=n.Fh())>=0?n.Ah(o):n.Ph().Th(n,-1-a,null,o)),(u=O2(i,54))&&(o=u.Rh(n,Yy(u.Dh(),this.b),null,o)),(o=n.Ch(u,c,o))&&o.oj()}else n.vh()&&n.wh()&&zI(n,new LS(n,1,c,i,i))},nPU.Ek=function(n,t,e){var i,r,a;n.Ph()?(a=(i=n.Fh())>=0?n.Ah(null):n.Ph().Th(n,-1-i,null,null),r=Yy(n.Dh(),this.e),(a=n.Ch(null,r,a))&&a.oj()):n.vh()&&n.wh()&&zI(n,new LP(n,1,this.e,null,null))},nPU.bl=function(){return!1},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",784),ncy(1351,784,{},OK),nPU.bl=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1351),ncy(574,512,{}),nPU.yk=function(n,t,e,i,r){var a;return null==(a=t.li(e))?this.b:jR(a)===jR(n2_)?null:a},nPU.Bk=function(n,t,e){var i;return null!=(i=t.li(e))&&(jR(i)===jR(n2_)||!Q0(i,this.b))},nPU.Ck=function(n,t,e,i){var r,a;n.vh()&&n.wh()?(r=null==(a=t.li(e))?this.b:jR(a)===jR(n2_)?null:a,null==i?null!=this.c?(t.mi(e,null),i=this.b):null!=this.b?t.mi(e,n2_):t.mi(e,null):(this.Bl(i),t.mi(e,i)),zI(n,this.d.Cl(n,1,this.e,r,i))):null==i?null!=this.c?t.mi(e,null):null!=this.b?t.mi(e,n2_):t.mi(e,null):(this.Bl(i),t.mi(e,i))},nPU.Ek=function(n,t,e){var i,r;n.vh()&&n.wh()?(i=null==(r=t.li(e))?this.b:jR(r)===jR(n2_)?null:r,t.ni(e),zI(n,this.d.Cl(n,1,this.e,i,this.b))):t.ni(e)},nPU.Bl=function(n){throw(new dL).e},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",574),ncy(1352,1,{},oe),nPU.Cl=function(n,t,e,i,r){return new LP(n,t,e,i,r)},nPU.Dl=function(n,t,e,i,r,a){return new D_(n,t,e,i,r,a)},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",1352),ncy(1368,1352,{},oi),nPU.Cl=function(n,t,e,i,r){return new _O(n,t,e,pT(PO(i)),pT(PO(r)))},nPU.Dl=function(n,t,e,i,r,a){return new Ku(n,t,e,pT(PO(i)),pT(PO(r)),a)},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1368),ncy(1369,1352,{},or),nPU.Cl=function(n,t,e,i,r){return new qh(n,t,e,O2(i,222).a,O2(r,222).a)},nPU.Dl=function(n,t,e,i,r,a){return new Kn(n,t,e,O2(i,222).a,O2(r,222).a,a)},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1369),ncy(1370,1352,{},oa),nPU.Cl=function(n,t,e,i,r){return new qf(n,t,e,O2(i,180).a,O2(r,180).a)},nPU.Dl=function(n,t,e,i,r,a){return new Kt(n,t,e,O2(i,180).a,O2(r,180).a,a)},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1370),ncy(1371,1352,{},oc),nPU.Cl=function(n,t,e,i,r){return new _P(n,t,e,pE(PI(i)),pE(PI(r)))},nPU.Dl=function(n,t,e,i,r,a){return new Ke(n,t,e,pE(PI(i)),pE(PI(r)),a)},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1371),ncy(1372,1352,{},ou),nPU.Cl=function(n,t,e,i,r){return new qw(n,t,e,O2(i,161).a,O2(r,161).a)},nPU.Dl=function(n,t,e,i,r,a){return new Ki(n,t,e,O2(i,161).a,O2(r,161).a,a)},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1372),ncy(1373,1352,{},oo),nPU.Cl=function(n,t,e,i,r){return new _C(n,t,e,O2(i,17).a,O2(r,17).a)},nPU.Dl=function(n,t,e,i,r,a){return new Kr(n,t,e,O2(i,17).a,O2(r,17).a,a)},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1373),ncy(1374,1352,{},os),nPU.Cl=function(n,t,e,i,r){return new ql(n,t,e,O2(i,168).a,O2(r,168).a)},nPU.Dl=function(n,t,e,i,r,a){return new Ka(n,t,e,O2(i,168).a,O2(r,168).a,a)},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1374),ncy(1375,1352,{},oh),nPU.Cl=function(n,t,e,i,r){return new qb(n,t,e,O2(i,191).a,O2(r,191).a)},nPU.Dl=function(n,t,e,i,r,a){return new Kc(n,t,e,O2(i,191).a,O2(r,191).a,a)},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1375),ncy(1353,574,{},Df),nPU.Bl=function(n){if(!this.a.fk(n))throw new pL(nEz+W2(n)+nEV+this.a+"'").e},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1353),ncy(1354,574,{},AV),nPU.Bl=function(n){},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1354),ncy(785,574,{}),nPU.Bk=function(n,t,e){return null!=t.li(e)},nPU.Ck=function(n,t,e,i){var r,a;n.vh()&&n.wh()?(r=!0,null==(a=t.li(e))?(r=!1,a=this.b):jR(a)===jR(n2_)&&(a=null),null==i?null!=this.c?(t.mi(e,null),i=this.b):t.mi(e,n2_):(this.Bl(i),t.mi(e,i)),zI(n,this.d.Dl(n,1,this.e,a,i,!r))):null==i?null!=this.c?t.mi(e,null):t.mi(e,n2_):(this.Bl(i),t.mi(e,i))},nPU.Ek=function(n,t,e){var i,r;n.vh()&&n.wh()?(i=!0,null==(r=t.li(e))?(i=!1,r=this.b):jR(r)===jR(n2_)&&(r=null),t.ni(e),zI(n,this.d.Dl(n,2,this.e,r,this.b,i))):t.ni(e)},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",785),ncy(1355,785,{},Dl),nPU.Bl=function(n){if(!this.a.fk(n))throw new pL(nEz+W2(n)+nEV+this.a+"'").e},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1355),ncy(1356,785,{},AW),nPU.Bl=function(n){},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1356),ncy(410,512,{},Ak),nPU.yk=function(n,t,e,i,r){var a,c,u,o,s;if(s=t.li(e),this.tk()&&jR(s)===jR(n2_))return null;if(!this.bl()||!i||null==s)return s;if((u=O2(s,54)).Vh()&&(o=QT(n,u),u!=o)){if(!ns2(this.a,o))throw new pL(nEz+W2(o)+nEV+this.a+"'").e;t.mi(e,s=o),this.al()&&(a=O2(o,54),c=u.Th(n,this.b?Yy(u.Dh(),this.b):-1-Yy(n.Dh(),this.e),null,null),a.Ph()||(c=a.Rh(n,this.b?Yy(a.Dh(),this.b):-1-Yy(n.Dh(),this.e),null,c)),c&&c.oj()),n.vh()&&n.wh()&&zI(n,new LP(n,9,this.e,u,o))}return s},nPU.zk=function(n,t,e,i,r){var a,c;return jR(c=t.li(e))===jR(n2_)&&(c=null),t.mi(e,i),this.Mj()?jR(c)!==jR(i)&&null!=c&&(r=(a=O2(c,54)).Th(n,Yy(a.Dh(),this.b),null,r)):this.al()&&null!=c&&(r=O2(c,54).Th(n,-1-Yy(n.Dh(),this.e),null,r)),n.vh()&&n.wh()&&(r||(r=new mw(4)),r.nj(new LP(n,1,this.e,c,i))),r},nPU.Ak=function(n,t,e,i,r){var a;return jR(a=t.li(e))===jR(n2_)&&(a=null),t.ni(e),n.vh()&&n.wh()&&(r||(r=new mw(4)),this.tk()?r.nj(new LP(n,2,this.e,a,null)):r.nj(new LP(n,1,this.e,a,null))),r},nPU.Bk=function(n,t,e){return null!=t.li(e)},nPU.Ck=function(n,t,e,i){var r,a,c,u,o;if(null!=i&&!ns2(this.a,i))throw new pL(nEz+(EM(i,58)?neZ(O2(i,58).Dh()):Gc(W2(i)))+nEV+this.a+"'").e;u=null!=(o=t.li(e)),this.tk()&&jR(o)===jR(n2_)&&(o=null),c=null,this.Mj()?jR(o)!==jR(i)&&(null!=o&&(c=(r=O2(o,54)).Th(n,Yy(r.Dh(),this.b),null,c)),null!=i&&(c=(r=O2(i,54)).Rh(n,Yy(r.Dh(),this.b),null,c))):this.al()&&jR(o)!==jR(i)&&(null!=o&&(c=O2(o,54).Th(n,-1-Yy(n.Dh(),this.e),null,c)),null!=i&&(c=O2(i,54).Rh(n,-1-Yy(n.Dh(),this.e),null,c))),null==i&&this.tk()?t.mi(e,n2_):t.mi(e,i),n.vh()&&n.wh()?(a=new D_(n,1,this.e,o,i,this.tk()&&!u),c?(c.nj(a),c.oj()):zI(n,a)):c&&c.oj()},nPU.Ek=function(n,t,e){var i,r,a,c,u;c=null!=(u=t.li(e)),this.tk()&&jR(u)===jR(n2_)&&(u=null),a=null,null!=u&&(this.Mj()?a=(i=O2(u,54)).Th(n,Yy(i.Dh(),this.b),null,a):this.al()&&(a=O2(u,54).Th(n,-1-Yy(n.Dh(),this.e),null,a))),t.ni(e),n.vh()&&n.wh()?(r=new D_(n,this.tk()?2:1,this.e,u,null,c),a?(a.nj(r),a.oj()):zI(n,r)):a&&a.oj()},nPU.Mj=function(){return!1},nPU.al=function(){return!1},nPU.bl=function(){return!1},nPU.tk=function(){return!1},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",410),ncy(575,410,{},Py),nPU.al=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",575),ncy(1359,575,{},PM),nPU.bl=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1359),ncy(787,575,{},Pj),nPU.tk=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",787),ncy(1361,787,{},PE),nPU.bl=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1361),ncy(650,575,{},OF),nPU.Mj=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",650),ncy(1360,650,{},OH),nPU.bl=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1360),ncy(788,650,{},OU),nPU.tk=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",788),ncy(1362,788,{},OG),nPU.bl=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1362),ncy(651,410,{},PT),nPU.bl=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",651),ncy(1363,651,{},PS),nPU.tk=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1363),ncy(789,651,{},O_),nPU.Mj=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",789),ncy(1364,789,{},Oq),nPU.tk=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1364),ncy(1357,410,{},PP),nPU.tk=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1357),ncy(786,410,{},OB),nPU.Mj=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",786),ncy(1358,786,{},OX),nPU.tk=function(){return!0},NO(njD,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1358),ncy(790,576,nEX,N2),nPU.yl=function(n){return new N2(this.a,this.c,n)},nPU.md=function(){return this.b},nPU.zl=function(n,t,e){var i,r;return i=this.b,r=e,i&&(r=i.Rh(n,Yy(i.Dh(),this.c.uk()),null,r)),r},nPU.Al=function(n,t,e){var i,r;return i=this.b,r=e,i&&(r=i.Th(n,Yy(i.Dh(),this.c.uk()),null,r)),r},NO(njD,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",790),ncy(1365,1,nEM,w4),nPU.Fk=function(n){return this.a},nPU.Qj=function(){return EM(this.a,97)?O2(this.a,97).Qj():!this.a.dc()},nPU.Wb=function(n){this.a.$b(),this.a.Gc(O2(n,15))},nPU.Gk=function(){EM(this.a,97)?O2(this.a,97).Gk():this.a.$b()},NO(njD,"EStructuralFeatureImpl/SettingMany",1365),ncy(1366,576,nEX,FH),nPU.xl=function(n){return new Ct((nfw(),n3R),this.b.ri(this.a,n))},nPU.md=function(){return null},nPU.zl=function(n,t,e){return e},nPU.Al=function(n,t,e){return e},NO(njD,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1366),ncy(652,576,nEX,Ct),nPU.xl=function(n){return new Ct(this.c,n)},nPU.md=function(){return this.a},nPU.zl=function(n,t,e){return e},nPU.Al=function(n,t,e){return e},NO(njD,"EStructuralFeatureImpl/SimpleFeatureMapEntry",652),ncy(403,506,nTy,of),nPU.aj=function(n){return B0(n0Z,nbe,29,n,0,1)},nPU.Yi=function(){return!1},NO(njD,"ESuperAdapter/1",403),ncy(457,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,850:1,54:1,99:1,158:1,457:1,119:1,120:1},ol),nPU.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.a||(this.a=new Ay(this,n03,this)),this.a}return HP(this,n-NF((nlz(),n2A)),Gr(O2(z$(this,16),29)||n2A,n),t,e)},nPU.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new LE(n0V,this,0,3)),nnp(this.Ab,n,e);case 2:return this.a||(this.a=new Ay(this,n03,this)),nnp(this.a,n,e)}return O2(Gr(O2(z$(this,16),29)||(nlz(),n2A),t),69).wk().Ak(this,Zy(this),t-NF((nlz(),n2A)),n,e)},nPU.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return!!this.a&&0!=this.a.i}return Fo(this,n-NF((nlz(),n2A)),Gr(O2(z$(this,16),29)||n2A,n))},nPU.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab),this.Ab||(this.Ab=new LE(n0V,this,0,3)),Nl(this.Ab,O2(t,16));return;case 1:XL(this,PA(t));return;case 2:this.a||(this.a=new Ay(this,n03,this)),nfi(this.a),this.a||(this.a=new Ay(this,n03,this)),Nl(this.a,O2(t,16));return}J7(this,n-NF((nlz(),n2A)),Gr(O2(z$(this,16),29)||n2A,n),t)},nPU.ii=function(){return nlz(),n2A},nPU.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new LE(n0V,this,0,3)),nfi(this.Ab);return;case 1:XL(this,null);return;case 2:this.a||(this.a=new Ay(this,n03,this)),nfi(this.a);return}Q2(this,n-NF((nlz(),n2A)),Gr(O2(z$(this,16),29)||n2A,n))},NO(njD,"ETypeParameterImpl",457),ncy(458,83,nEK,Ay),nPU.Nj=function(n,t){return function(n,t,e){var i,r;for(e=nnf(t,n.e,-1-n.c,e),r=new w9(new zE(new fP($g(n.a).a).a));r.a.b;)e=nfG(i=O2(Xf(r.a).ld(),89),nui(i,n.a),e);return e}(this,O2(n,89),t)},nPU.Oj=function(n,t){return function(n,t,e){var i,r;for(e=xs(t,n.e,-1-n.c,e),r=new w9(new zE(new fP($g(n.a).a).a));r.a.b;)e=nfG(i=O2(Xf(r.a).ld(),89),nui(i,n.a),e);return e}(this,O2(n,89),t)},NO(njD,"ETypeParameterImpl/1",458),ncy(647,45,nw8,gR),nPU.ec=function(){return new w8(this)},NO(njD,"ETypeParameterImpl/2",647),ncy(570,2063,nbd,w8),nPU.Fc=function(n){return CS(this,O2(n,89))},nPU.Gc=function(n){var t,e,i;for(i=!1,e=n.Kc();e.Ob();)t=O2(e.Pb(),89),null==$S(this.a,t,"")&&(i=!0);return i},nPU.$b=function(){LX(this.a)},nPU.Hc=function(n){return LB(this.a,n)},nPU.Kc=function(){return new w9(new zE(new fP(this.a).a))},nPU.Mc=function(n){return Bu(this,n)},nPU.gc=function(){return v_(this.a)},NO(njD,"ETypeParameterImpl/2/1",570),ncy(571,1,nbf,w9),nPU.Nb=function(n){L_(this,n)},nPU.Pb=function(){return O2(Xf(this.a).ld(),89)},nPU.Ob=function(){return this.a.b},nPU.Qb=function(){Uc(this.a)},NO(njD,"ETypeParameterImpl/2/1/1",571),ncy(1329,45,nw8,gK),nPU._b=function(n){return jK(n)?DV(this,n):!!AO(this.f,n)},nPU.xc=function(n){var t;return EM(t=jK(n)?xp(this,n):jx(AO(this.f,n)),851)?(t=O2(t,851).Kk(),$S(this,O2(n,241),t),t):null!=t?t:null==n?(kS(),n3i):null},NO(njD,"EValidatorRegistryImpl",1329),ncy(1349,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,2040:1,54:1,99:1,158:1,119:1,120:1},ob),nPU.ri=function(n,t){var e,i,r;switch(n.hk()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return null==t?null:J6(t);case 25:return null==t?null:function(n,t){var e,i,r,a,c;if(null==n)return null;for(i=0,c=B0(n4h,nb7,28,2*t,15,1),r=0;i>4&15,a=15&n[i],c[r++]=n0w[e],c[r++]=n0w[a];return Zo(c,0,c.length)}(e=O2(t,195),e.length);case 27:case 28:return EM(t,180)?""+O2(t,180).a:null==t?null:J6(t);case 29:return null==t?null:(i=n0b[0],r=O2(t,206),nfB(i.a,r,null));case 41:return null==t?"":mI(O2(t,297));case 42:return J6(t);case 50:return PA(t);default:throw new pN(njK+n.xe()+njF).e}},nPU.si=function(n){var t;switch(-1==n.G&&(n.G=(t=GP(n))?nny(t.vi(),n):-1),n.G){case 0:return new gA;case 1:return new u2;case 2:return new hH;case 4:return new dH;case 5:return new gN;case 6:return new dB;case 7:return new hU;case 10:return new u1;case 11:return new g$;case 12:return new DC;case 13:return new gx;case 14:return new PF;case 17:return new ot;case 18:return new df;case 19:return new ol;default:throw new pN(njH+n.zb+njF).e}},nPU.ti=function(n,t){switch(n.hk()){case 20:return null==t?null:new mW(t);case 21:return null==t?null:new TV(t);case 23:case 22:return null==t?null:function(n){if(ZE(nML,n))return SB(),nCh;if(ZE(nMN,n))return SB(),nCs;throw new pN("Expecting true or false").e}(t);case 26:case 24:return null==t?null:Up(nsS(t,-128,127)<<24>>24);case 25:return function(n){var t,e,i,r,a,c,u;if(null==n)return null;for(c=B0(n4w,njB,28,r=((u=n.length)+1)/2|0,15,1),u%2!=0&&(c[--r]=noM((RK(u-1,n.length),n.charCodeAt(u-1)))),e=0,i=0;e>24;return c}(t);case 27:return function(n){var t;if(null==n)return null;t=0;try{t=nsS(n,nb1,nl5)&nwt}catch(e){if(EM(e=Vr(e),130))t=Ug(n)[0];else throw e.e}return zU(t)}(t);case 28:return function(n){var t;if(null==n)return null;t=0;try{t=nsS(n,nb1,nl5)&nwt}catch(e){if(EM(e=Vr(e),130))t=Ug(n)[0];else throw e.e}return zU(t)}(t);case 29:return function(n){var t,e,i;if(null==n)return null;for(e=0,t=null;e>16);case 50:return t;default:throw new pN(njK+n.xe()+njF).e}},NO(njD,"EcoreFactoryImpl",1349),ncy(560,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,2038:1,54:1,99:1,158:1,184:1,560:1,119:1,120:1,690:1},$j),nPU.gb=!1,nPU.hb=!1;var n2i,n2r,n2a,n2c,n2u,n2o,n2s,n2h,n2f,n2l,n2b,n2w,n2d,n2g,n2p,n2m,n2v,n2k,n2y,n2M,n2j,n2T,n2E,n2S,n2P,n2C,n2O,n2I,n2A,n2L,n2N,n2$,n2D,n2x,n2R,n2K,n2F,n2_,n2B,n2H,n2U,n2G,n2q,n2X,n2z,n2V,n2W,n2Q,n2J=!1;NO(njD,"EcorePackageImpl",560),ncy(1234,1,{851:1},ow),nPU.Kk=function(){return E7(),n3r},NO(njD,"EcorePackageImpl/1",1234),ncy(1243,1,nE9,od),nPU.fk=function(n){return EM(n,155)},nPU.gk=function(n){return B0(nL7,nbe,155,n,0,1)},NO(njD,"EcorePackageImpl/10",1243),ncy(1244,1,nE9,og),nPU.fk=function(n){return EM(n,197)},nPU.gk=function(n){return B0(nNt,nbe,197,n,0,1)},NO(njD,"EcorePackageImpl/11",1244),ncy(1245,1,nE9,op),nPU.fk=function(n){return EM(n,58)},nPU.gk=function(n){return B0(nL0,nbe,58,n,0,1)},NO(njD,"EcorePackageImpl/12",1245),ncy(1246,1,nE9,om),nPU.fk=function(n){return EM(n,411)},nPU.gk=function(n){return B0(n04,nEx,62,n,0,1)},NO(njD,"EcorePackageImpl/13",1246),ncy(1247,1,nE9,ov),nPU.fk=function(n){return EM(n,241)},nPU.gk=function(n){return B0(nNe,nbe,241,n,0,1)},NO(njD,"EcorePackageImpl/14",1247),ncy(1248,1,nE9,ok),nPU.fk=function(n){return EM(n,518)},nPU.gk=function(n){return B0(n06,nbe,2116,n,0,1)},NO(njD,"EcorePackageImpl/15",1248),ncy(1249,1,nE9,oy),nPU.fk=function(n){return EM(n,102)},nPU.gk=function(n){return B0(n05,nED,19,n,0,1)},NO(njD,"EcorePackageImpl/16",1249),ncy(1250,1,nE9,oM),nPU.fk=function(n){return EM(n,179)},nPU.gk=function(n){return B0(n0Q,nED,179,n,0,1)},NO(njD,"EcorePackageImpl/17",1250),ncy(1251,1,nE9,oj),nPU.fk=function(n){return EM(n,481)},nPU.gk=function(n){return B0(n0W,nbe,481,n,0,1)},NO(njD,"EcorePackageImpl/18",1251),ncy(1252,1,nE9,oT),nPU.fk=function(n){return EM(n,561)},nPU.gk=function(n){return B0(n2t,nEu,561,n,0,1)},NO(njD,"EcorePackageImpl/19",1252),ncy(1235,1,nE9,oE),nPU.fk=function(n){return EM(n,331)},nPU.gk=function(n){return B0(n0J,nED,35,n,0,1)},NO(njD,"EcorePackageImpl/2",1235),ncy(1253,1,nE9,oS),nPU.fk=function(n){return EM(n,248)},nPU.gk=function(n){return B0(n03,nEH,89,n,0,1)},NO(njD,"EcorePackageImpl/20",1253),ncy(1254,1,nE9,oP),nPU.fk=function(n){return EM(n,457)},nPU.gk=function(n){return B0(n08,nbe,850,n,0,1)},NO(njD,"EcorePackageImpl/21",1254),ncy(1255,1,nE9,oC),nPU.fk=function(n){return jF(n)},nPU.gk=function(n){return B0(nPE,nbj,485,n,8,1)},NO(njD,"EcorePackageImpl/22",1255),ncy(1256,1,nE9,oO),nPU.fk=function(n){return EM(n,195)},nPU.gk=function(n){return B0(n4w,nbj,195,n,0,2)},NO(njD,"EcorePackageImpl/23",1256),ncy(1257,1,nE9,oI),nPU.fk=function(n){return EM(n,222)},nPU.gk=function(n){return B0(nPS,nbj,222,n,0,1)},NO(njD,"EcorePackageImpl/24",1257),ncy(1258,1,nE9,oA),nPU.fk=function(n){return EM(n,180)},nPU.gk=function(n){return B0(nPP,nbj,180,n,0,1)},NO(njD,"EcorePackageImpl/25",1258),ncy(1259,1,nE9,oL),nPU.fk=function(n){return EM(n,206)},nPU.gk=function(n){return B0(nPT,nbj,206,n,0,1)},NO(njD,"EcorePackageImpl/26",1259),ncy(1260,1,nE9,oN),nPU.fk=function(n){return!1},nPU.gk=function(n){return B0(n4v,nbe,2215,n,0,1)},NO(njD,"EcorePackageImpl/27",1260),ncy(1261,1,nE9,o$),nPU.fk=function(n){return j_(n)},nPU.gk=function(n){return B0(nPC,nbj,345,n,7,1)},NO(njD,"EcorePackageImpl/28",1261),ncy(1262,1,nE9,oD),nPU.fk=function(n){return EM(n,61)},nPU.gk=function(n){return B0(nNh,ngH,61,n,0,1)},NO(njD,"EcorePackageImpl/29",1262),ncy(1236,1,nE9,ox),nPU.fk=function(n){return EM(n,519)},nPU.gk=function(n){return B0(n0V,{3:1,4:1,5:1,2033:1},598,n,0,1)},NO(njD,"EcorePackageImpl/3",1236),ncy(1263,1,nE9,oR),nPU.fk=function(n){return EM(n,582)},nPU.gk=function(n){return B0(nNp,nbe,2039,n,0,1)},NO(njD,"EcorePackageImpl/30",1263),ncy(1264,1,nE9,oK),nPU.fk=function(n){return EM(n,160)},nPU.gk=function(n){return B0(n2Z,ngH,160,n,0,1)},NO(njD,"EcorePackageImpl/31",1264),ncy(1265,1,nE9,oF),nPU.fk=function(n){return EM(n,76)},nPU.gk=function(n){return B0(n07,nE7,76,n,0,1)},NO(njD,"EcorePackageImpl/32",1265),ncy(1266,1,nE9,o_),nPU.fk=function(n){return EM(n,161)},nPU.gk=function(n){return B0(nPO,nbj,161,n,0,1)},NO(njD,"EcorePackageImpl/33",1266),ncy(1267,1,nE9,oB),nPU.fk=function(n){return EM(n,17)},nPU.gk=function(n){return B0(nPI,nbj,17,n,0,1)},NO(njD,"EcorePackageImpl/34",1267),ncy(1268,1,nE9,oH),nPU.fk=function(n){return EM(n,297)},nPU.gk=function(n){return B0(nPo,nbe,297,n,0,1)},NO(njD,"EcorePackageImpl/35",1268),ncy(1269,1,nE9,oU),nPU.fk=function(n){return EM(n,168)},nPU.gk=function(n){return B0(nPA,nbj,168,n,0,1)},NO(njD,"EcorePackageImpl/36",1269),ncy(1270,1,nE9,oG),nPU.fk=function(n){return EM(n,85)},nPU.gk=function(n){return B0(nPh,nbe,85,n,0,1)},NO(njD,"EcorePackageImpl/37",1270),ncy(1271,1,nE9,oq),nPU.fk=function(n){return EM(n,599)},nPU.gk=function(n){return B0(n2Y,nbe,599,n,0,1)},NO(njD,"EcorePackageImpl/38",1271),ncy(1272,1,nE9,oX),nPU.fk=function(n){return!1},nPU.gk=function(n){return B0(n4k,nbe,2216,n,0,1)},NO(njD,"EcorePackageImpl/39",1272),ncy(1237,1,nE9,oz),nPU.fk=function(n){return EM(n,90)},nPU.gk=function(n){return B0(n0Z,nbe,29,n,0,1)},NO(njD,"EcorePackageImpl/4",1237),ncy(1273,1,nE9,oV),nPU.fk=function(n){return EM(n,191)},nPU.gk=function(n){return B0(nPL,nbj,191,n,0,1)},NO(njD,"EcorePackageImpl/40",1273),ncy(1274,1,nE9,oW),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(njD,"EcorePackageImpl/41",1274),ncy(1275,1,nE9,oQ),nPU.fk=function(n){return EM(n,596)},nPU.gk=function(n){return B0(nNl,nbe,596,n,0,1)},NO(njD,"EcorePackageImpl/42",1275),ncy(1276,1,nE9,oJ),nPU.fk=function(n){return!1},nPU.gk=function(n){return B0(n4y,nbj,2217,n,0,1)},NO(njD,"EcorePackageImpl/43",1276),ncy(1277,1,nE9,oY),nPU.fk=function(n){return EM(n,44)},nPU.gk=function(n){return B0(nPw,nbD,44,n,0,1)},NO(njD,"EcorePackageImpl/44",1277),ncy(1238,1,nE9,oZ),nPU.fk=function(n){return EM(n,142)},nPU.gk=function(n){return B0(n0Y,nbe,142,n,0,1)},NO(njD,"EcorePackageImpl/5",1238),ncy(1239,1,nE9,o1),nPU.fk=function(n){return EM(n,156)},nPU.gk=function(n){return B0(n01,nbe,156,n,0,1)},NO(njD,"EcorePackageImpl/6",1239),ncy(1240,1,nE9,o0),nPU.fk=function(n){return EM(n,469)},nPU.gk=function(n){return B0(n00,nbe,685,n,0,1)},NO(njD,"EcorePackageImpl/7",1240),ncy(1241,1,nE9,o2),nPU.fk=function(n){return EM(n,582)},nPU.gk=function(n){return B0(n02,nbe,694,n,0,1)},NO(njD,"EcorePackageImpl/8",1241),ncy(1242,1,nE9,o3),nPU.fk=function(n){return EM(n,480)},nPU.gk=function(n){return B0(nNn,nbe,480,n,0,1)},NO(njD,"EcorePackageImpl/9",1242),ncy(1038,2080,nEa,pM),nPU.Mi=function(n,t){!function(n,t){var e,i,r;if(t.ej(n.a),null!=(r=O2(z$(n.a,8),2035)))for(e=0,i=r.length;e0){if(RK(0,n.length),47==n.charCodeAt(0)){for(t=1,a=new Bd(4),r=1;t0)try{i=nsS(t,nb1,nl5)}catch(n){if(EM(n=Vr(n),130))throw new Ui(n).e;throw n.e}return n.a||(n.a=new w7(n)),i<(e=n.a).i&&i>=0?O2(GA(e,i),58):null}(n,0==(r=t.c.length)?"":(RR(0,t.c.length),PA(t.c[0])));i0&&(B5(0,e,n.length),n=n.substr(0,e))}return function(n,t){var e,i,r,a,c,u;for(a=null,r=new LO((n.a||(n.a=new w7(n)),n.a));naW(r);)if(nhx(c=(e=O2(nc4(r),58)).Dh()),null!=(i=(u=c.o)&&e.Xh(u)?CH(Vt(u),e.Mh(u)):null)&&Cq(i,t)){a=e;break}return a}(this,n)},nPU.Gl=function(){return this.c},nPU.Ib=function(){return mI(this.Rm)+"@"+(XO(this)>>>0).toString(16)+" uri='"+this.d+"'"},nPU.b=!1,NO(nSe,"ResourceImpl",799),ncy(1525,799,nSt,dn),NO(nSe,"BinaryResourceImpl",1525),ncy(1190,708,nTM),nPU.bj=function(n){var t;return EM(n,58)?(t=O2(n,58),this.a?t.Gh().Kc():O2(t.Gh(),71).Ii()):EM(n,599)?new E2(O2(n,599).El()):jR(n)===jR(this.f)?O2(n,16).Kc():(PR(),n0I.a)},nPU.Ob=function(){return naW(this)},nPU.a=!1,NO(nEy,"EcoreUtil/ContentTreeIterator",1190),ncy(1526,1190,nTM,LO),nPU.bj=function(n){return jR(n)===jR(this.f)?O2(n,15).Kc():new K9(O2(n,58))},NO(nSe,"ResourceImpl/5",1526),ncy(658,2092,nER,w7),nPU.Hc=function(n){return this.i<=4?neA(this,n):EM(n,54)&&O2(n,54).Jh()==this.a},nPU.Mi=function(n,t){n==this.i-1&&(this.a.b||(this.a.b=!0))},nPU.Oi=function(n,t){0==n?this.a.b||(this.a.b=!0):B2(this,n,t)},nPU.Qi=function(n,t){},nPU.Ri=function(n,t,e){},nPU.Lj=function(){return 2},nPU.jj=function(){return this.a},nPU.Mj=function(){return!0},nPU.Nj=function(n,t){return t=O2(n,54).fi(this.a,t)},nPU.Oj=function(n,t){return O2(n,54).fi(null,t)},nPU.Pj=function(){return!1},nPU.Si=function(){return!0},nPU.aj=function(n){return B0(nL0,nbe,58,n,0,1)},nPU.Yi=function(){return!1},NO(nSe,"ResourceImpl/ContentsEList",658),ncy(970,2062,nbV,dt),nPU.fd=function(n){return this.a.Ki(n)},nPU.gc=function(){return this.a.gc()},NO(nEy,"AbstractSequentialInternalEList/1",970),ncy(634,1,{},Ip),NO(nEy,"BasicExtendedMetaData",634),ncy(1181,1,{},jI),nPU.Jl=function(){return null},nPU.Kl=function(){var n;return -2==this.a&&(n=function(n,t){var e,i,r;if((e=t.qi(n.a))&&null!=(r=Yq((e.b||(e.b=new Pd((nlz(),n2C),n2t,e)),e.b),nEB))){for(i=1;i<(nr_(),n28).length;++i)if(Cq(n28[i],r))return i}return 0}(this.d,this.b),this.a=n),this.a},nPU.Ll=function(){return null},nPU.Ml=function(){return DL(),DL(),nCH},nPU.xe=function(){var n;return this.c==nSp&&(n=ZN(this.d,this.b),this.c=n),this.c},nPU.Nl=function(){return 0},nPU.a=-2,nPU.c=nSp,NO(nEy,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1181),ncy(1182,1,{},Ks),nPU.Jl=function(){var n,t,e,i,r,a,c,u,o;return this.a==(Bl(),n3t)&&(t=this.f,n=(r=(e=this.b).qi(t.a))&&(r.b||(r.b=new Pd((nlz(),n2C),n2t,r)),null!=(i=PA(Yq(r.b,nEJ))))&&EM(c=-1==(a=i.lastIndexOf("#"))?(u=e.jk(),o=i,nh0(Uo(t,u),o)):0==a?Hp(t,null,(RK(1,i.length+1),i.substr(1))):Hp(t,(B5(0,a,i.length),i.substr(0,a)),(RK(a+1,i.length+1),i.substr(a+1))),156)?O2(c,156):null,this.a=n),this.a},nPU.Kl=function(){return 0},nPU.Ll=function(){var n,t,e,i,r,a,c,u,o;return this.c==(Bl(),n3t)&&(t=this.f,n=(i=(e=this.b).qi(t.a))&&(i.b||(i.b=new Pd((nlz(),n2C),n2t,i)),null!=(a=PA(Yq(i.b,nSh))))&&EM(c=-1==(r=a.lastIndexOf("#"))?(u=e.jk(),o=a,nh0(Uo(t,u),o)):0==r?Hp(t,null,(RK(1,a.length+1),a.substr(1))):Hp(t,(B5(0,r,a.length),a.substr(0,r)),(RK(r+1,a.length+1),a.substr(r+1))),156)?O2(c,156):null,this.c=n),this.c},nPU.Ml=function(){var n;return this.d||(n=function(n,t){var e,i,r,a,c,u,o,s,h;if((e=t.qi(n.a))&&null!=(o=PA(Yq((e.b||(e.b=new Pd((nlz(),n2C),n2t,e)),e.b),"memberTypes")))){for(s=new du,a=nht(o,"\\w"),c=0,u=a.length;ce?t:e;s<=f;++s)s==e?u=i++:(a=r[s],h=w.am(a.Lk()),s==t&&(o=s!=f||h?i:i-1),h&&++i);return l=O2(Jk(n,t,e),76),u!=o&&dq(n,new Hd(n.e,7,c,QR(u),b.md(),o)),l}return O2(Jk(n,t,e),76)}(this,n,t)},nPU.Wi=function(n,t){return function(n,t,e){var i,r,a,c,u,o,s,h,f,l,b,w,d,g;if(EM(c=e.Lk(),102)&&(O2(c,19).Bb&nwz)!=0&&(l=O2(e.md(),54),(d=QT(n.e,l))!=l)){if(EH(n,t,nih(n,t,h=FT(c,d))),f=null,TN(n.e)&&(i=nfb((nr_(),n27),n.e.Dh(),c))!=Gr(n.e.Dh(),n.c)){for(o=0,g=nuR(n.e.Dh(),c),u=0,a=O2(n.g,124);o=0;)if(t=n[this.c],this.k.am(t.Lk()))return this.j=this.f?t:t.md(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},NO(nEy,"BasicFeatureMap/FeatureEIterator",420),ncy(676,420,nbv,Th),nPU.ul=function(){return!0},NO(nEy,"BasicFeatureMap/ResolvingFeatureEIterator",676),ncy(968,496,nEG,EP),nPU.pj=function(){return this},NO(nEy,"EContentsEList/1",968),ncy(969,496,nEG,Ts),nPU.ul=function(){return!1},NO(nEy,"EContentsEList/2",969),ncy(967,287,nEq,EC),nPU.wl=function(n){},nPU.Ob=function(){return!1},nPU.Sb=function(){return!1},NO(nEy,"EContentsEList/FeatureIteratorImpl/1",967),ncy(840,593,nEK,Eq),nPU.Ni=function(){this.a=!0},nPU.Qj=function(){return this.a},nPU.Gk=function(){var n;nfi(this),TN(this.e)?(n=this.a,this.a=!1,zI(this.e,new _S(this.e,2,this.c,n,!1))):this.a=!1},nPU.a=!1,NO(nEy,"EDataTypeEList/Unsettable",840),ncy(1958,593,nEK,EX),nPU.Si=function(){return!0},NO(nEy,"EDataTypeUniqueEList",1958),ncy(1959,840,nEK,Ez),nPU.Si=function(){return!0},NO(nEy,"EDataTypeUniqueEList/Unsettable",1959),ncy(147,83,nEK,EV),nPU.nl=function(){return!0},nPU.Wi=function(n,t){return nca(this,n,O2(t,58))},NO(nEy,"EObjectContainmentEList/Resolving",147),ncy(1184,555,nEK,EW),nPU.nl=function(){return!0},nPU.Wi=function(n,t){return nca(this,n,O2(t,58))},NO(nEy,"EObjectContainmentEList/Unsettable/Resolving",1184),ncy(766,14,nEK,CA),nPU.Ni=function(){this.a=!0},nPU.Qj=function(){return this.a},nPU.Gk=function(){var n;nfi(this),TN(this.e)?(n=this.a,this.a=!1,zI(this.e,new _S(this.e,2,this.c,n,!1))):this.a=!1},nPU.a=!1,NO(nEy,"EObjectContainmentWithInverseEList/Unsettable",766),ncy(1222,766,nEK,CL),nPU.nl=function(){return!0},nPU.Wi=function(n,t){return nca(this,n,O2(t,58))},NO(nEy,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1222),ncy(757,505,nEK,EQ),nPU.Ni=function(){this.a=!0},nPU.Qj=function(){return this.a},nPU.Gk=function(){var n;nfi(this),TN(this.e)?(n=this.a,this.a=!1,zI(this.e,new _S(this.e,2,this.c,n,!1))):this.a=!1},nPU.a=!1,NO(nEy,"EObjectEList/Unsettable",757),ncy(338,505,nEK,EJ),nPU.nl=function(){return!0},nPU.Wi=function(n,t){return nca(this,n,O2(t,58))},NO(nEy,"EObjectResolvingEList",338),ncy(1844,757,nEK,EY),nPU.nl=function(){return!0},nPU.Wi=function(n,t){return nca(this,n,O2(t,58))},NO(nEy,"EObjectResolvingEList/Unsettable",1844),ncy(1527,1,{},o4),NO(nEy,"EObjectValidator",1527),ncy(559,505,nEK,LC),nPU.il=function(){return this.d},nPU.jl=function(){return this.b},nPU.Mj=function(){return!0},nPU.ml=function(){return!0},nPU.b=0,NO(nEy,"EObjectWithInverseEList",559),ncy(1225,559,nEK,CN),nPU.ll=function(){return!0},NO(nEy,"EObjectWithInverseEList/ManyInverse",1225),ncy(635,559,nEK,C$),nPU.Ni=function(){this.a=!0},nPU.Qj=function(){return this.a},nPU.Gk=function(){var n;nfi(this),TN(this.e)?(n=this.a,this.a=!1,zI(this.e,new _S(this.e,2,this.c,n,!1))):this.a=!1},nPU.a=!1,NO(nEy,"EObjectWithInverseEList/Unsettable",635),ncy(1224,635,nEK,Cx),nPU.ll=function(){return!0},NO(nEy,"EObjectWithInverseEList/Unsettable/ManyInverse",1224),ncy(767,559,nEK,CD),nPU.nl=function(){return!0},nPU.Wi=function(n,t){return nca(this,n,O2(t,58))},NO(nEy,"EObjectWithInverseResolvingEList",767),ncy(32,767,nEK,CK),nPU.ll=function(){return!0},NO(nEy,"EObjectWithInverseResolvingEList/ManyInverse",32),ncy(768,635,nEK,CR),nPU.nl=function(){return!0},nPU.Wi=function(n,t){return nca(this,n,O2(t,58))},NO(nEy,"EObjectWithInverseResolvingEList/Unsettable",768),ncy(1223,768,nEK,CF),nPU.ll=function(){return!0},NO(nEy,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1223),ncy(1185,632,nEK),nPU.Li=function(){return(1792&this.b)==0},nPU.Ni=function(){this.b|=1},nPU.kl=function(){return(4&this.b)!=0},nPU.Mj=function(){return(40&this.b)!=0},nPU.ll=function(){return(16&this.b)!=0},nPU.ml=function(){return(8&this.b)!=0},nPU.nl=function(){return(this.b&nES)!=0},nPU.al=function(){return(32&this.b)!=0},nPU.ol=function(){return(this.b&nbG)!=0},nPU.fk=function(n){return this.d?Fb(this.d,n):this.Lk().Hk().fk(n)},nPU.Qj=function(){return(2&this.b)!=0?(1&this.b)!=0:0!=this.i},nPU.Si=function(){return(128&this.b)!=0},nPU.Gk=function(){var n;nfi(this),(2&this.b)!=0&&(TN(this.e)?(n=(1&this.b)!=0,this.b&=-2,dq(this,new _S(this.e,2,Yy(this.e.Dh(),this.Lk()),n,!1))):this.b&=-2)},nPU.Yi=function(){return(1536&this.b)==0},nPU.b=0,NO(nEy,"EcoreEList/Generic",1185),ncy(1186,1185,nEK,DB),nPU.Lk=function(){return this.a},NO(nEy,"EcoreEList/Dynamic",1186),ncy(765,66,nTy,de),nPU.aj=function(n){return qe(this.a.a,n)},NO(nEy,"EcoreEMap/1",765),ncy(764,83,nEK,L$),nPU.Mi=function(n,t){nn_(this.b,O2(t,136))},nPU.Oi=function(n,t){zN(this.b)},nPU.Pi=function(n,t,e){var i;++(i=this.b,O2(t,136),i).e},nPU.Qi=function(n,t){Jy(this.b,O2(t,136))},nPU.Ri=function(n,t,e){var i;Jy(this.b,O2(e,136)),jR(e)===jR(t)&&O2(e,136).Ci(null==(i=O2(t,136).ld())?0:XO(i)),nn_(this.b,O2(t,136))},NO(nEy,"EcoreEMap/DelegateEObjectContainmentEList",764),ncy(1220,141,nEj,qV),NO(nEy,"EcoreEMap/Unsettable",1220),ncy(1221,764,nEK,C_),nPU.Ni=function(){this.a=!0},nPU.Qj=function(){return this.a},nPU.Gk=function(){var n;nfi(this),TN(this.e)?(n=this.a,this.a=!1,zI(this.e,new _S(this.e,2,this.c,n,!1))):this.a=!1},nPU.a=!1,NO(nEy,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1221),ncy(1189,215,nw8,Nm),nPU.a=!1,nPU.b=!1,NO(nEy,"EcoreUtil/Copier",1189),ncy(759,1,nbf,K9),nPU.Nb=function(n){L_(this,n)},nPU.Ob=function(){return Y4(this)},nPU.Pb=function(){var n;return Y4(this),n=this.b,this.b=null,n},nPU.Qb=function(){this.a.Qb()},NO(nEy,"EcoreUtil/ProperContentIterator",759),ncy(1528,1527,{},hG),NO(nEy,"EcoreValidator",1528),IX(nEy,"FeatureMapUtil/Validator"),ncy(1295,1,{2041:1},o6),nPU.am=function(n){return!0},NO(nEy,"FeatureMapUtil/1",1295),ncy(773,1,{2041:1},nf0),nPU.am=function(n){var t,e;return this.c==n||(null!=(t=PO(NB(this.a,n)))?t==(SB(),nCh):(this.f==n3c?(e=$p(Us((nr_(),n27),n)),this.e?4==e&&n!=(na3(),n3h)&&n!=(na3(),n3u)&&n!=(na3(),n3o)&&n!=(na3(),n3s):2==e):this.d&&(this.d.Hc(n)||this.d.Hc(RJ(Us((nr_(),n27),n)))||this.d.Hc(nfb((nr_(),n27),this.b,n)))||this.f&&num((nr_(),this.f),$U(Us(n27,n)))&&(e=$p(Us(n27,n)),this.e?4==e:2==e))?(_q(this.a,n,(SB(),nCh)),!0):(_q(this.a,n,(SB(),nCs)),!1))},nPU.e=!1,NO(nEy,"FeatureMapUtil/BasicValidator",773),ncy(774,45,nw8,ES),NO(nEy,"FeatureMapUtil/BasicValidator/Cache",774),ncy(509,56,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,71:1,97:1},jL),nPU.bd=function(n,t){nu1(this.c,this.b,n,t)},nPU.Fc=function(n){return nsw(this.c,this.b,n)},nPU.cd=function(n,t){return function(n,t,e,i){var r,a,c,u,o,s,h,f;if(0==i.gc())return!1;if(kP(),c=(o=O2(t,69).xk())?i:new GT(i.gc()),nuQ(n.e,t)){if(t.Si())for(h=i.Kc();h.Ob();)nho(n,t,s=h.Pb(),EM(t,102)&&(O2(t,19).Bb&nwz)!=0)||(a=FT(t,s),c.Fc(a));else if(!o)for(h=i.Kc();h.Ob();)a=FT(t,s=h.Pb()),c.Fc(a)}else{for(u=0,f=nuR(n.e.Dh(),t),r=O2(n.g,124);u1)throw new pN(nSm).e;o||(a=FT(t,i.Kc().Pb()),c.Fc(a))}return VN(n,nrD(n,t,e),c)}(this.c,this.b,n,t)},nPU.Gc=function(n){return Ey(this,n)},nPU.Gi=function(n,t){var e,i;e=this.c,i=this.b,e.j=-1,na9(e,nrD(e,i,n),(kP(),O2(i,69).vk().xl(t)))},nPU.Wk=function(n,t){return noF(this.c,this.b,n,t)},nPU.$i=function(n){return nh_(this.c,this.b,n,!1)},nPU.Ii=function(){var n;return n=this.c,new zQ(this.b,n)},nPU.Ji=function(){var n;return n=this.c,new zQ(this.b,n)},nPU.Ki=function(n){return function(n,t,e){var i,r;for(i=0,r=new zQ(t,n);i>24,s=(3&t)<<24>>24,b=(-128&t)==0?t>>2<<24>>24:(t>>2^192)<<24>>24,w=(-128&e)==0?e>>4<<24>>24:(e>>4^240)<<24>>24,d=(-128&i)==0?i>>6<<24>>24:(i>>6^252)<<24>>24,a[c++]=n3U[b],a[c++]=n3U[w|s<<4],a[c++]=n3U[h<<2|d],a[c++]=n3U[63&i];return 8==u?(s=(3&(t=n[r]))<<24>>24,b=(-128&t)==0?t>>2<<24>>24:(t>>2^192)<<24>>24,a[c++]=n3U[b],a[c++]=n3U[s<<4],a[c++]=61,a[c++]=61):16==u&&(t=n[r],h=(15&(e=n[r+1]))<<24>>24,s=(3&t)<<24>>24,b=(-128&t)==0?t>>2<<24>>24:(t>>2^192)<<24>>24,w=(-128&e)==0?e>>4<<24>>24:(e>>4^240)<<24>>24,a[c++]=n3U[b],a[c++]=n3U[w|s<<4],a[c++]=n3U[h<<2],a[c++]=61),Zo(a,0,a.length)}(e);case 12:case 47:case 49:case 11:return nf$(this,n,t);case 13:return null==t?null:function(n){var t,e,i,r,a,c,u,o;if(i=nlO((n.c||(n.c=RM(zH(n.f))),n.c),0),0==n.e||0==n.a&&-1!=n.f&&n.e<0)return i;if(t=0>XB(n)?1:0,e=n.e,i.length,nPH.Math.abs(xT(n.e)),r=new p3,1==t&&(r.a+="-"),n.e>0){if((e-=i.length-t)>=0){for(r.a+="0.";e>nCE.length;e-=nCE.length)I4(r,nCE);a=nCE,c=xT(e),r.a+=Zo(a,0,c),jY(r,(RK(t,i.length+1),i.substr(t)))}else e=t-e,jY(r,xu(i,t,xT(e))),r.a+=".",jY(r,NU(i,xT(e)))}else{for(jY(r,(RK(t,i.length+1),i.substr(t)));e<-nCE.length;e+=nCE.length)I4(r,nCE);u=nCE,o=xT(-e),r.a+=Zo(u,0,o)}return r.a}(O2(t,247));case 15:case 14:return null==t?null:(i=pE(PI(t)))==nwH?"INF":i==nwU?"-INF":""+i;case 17:return ne2((nfw(),t));case 18:return ne2(t);case 21:case 20:return null==t?null:(r=O2(t,161).a)==nwH?"INF":r==nwU?"-INF":""+r;case 27:return null==(a=O2(t,195))?null:function(n){var t,e,i,r;if(nog(),null==n)return null;for(e=0,t=B0(n4h,nb7,28,2*(i=n.length),15,1);e>4],t[2*e+1]=n3q[15&r];return Zo(t,0,t.length)}(a);case 30:return ntb((nfw(),O2(t,15)));case 31:return ntb(O2(t,15));case 40:case 59:case 48:return null==(nfw(),t)?null:J6(t);case 42:return ne3((nfw(),t));case 43:return ne3(t);default:throw new pN(njK+n.xe()+njF).e}},nPU.si=function(n){var t;switch(-1==n.G&&(n.G=(t=GP(n))?nny(t.vi(),n):-1),n.G){case 0:return new gF;case 1:return new sc;case 2:return new g_;case 3:return new gB;default:throw new pN(njH+n.zb+njF).e}},nPU.ti=function(n,t){var e,i,r,a,c,u,o,s,h,f,l,b,w,d,g,p,m,v;switch(n.hk()){case 5:case 52:case 4:return t;case 6:return function(n){var t;if(null==n)return null;if(null==(t=function(n){var t,e,i,r,a,c,u,o,s,h,f,l,b,w,d,g;if(ns3(),null==n||(w=function(n){var t,e,i;for(t=0,i=0,e=n.length;t>4)<<24>>24,f[l++]=((15&e)<<4|i>>2&15)<<24>>24,f[l++]=(i<<6|r)<<24>>24}return vr(c=a[h++])&&vr(u=a[h++])?(t=n3H[c],e=n3H[u],o=a[h++],s=a[h++],-1==n3H[o]||-1==n3H[s])?61==o&&61==s?(15&e)!=0?null:(ns7(f,0,g=B0(n4w,njB,28,3*b+1,15,1),0,3*b),g[l]=(t<<2|e>>4)<<24>>24,g):61==o||61!=s?null:(3&(i=n3H[o]))!=0?null:(ns7(f,0,g=B0(n4w,njB,28,3*b+2,15,1),0,3*b),g[l++]=(t<<2|e>>4)<<24>>24,g[l]=((15&e)<<4|i>>2&15)<<24>>24,g):(i=n3H[o],r=n3H[s],f[l++]=(t<<2|e>>4)<<24>>24,f[l++]=((15&e)<<4|i>>2&15)<<24>>24,f[l++]=(i<<6|r)<<24>>24,f):null}(nhU(n,!0))))throw new pB("Invalid base64Binary value: '"+n+"'").e;return t}(t);case 8:case 7:return null==t?null:function(n){if(Cq(nML,n=nhU(n,!0))||Cq("1",n))return SB(),nCh;if(Cq(nMN,n)||Cq("0",n))return SB(),nCs;throw new pB("Invalid boolean value: '"+n+"'").e}(t);case 9:return null==t?null:Up(nsS((i=nhU(t,!0)).length>0&&(RK(0,i.length),43==i.charCodeAt(0))?(RK(1,i.length+1),i.substr(1)):i,-128,127)<<24>>24);case 10:return null==t?null:Up(nsS((r=nhU(t,!0)).length>0&&(RK(0,r.length),43==r.charCodeAt(0))?(RK(1,r.length+1),r.substr(1)):r,-128,127)<<24>>24);case 11:return PA(nlE(this,(nfw(),n3m),t));case 12:return PA(nlE(this,(nfw(),n3v),t));case 13:return null==t?null:new mW(nhU(t,!0));case 15:case 14:return function(n){var t,e,i;if(null==n)return null;if(Cq((i=nhU(n,!0)).substr(i.length-3,3),"INF")){if(4==(e=i.length)){if(RK(0,i.length),43==(t=i.charCodeAt(0)))return n3F;if(45==t)return n3K}else if(3==e)return n3F}return nre(i)}(t);case 16:return PA(nlE(this,(nfw(),n3k),t));case 17:return Za((nfw(),t));case 18:return Za(t);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return nhU(t,!0);case 21:case 20:return function(n){var t,e,i;if(null==n)return null;if(Cq((i=nhU(n,!0)).substr(i.length-3,3),"INF")){if(4==(e=i.length)){if(RK(0,i.length),43==(t=i.charCodeAt(0)))return n3B;if(45==t)return n3_}else if(3==e)return n3B}return new dz(i)}(t);case 22:return PA(nlE(this,(nfw(),n3y),t));case 23:return PA(nlE(this,(nfw(),n3M),t));case 24:return PA(nlE(this,(nfw(),n3j),t));case 25:return PA(nlE(this,(nfw(),n3T),t));case 26:return PA(nlE(this,(nfw(),n3E),t));case 27:return function(n){var t;if(null==n)return null;if(null==(t=function(n){var t,e,i,r,a,c,u;if(nog(),null==n||(r=n.length)%2!=0)return null;for(i=0,t=Ug(n),e=B0(n4w,njB,28,a=r/2|0,15,1);i>24}return e}(nhU(n,!0))))throw new pB("Invalid hexBinary value: '"+n+"'").e;return t}(t);case 30:return Zc((nfw(),t));case 31:return Zc(t);case 32:return null==t?null:QR(nsS((h=nhU(t,!0)).length>0&&(RK(0,h.length),43==h.charCodeAt(0))?(RK(1,h.length+1),h.substr(1)):h,nb1,nl5));case 33:return null==t?null:new TV((f=nhU(t,!0)).length>0&&(RK(0,f.length),43==f.charCodeAt(0))?(RK(1,f.length+1),f.substr(1)):f);case 34:return null==t?null:QR(nsS((l=nhU(t,!0)).length>0&&(RK(0,l.length),43==l.charCodeAt(0))?(RK(1,l.length+1),l.substr(1)):l,nb1,nl5));case 36:return null==t?null:ZS(nle((b=nhU(t,!0)).length>0&&(RK(0,b.length),43==b.charCodeAt(0))?(RK(1,b.length+1),b.substr(1)):b));case 37:return null==t?null:ZS(nle((w=nhU(t,!0)).length>0&&(RK(0,w.length),43==w.charCodeAt(0))?(RK(1,w.length+1),w.substr(1)):w));case 40:return null==(nfw(),t)?null:new TV((m=nhU(t,!0)).length>0&&(RK(0,m.length),43==m.charCodeAt(0))?(RK(1,m.length+1),m.substr(1)):m);case 42:return Zu((nfw(),t));case 43:return Zu(t);case 44:return null==t?null:new TV((d=nhU(t,!0)).length>0&&(RK(0,d.length),43==d.charCodeAt(0))?(RK(1,d.length+1),d.substr(1)):d);case 45:return null==t?null:new TV((g=nhU(t,!0)).length>0&&(RK(0,g.length),43==g.charCodeAt(0))?(RK(1,g.length+1),g.substr(1)):g);case 46:return nhU(t,!1);case 47:return PA(nlE(this,(nfw(),n3S),t));case 59:case 48:return null==(nfw(),t)?null:new TV((v=nhU(t,!0)).length>0&&(RK(0,v.length),43==v.charCodeAt(0))?(RK(1,v.length+1),v.substr(1)):v);case 49:return PA(nlE(this,(nfw(),n3C),t));case 50:return null==t?null:QK(nsS((p=nhU(t,!0)).length>0&&(RK(0,p.length),43==p.charCodeAt(0))?(RK(1,p.length+1),p.substr(1)):p,-32768,32767)<<16>>16);case 51:return null==t?null:QK(nsS((a=nhU(t,!0)).length>0&&(RK(0,a.length),43==a.charCodeAt(0))?(RK(1,a.length+1),a.substr(1)):a,-32768,32767)<<16>>16);case 53:return PA(nlE(this,(nfw(),n3A),t));case 55:return null==t?null:QK(nsS((c=nhU(t,!0)).length>0&&(RK(0,c.length),43==c.charCodeAt(0))?(RK(1,c.length+1),c.substr(1)):c,-32768,32767)<<16>>16);case 56:return null==t?null:QK(nsS((u=nhU(t,!0)).length>0&&(RK(0,u.length),43==u.charCodeAt(0))?(RK(1,u.length+1),u.substr(1)):u,-32768,32767)<<16>>16);case 57:return null==t?null:ZS(nle((o=nhU(t,!0)).length>0&&(RK(0,o.length),43==o.charCodeAt(0))?(RK(1,o.length+1),o.substr(1)):o));case 58:return null==t?null:ZS(nle((s=nhU(t,!0)).length>0&&(RK(0,s.length),43==s.charCodeAt(0))?(RK(1,s.length+1),s.substr(1)):s));case 60:return null==t?null:QR(nsS((e=nhU(t,!0)).length>0&&(RK(0,e.length),43==e.charCodeAt(0))?(RK(1,e.length+1),e.substr(1)):e,nb1,nl5));case 61:return null==t?null:QR(nsS(nhU(t,!0),nb1,nl5));default:throw new pN(njK+n.xe()+njF).e}},NO(nSj,"XMLTypeFactoryImpl",2028),ncy(594,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1,2044:1,594:1},$T),nPU.N=!1,nPU.O=!1;var n24=!1;NO(nSj,"XMLTypePackageImpl",594),ncy(1961,1,{851:1},o8),nPU.Kk=function(){return nsQ(),nlZ},NO(nSj,"XMLTypePackageImpl/1",1961),ncy(1970,1,nE9,o9),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/10",1970),ncy(1971,1,nE9,o7),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/11",1971),ncy(1972,1,nE9,sn),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/12",1972),ncy(1973,1,nE9,st),nPU.fk=function(n){return j_(n)},nPU.gk=function(n){return B0(nPC,nbj,345,n,7,1)},NO(nSj,"XMLTypePackageImpl/13",1973),ncy(1974,1,nE9,se),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/14",1974),ncy(1975,1,nE9,si),nPU.fk=function(n){return EM(n,15)},nPU.gk=function(n){return B0(nPb,ngH,15,n,0,1)},NO(nSj,"XMLTypePackageImpl/15",1975),ncy(1976,1,nE9,sr),nPU.fk=function(n){return EM(n,15)},nPU.gk=function(n){return B0(nPb,ngH,15,n,0,1)},NO(nSj,"XMLTypePackageImpl/16",1976),ncy(1977,1,nE9,sa),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/17",1977),ncy(1978,1,nE9,su),nPU.fk=function(n){return EM(n,161)},nPU.gk=function(n){return B0(nPO,nbj,161,n,0,1)},NO(nSj,"XMLTypePackageImpl/18",1978),ncy(1979,1,nE9,so),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/19",1979),ncy(1962,1,nE9,ss),nPU.fk=function(n){return EM(n,857)},nPU.gk=function(n){return B0(n21,nbe,857,n,0,1)},NO(nSj,"XMLTypePackageImpl/2",1962),ncy(1980,1,nE9,sh),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/20",1980),ncy(1981,1,nE9,sf),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/21",1981),ncy(1982,1,nE9,sl),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/22",1982),ncy(1983,1,nE9,sb),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/23",1983),ncy(1984,1,nE9,sw),nPU.fk=function(n){return EM(n,195)},nPU.gk=function(n){return B0(n4w,nbj,195,n,0,2)},NO(nSj,"XMLTypePackageImpl/24",1984),ncy(1985,1,nE9,sd),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/25",1985),ncy(1986,1,nE9,sg),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/26",1986),ncy(1987,1,nE9,sp),nPU.fk=function(n){return EM(n,15)},nPU.gk=function(n){return B0(nPb,ngH,15,n,0,1)},NO(nSj,"XMLTypePackageImpl/27",1987),ncy(1988,1,nE9,sm),nPU.fk=function(n){return EM(n,15)},nPU.gk=function(n){return B0(nPb,ngH,15,n,0,1)},NO(nSj,"XMLTypePackageImpl/28",1988),ncy(1989,1,nE9,sv),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/29",1989),ncy(1963,1,nE9,sk),nPU.fk=function(n){return EM(n,681)},nPU.gk=function(n){return B0(n20,nbe,2119,n,0,1)},NO(nSj,"XMLTypePackageImpl/3",1963),ncy(1990,1,nE9,sy),nPU.fk=function(n){return EM(n,17)},nPU.gk=function(n){return B0(nPI,nbj,17,n,0,1)},NO(nSj,"XMLTypePackageImpl/30",1990),ncy(1991,1,nE9,sM),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/31",1991),ncy(1992,1,nE9,sj),nPU.fk=function(n){return EM(n,168)},nPU.gk=function(n){return B0(nPA,nbj,168,n,0,1)},NO(nSj,"XMLTypePackageImpl/32",1992),ncy(1993,1,nE9,sT),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/33",1993),ncy(1994,1,nE9,sE),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/34",1994),ncy(1995,1,nE9,sS),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/35",1995),ncy(1996,1,nE9,sP),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/36",1996),ncy(1997,1,nE9,sC),nPU.fk=function(n){return EM(n,15)},nPU.gk=function(n){return B0(nPb,ngH,15,n,0,1)},NO(nSj,"XMLTypePackageImpl/37",1997),ncy(1998,1,nE9,sO),nPU.fk=function(n){return EM(n,15)},nPU.gk=function(n){return B0(nPb,ngH,15,n,0,1)},NO(nSj,"XMLTypePackageImpl/38",1998),ncy(1999,1,nE9,sI),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/39",1999),ncy(1964,1,nE9,sA),nPU.fk=function(n){return EM(n,682)},nPU.gk=function(n){return B0(n22,nbe,2120,n,0,1)},NO(nSj,"XMLTypePackageImpl/4",1964),ncy(2e3,1,nE9,sL),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/40",2e3),ncy(2001,1,nE9,sN),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/41",2001),ncy(2002,1,nE9,s$),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/42",2002),ncy(2003,1,nE9,sD),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/43",2003),ncy(2004,1,nE9,sx),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/44",2004),ncy(2005,1,nE9,sR),nPU.fk=function(n){return EM(n,191)},nPU.gk=function(n){return B0(nPL,nbj,191,n,0,1)},NO(nSj,"XMLTypePackageImpl/45",2005),ncy(2006,1,nE9,sK),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/46",2006),ncy(2007,1,nE9,sF),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/47",2007),ncy(2008,1,nE9,s_),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/48",2008),ncy(2009,1,nE9,sB),nPU.fk=function(n){return EM(n,191)},nPU.gk=function(n){return B0(nPL,nbj,191,n,0,1)},NO(nSj,"XMLTypePackageImpl/49",2009),ncy(1965,1,nE9,sH),nPU.fk=function(n){return EM(n,683)},nPU.gk=function(n){return B0(n23,nbe,2121,n,0,1)},NO(nSj,"XMLTypePackageImpl/5",1965),ncy(2010,1,nE9,sU),nPU.fk=function(n){return EM(n,168)},nPU.gk=function(n){return B0(nPA,nbj,168,n,0,1)},NO(nSj,"XMLTypePackageImpl/50",2010),ncy(2011,1,nE9,sG),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/51",2011),ncy(2012,1,nE9,sq),nPU.fk=function(n){return EM(n,17)},nPU.gk=function(n){return B0(nPI,nbj,17,n,0,1)},NO(nSj,"XMLTypePackageImpl/52",2012),ncy(1966,1,nE9,sX),nPU.fk=function(n){return jK(n)},nPU.gk=function(n){return B0(nP$,nbj,2,n,6,1)},NO(nSj,"XMLTypePackageImpl/6",1966),ncy(1967,1,nE9,sz),nPU.fk=function(n){return EM(n,195)},nPU.gk=function(n){return B0(n4w,nbj,195,n,0,2)},NO(nSj,"XMLTypePackageImpl/7",1967),ncy(1968,1,nE9,sV),nPU.fk=function(n){return jF(n)},nPU.gk=function(n){return B0(nPE,nbj,485,n,8,1)},NO(nSj,"XMLTypePackageImpl/8",1968),ncy(1969,1,nE9,sW),nPU.fk=function(n){return EM(n,222)},nPU.gk=function(n){return B0(nPS,nbj,222,n,0,1)},NO(nSj,"XMLTypePackageImpl/9",1969),ncy(55,63,nb2,pH),NO(nSV,"RegEx/ParseException",55),ncy(836,1,{},sQ),nPU.bm=function(n){return n16*e)throw new pH(nlQ((T9(),nTZ))).e;e=16*e+r}if(125!=this.a)throw new pH(nlQ((T9(),nT1))).e;if(e>nSW)throw new pH(nlQ((T9(),nT0))).e;n=e}else{if(r=0,0!=this.c||(r=nnQ(this.a))<0||(e=r,nlD(this),0!=this.c||(r=nnQ(this.a))<0))throw new pH(nlQ((T9(),nTY))).e;n=e=16*e+r}break;case 117:if(i=0,nlD(this),0!=this.c||(i=nnQ(this.a))<0||(t=i,nlD(this),0!=this.c||(i=nnQ(this.a))<0)||(t=16*t+i,nlD(this),0!=this.c||(i=nnQ(this.a))<0)||(t=16*t+i,nlD(this),0!=this.c||(i=nnQ(this.a))<0))throw new pH(nlQ((T9(),nTY))).e;n=t=16*t+i;break;case 118:if(nlD(this),0!=this.c||(i=nnQ(this.a))<0||(t=i,nlD(this),0!=this.c||(i=nnQ(this.a))<0)||(t=16*t+i,nlD(this),0!=this.c||(i=nnQ(this.a))<0)||(t=16*t+i,nlD(this),0!=this.c||(i=nnQ(this.a))<0)||(t=16*t+i,nlD(this),0!=this.c||(i=nnQ(this.a))<0)||(t=16*t+i,nlD(this),0!=this.c||(i=nnQ(this.a))<0))throw new pH(nlQ((T9(),nTY))).e;if((t=16*t+i)>nSW)throw new pH(nlQ((T9(),"parser.descappe.4"))).e;n=t;break;case 65:case 90:case 122:throw new pH(nlQ((T9(),nT2))).e}return n},nPU.dm=function(n){var t;switch(n){case 100:t=(32&this.e)==32?nlh("Nd",!0):(nlq(),n3Y);break;case 68:t=(32&this.e)==32?nlh("Nd",!1):(nlq(),n33);break;case 119:t=(32&this.e)==32?nlh("IsWord",!0):(nlq(),n4e);break;case 87:t=(32&this.e)==32?nlh("IsWord",!1):(nlq(),n36);break;case 115:t=(32&this.e)==32?nlh("IsSpace",!0):(nlq(),n38);break;case 83:t=(32&this.e)==32?nlh("IsSpace",!1):(nlq(),n34);break;default:throw new ph(nSQ+n.toString(16)).e}return t},nPU.em=function(n){var t,e,i,r,a,c,u,o,s,h,f;for(this.b=1,nlD(this),t=null,0==this.c&&94==this.a?(nlD(this),n?(nlq(),nlq(),++n4o,s=new RQ(5)):(nlq(),nlq(),++n4o,nu6(t=new RQ(4),0,nSW),++n4o,s=new RQ(4))):(nlq(),nlq(),++n4o,s=new RQ(4)),r=!0;1!=(f=this.c)&&(0!=f||93!=this.a||r);){if(r=!1,e=this.a,i=!1,10==f)switch(e){case 100:case 68:case 119:case 87:case 115:case 83:nhG(s,this.dm(e)),i=!0;break;case 105:case 73:case 99:case 67:(e=this.um(s,e))<0&&(i=!0);break;case 112:case 80:if(!(h=naL(this,e)))throw new pH(nlQ((T9(),nTB))).e;nhG(s,h),i=!0;break;default:e=this.cm()}else if(20==f){if((a=S1(this.i,58,this.d))<0)throw new pH(nlQ((T9(),nTH))).e;if(c=!0,94==$W(this.i,this.d)&&(++this.d,c=!1),!(u=Ha(xu(this.i,this.d,a),c,(512&this.e)==512)))throw new pH(nlQ((T9(),nTG))).e;if(nhG(s,u),i=!0,a+1>=this.j||93!=$W(this.i,a+1))throw new pH(nlQ((T9(),nTH))).e;this.d=a+2}if(nlD(this),!i){if(0!=this.c||45!=this.a)nu6(s,e,e);else{if(nlD(this),1==(f=this.c))throw new pH(nlQ((T9(),nTU))).e;0==f&&93==this.a?(nu6(s,e,e),nu6(s,45,45)):(o=this.a,10==f&&(o=this.cm()),nlD(this),nu6(s,e,o))}}(this.e&nbG)==nbG&&0==this.c&&44==this.a&&nlD(this)}if(1==this.c)throw new pH(nlQ((T9(),nTU))).e;return t&&(nfR(t,s),s=t),ncX(s),nh8(s),this.b=0,nlD(this),s},nPU.fm=function(){var n,t,e,i;for(e=this.em(!1);7!=(i=this.c);)if(n=this.a,0==i&&(45==n||38==n)||4==i){if(nlD(this),9!=this.c)throw new pH(nlQ((T9(),nTW))).e;if(t=this.em(!1),4==i)nhG(e,t);else if(45==n)nfR(e,t);else if(38==n)nfO(e,t);else throw new ph("ASSERT").e}else throw new pH(nlQ((T9(),nTQ))).e;return nlD(this),e},nPU.gm=function(){var n,t,e,i;return n=this.a-48,nlq(),nlq(),++n4o,t=new xw(12,null,n),this.g||(this.g=new dJ),e=this.g,i=new di(n),EB(e.a,i),nlD(this),t},nPU.hm=function(){return nlD(this),nlq(),n39},nPU.im=function(){return nlD(this),nlq(),n35},nPU.jm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.km=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.lm=function(){var n,t;return nlD(this),(nlq(),n4c)?n4c:(t=nlh("M",!0),++n4o,n=new FD(3,t),n4c=n=Am(nlh("M",!1),n))},nPU.mm=function(){return nlD(this),nlq(),n4n},nPU.nm=function(){return nlD(this),nlq(),n4i},nPU.om=function(){var n;if(this.d>=this.j||(65504&(n=$W(this.i,this.d++)))!=64)throw new pH(nlQ((T9(),nTR))).e;return nlD(this),nlq(),nlq(),++n4o,new Av(0,n-64)},nPU.pm=function(){return nlD(this),function(){var n,t,e,i,r,a;if(nlq(),n4u)return n4u;for(++n4o,nhG(n=new RQ(4),nlh(nS6,!0)),nfR(n,nlh("M",!0)),nfR(n,nlh("C",!0)),++n4o,a=new RQ(4),i=0;i<11;i++)nu6(a,i,i);return++n4o,nhG(t=new RQ(4),nlh("M",!0)),nu6(t,4448,4607),nu6(t,65438,65439),++n4o,nft(r=new T3(2),n),nft(r,n31),++n4o,(e=new T3(2)).Jm(Am(a,nlh("L",!0))),e.Jm(t),++n4o,e=new FD(3,e),++n4o,n4u=e=new Nn(r,e)}()},nPU.qm=function(){return nlD(this),nlq(),n4r},nPU.rm=function(){var n;return nlq(),nlq(),++n4o,n=new Av(0,105),nlD(this),n},nPU.sm=function(){return nlD(this),nlq(),n4t},nPU.tm=function(){return nlD(this),nlq(),n37},nPU.um=function(n,t){return this.cm()},nPU.vm=function(){return nlD(this),nlq(),n30},nPU.wm=function(){var n,t,e,i,r,a,c;if(this.d+1>=this.j)throw new pH(nlQ((T9(),nT$))).e;if(i=-1,t=null,49<=(n=$W(this.i,this.d))&&n<=57){if(i=n-48,this.g||(this.g=new dJ),a=this.g,c=new di(i),EB(a.a,c),++this.d,41!=$W(this.i,this.d))throw new pH(nlQ((T9(),nTA))).e;++this.d}else switch(63==n&&--this.d,nlD(this),(t=nlj(this)).e){case 20:case 21:case 22:case 23:break;case 8:if(7!=this.c)throw new pH(nlQ((T9(),nTA))).e;break;default:throw new pH(nlQ((T9(),nTD))).e}if(nlD(this),r=Zw(this),e=null,2==r.e){if(2!=r.Pm())throw new pH(nlQ((T9(),nTx))).e;e=r.Lm(1),r=r.Lm(0)}if(7!=this.c)throw new pH(nlQ((T9(),nTA))).e;return nlD(this),nlq(),nlq(),++n4o,new UK(i,t,r,e)},nPU.xm=function(){return nlD(this),nlq(),n32},nPU.ym=function(){var n;if(nlD(this),n=LK(24,Zw(this)),7!=this.c)throw new pH(nlQ((T9(),nTA))).e;return nlD(this),n},nPU.zm=function(){var n;if(nlD(this),n=LK(20,Zw(this)),7!=this.c)throw new pH(nlQ((T9(),nTA))).e;return nlD(this),n},nPU.Am=function(){var n;if(nlD(this),n=LK(22,Zw(this)),7!=this.c)throw new pH(nlQ((T9(),nTA))).e;return nlD(this),n},nPU.Bm=function(){var n,t,e,i,r;for(n=0,e=0,t=-1;this.d=this.j)throw new pH(nlQ((T9(),nTL))).e;if(45==t){for(++this.d;this.d=this.j)throw new pH(nlQ((T9(),nTL))).e}if(58==t){if(++this.d,nlD(this),i=NS(Zw(this),n,e),7!=this.c)throw new pH(nlQ((T9(),nTA))).e;nlD(this)}else if(41==t)++this.d,nlD(this),i=NS(Zw(this),n,e);else throw new pH(nlQ((T9(),nTN))).e;return i},nPU.Cm=function(){var n;if(nlD(this),n=LK(21,Zw(this)),7!=this.c)throw new pH(nlQ((T9(),nTA))).e;return nlD(this),n},nPU.Dm=function(){var n;if(nlD(this),n=LK(23,Zw(this)),7!=this.c)throw new pH(nlQ((T9(),nTA))).e;return nlD(this),n},nPU.Em=function(){var n,t;if(nlD(this),n=this.f++,t=LF(Zw(this),n),7!=this.c)throw new pH(nlQ((T9(),nTA))).e;return nlD(this),t},nPU.Fm=function(){var n;if(nlD(this),n=LF(Zw(this),0),7!=this.c)throw new pH(nlQ((T9(),nTA))).e;return nlD(this),n},nPU.Gm=function(n){return(nlD(this),5==this.c)?(nlD(this),Am(n,(nlq(),nlq(),++n4o,new FD(9,n)))):Am(n,(nlq(),nlq(),++n4o,new FD(3,n)))},nPU.Hm=function(n){var t;return nlD(this),nlq(),nlq(),++n4o,t=new T3(2),5==this.c?(nlD(this),nft(t,n31),nft(t,n)):(nft(t,n),nft(t,n31)),t},nPU.Im=function(n){return(nlD(this),5==this.c)?(nlD(this),nlq(),nlq(),++n4o,new FD(9,n)):(nlq(),nlq(),++n4o,new FD(3,n))},nPU.a=0,nPU.b=0,nPU.c=0,nPU.d=0,nPU.e=0,nPU.f=1,nPU.g=null,nPU.j=0,NO(nSV,"RegEx/RegexParser",836),ncy(1947,836,{},gH),nPU.bm=function(n){return!1},nPU.cm=function(){return nom(this)},nPU.dm=function(n){return nsP(n)},nPU.em=function(n){return function n(t){var e,i,r,a,c,u,o,s;for(t.b=1,nlD(t),e=null,0==t.c&&94==t.a?(nlD(t),nlq(),nlq(),++n4o,nu6(e=new RQ(4),0,nSW)):(nlq(),nlq()),++n4o,u=new RQ(4),a=!0;1!=(s=t.c);){if(0==s&&93==t.a&&!a){e&&(nfR(e,u),u=e);break}if(i=t.a,r=!1,10==s)switch(i){case 100:case 68:case 119:case 87:case 115:case 83:nhG(u,nsP(i)),r=!0;break;case 105:case 73:case 99:case 67:nhG(u,nsP(i)),(i=-1)<0&&(r=!0);break;case 112:case 80:if(!(o=naL(t,i)))throw new pH(nlQ((T9(),nTB))).e;nhG(u,o),r=!0;break;default:i=nom(t)}else if(24==s&&!a){if(e&&(nfR(e,u),u=e),nfR(u,n(t)),0!=t.c||93!=t.a)throw new pH(nlQ((T9(),nTq))).e;break}if(nlD(t),!r){if(0==s){if(91==i)throw new pH(nlQ((T9(),nTX))).e;if(93==i)throw new pH(nlQ((T9(),nTz))).e;if(45==i&&!a&&93!=t.a)throw new pH(nlQ((T9(),nTV))).e}if(0!=t.c||45!=t.a||45==i&&a)nu6(u,i,i);else{if(nlD(t),1==(s=t.c))throw new pH(nlQ((T9(),nTU))).e;if(0==s&&93==t.a)nu6(u,i,i),nu6(u,45,45);else if(0==s&&93==t.a||24==s)throw new pH(nlQ((T9(),nTV))).e;else{if(c=t.a,0==s){if(91==c)throw new pH(nlQ((T9(),nTX))).e;if(93==c)throw new pH(nlQ((T9(),nTz))).e;if(45==c)throw new pH(nlQ((T9(),nTV))).e}else 10==s&&(c=nom(t));if(nlD(t),i>c)throw new pH(nlQ((T9(),nTJ))).e;nu6(u,i,c)}}}a=!1}if(1==t.c)throw new pH(nlQ((T9(),nTU))).e;return ncX(u),nh8(u),t.b=0,nlD(t),u}(this)},nPU.fm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.gm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.hm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.im=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.jm=function(){return nlD(this),nsP(67)},nPU.km=function(){return nlD(this),nsP(73)},nPU.lm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.mm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.nm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.om=function(){return nlD(this),nsP(99)},nPU.pm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.qm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.rm=function(){return nlD(this),nsP(105)},nPU.sm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.tm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.um=function(n,t){return nhG(n,nsP(t)),-1},nPU.vm=function(){return nlD(this),nlq(),nlq(),++n4o,new Av(0,94)},nPU.wm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.xm=function(){return nlD(this),nlq(),nlq(),++n4o,new Av(0,36)},nPU.ym=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.zm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.Am=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.Bm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.Cm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.Dm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.Em=function(){var n;if(nlD(this),n=LF(Zw(this),0),7!=this.c)throw new pH(nlQ((T9(),nTA))).e;return nlD(this),n},nPU.Fm=function(){throw new pH(nlQ((T9(),nT3))).e},nPU.Gm=function(n){return nlD(this),Am(n,(nlq(),nlq(),++n4o,new FD(3,n)))},nPU.Hm=function(n){var t;return nlD(this),nlq(),nlq(),++n4o,nft(t=new T3(2),n),nft(t,n31),t},nPU.Im=function(n){return nlD(this),nlq(),nlq(),++n4o,new FD(3,n)};var n26=null,n25=null;NO(nSV,"RegEx/ParserForXMLSchema",1947),ncy(122,1,nS9,dr),nPU.Jm=function(n){throw new ph("Not supported.").e},nPU.Km=function(){return -1},nPU.Lm=function(n){return null},nPU.Mm=function(){return null},nPU.Nm=function(n){},nPU.Om=function(n){},nPU.Pm=function(){return 0},nPU.Ib=function(){return this.Qm(0)},nPU.Qm=function(n){return 11==this.e?".":""},nPU.e=0;var n28,n29,n27,n3n,n3t,n3e,n3i,n3r,n3a,n3c,n3u,n3o,n3s,n3h,n3f,n3l,n3b,n3w,n3d,n3g,n3p,n3m,n3v,n3k,n3y,n3M,n3j,n3T,n3E,n3S,n3P,n3C,n3O,n3I,n3A,n3L,n3N,n3$,n3D,n3x,n3R,n3K,n3F,n3_,n3B,n3H,n3U,n3G,n3q,n3X,n3z,n3V,n3W,n3Q,n3J,n3Y,n3Z,n31,n30,n32,n33,n34,n36,n35,n38,n39,n37,n4n,n4t,n4e,n4i,n4r,n4a=null,n4c=null,n4u=null,n4o=0,n4s=NO(nSV,"RegEx/Token",122);ncy(138,122,{3:1,138:1,122:1},RQ),nPU.Qm=function(n){var t,e,i;if(4==this.e){if(this==n3Z)e=".";else if(this==n3Y)e="\\d";else if(this==n4e)e="\\w";else if(this==n38)e="\\s";else{for(i=new p1,i.a+="[",t=0;t0&&(i.a+=","),this.b[t]===this.b[t+1]?jW(i,nhw(this.b[t])):(jW(i,nhw(this.b[t])),i.a+="-",jW(i,nhw(this.b[t+1])));i.a+="]",e=i.a}}else if(this==n33)e="\\D";else if(this==n36)e="\\W";else if(this==n34)e="\\S";else{for(i=new p1,i.a+="[^",t=0;t0&&(i.a+=","),this.b[t]===this.b[t+1]?jW(i,nhw(this.b[t])):(jW(i,nhw(this.b[t])),i.a+="-",jW(i,nhw(this.b[t+1])));i.a+="]",e=i.a}return e},nPU.a=!1,nPU.c=!1,NO(nSV,"RegEx/RangeToken",138),ncy(592,1,{592:1},di),nPU.a=0,NO(nSV,"RegEx/RegexParser/ReferencePosition",592),ncy(591,1,{3:1,591:1},ve),nPU.Fb=function(n){var t;return!!(null!=n&&EM(n,591))&&(t=O2(n,591),Cq(this.b,t.b)&&this.a==t.a)},nPU.Hb=function(){return Wg(this.b+"/"+nux(this.a))},nPU.Ib=function(){return this.c.Qm(this.a)},nPU.a=0,NO(nSV,"RegEx/RegularExpression",591),ncy(228,122,nS9,Av),nPU.Km=function(){return this.a},nPU.Qm=function(n){var t,e;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:e="\\"+Ch(this.a&nwt);break;case 12:e="\\f";break;case 10:e="\\n";break;case 13:e="\\r";break;case 9:e="\\t";break;case 27:e="\\e";break;default:e=this.a>=nwz?"\\v"+xu(t="0"+(this.a>>>0).toString(16),t.length-6,t.length):""+Ch(this.a&nwt)}break;case 8:e=this==n30||this==n32?""+Ch(this.a&nwt):"\\"+Ch(this.a&nwt);break;default:e=null}return e},nPU.a=0,NO(nSV,"RegEx/Token/CharToken",228),ncy(318,122,nS9,FD),nPU.Lm=function(n){return this.a},nPU.Nm=function(n){this.b=n},nPU.Om=function(n){this.c=n},nPU.Pm=function(){return 1},nPU.Qm=function(n){var t;if(3==this.e){if(this.c<0&&this.b<0)t=this.a.Qm(n)+"*";else if(this.c==this.b)t=this.a.Qm(n)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)t=this.a.Qm(n)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)t=this.a.Qm(n)+"{"+this.c+",}";else throw new ph("Token#toString(): CLOSURE "+this.c+nbn+this.b).e}else if(this.c<0&&this.b<0)t=this.a.Qm(n)+"*?";else if(this.c==this.b)t=this.a.Qm(n)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)t=this.a.Qm(n)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)t=this.a.Qm(n)+"{"+this.c+",}?";else throw new ph("Token#toString(): NONGREEDYCLOSURE "+this.c+nbn+this.b).e;return t},nPU.b=0,nPU.c=0,NO(nSV,"RegEx/Token/ClosureToken",318),ncy(837,122,nS9,Nn),nPU.Lm=function(n){return 0==n?this.a:this.b},nPU.Pm=function(){return 2},nPU.Qm=function(n){return 3==this.b.e&&this.b.Lm(0)==this.a?this.a.Qm(n)+"+":9==this.b.e&&this.b.Lm(0)==this.a?this.a.Qm(n)+"+?":this.a.Qm(n)+""+this.b.Qm(n)},NO(nSV,"RegEx/Token/ConcatToken",837),ncy(1945,122,nS9,UK),nPU.Lm=function(n){if(0==n)return this.d;if(1==n)return this.b;throw new ph("Internal Error: "+n).e},nPU.Pm=function(){return this.b?2:1},nPU.Qm=function(n){var t;return t=this.c>0?"(?("+this.c+")":8==this.a.e?"(?("+this.a+")":"(?"+this.a,this.b?t+=this.d+"|"+this.b+")":t+=this.d+")",t},nPU.c=0,NO(nSV,"RegEx/Token/ConditionToken",1945),ncy(1946,122,nS9,RW),nPU.Lm=function(n){return this.b},nPU.Pm=function(){return 1},nPU.Qm=function(n){return"(?"+(0==this.a?"":nux(this.a))+(0==this.c?"":nux(this.c))+":"+this.b.Qm(n)+")"},nPU.a=0,nPU.c=0,NO(nSV,"RegEx/Token/ModifierToken",1946),ncy(838,122,nS9,N4),nPU.Lm=function(n){return this.a},nPU.Pm=function(){return 1},nPU.Qm=function(n){var t;switch(t=null,this.e){case 6:t=0==this.b?"(?:"+this.a.Qm(n)+")":"("+this.a.Qm(n)+")";break;case 20:t="(?="+this.a.Qm(n)+")";break;case 21:t="(?!"+this.a.Qm(n)+")";break;case 22:t="(?<="+this.a.Qm(n)+")";break;case 23:t="(?"+this.a.Qm(n)+")"}return t},nPU.b=0,NO(nSV,"RegEx/Token/ParenToken",838),ncy(530,122,{3:1,122:1,530:1},xw),nPU.Mm=function(){return this.b},nPU.Qm=function(n){return 12==this.e?"\\"+this.a:function(n){var t,e,i,r;for(i=0,r=n.length,t=null;i=0?(!t&&(t=new p0,i>0&&jW(t,(B5(0,i,n.length),n.substr(0,i)))),t.a+="\\",N1(t,e&nwt)):t&&N1(t,e&nwt);return t?t.a:n}(this.b)},nPU.a=0,NO(nSV,"RegEx/Token/StringToken",530),ncy(477,122,nS9,T3),nPU.Jm=function(n){nft(this,n)},nPU.Lm=function(n){return O2($e(this.a,n),122)},nPU.Pm=function(){return this.a?this.a.a.c.length:0},nPU.Qm=function(n){var t,e,i,r,a;if(1==this.e){if(2==this.a.a.c.length)t=O2($e(this.a,0),122),r=3==(e=O2($e(this.a,1),122)).e&&e.Lm(0)==t?t.Qm(n)+"+":9==e.e&&e.Lm(0)==t?t.Qm(n)+"+?":t.Qm(n)+""+e.Qm(n);else{for(i=0,a=new p1;i=n.c.b:n.a<=n.c.b))throw(new dF).e;return t=n.a,n.a+=n.c.c,++n.b,QR(t)}(this)},nPU.Ub=function(){return function(n){if(n.b<=0)throw(new dF).e;return--n.b,n.a-=n.c.c,QR(n.a)}(this)},nPU.Wb=function(n){O2(n,17),function(){throw new pR(nPi).e}()},nPU.Ob=function(){return this.c.c<0?this.a>=this.c.b:this.a<=this.c.b},nPU.Sb=function(){return this.b>0},nPU.Tb=function(){return this.b},nPU.Vb=function(){return this.b-1},nPU.Qb=function(){throw new pR(nPr).e},nPU.a=0,nPU.b=0,NO(nPt,"ExclusiveRange/RangeIterator",258);var n4h=$m(nEC,"C"),n4f=$m(nEA,"I"),n4l=$m(nl2,"Z"),n4b=$m(nEL,"J"),n4w=$m(nEP,"B"),n4d=$m(nEO,"D"),n4g=$m(nEI,"F"),n4p=$m(nEN,"S"),n4m=IX("org.eclipse.elk.core.labels","ILabelManager"),n4v=IX(nj7,"DiagnosticChain"),n4k=IX(nSn,"ResourceSet"),n4y=NO(nj7,"InvocationTargetException",null),n4M=(pZ(),function(n){return pZ(),function(){return function(n,t,e){var i,r;0!=nPy&&(r=Date.now())-nPM>2e3&&(nPM=r,nPj=nPH.setTimeout(va,10)),i=0==nPy++&&(function(n){var t,e;if(n.a){e=null;do t=n.a,n.a=null,e=nrC(t,e);while(n.a);n.a=e}}((pg(),nP5)),!0);try{return n.apply(t,e)}finally{(function(n){if(n&&function(n){var t,e;if(n.b){e=null;do t=n.b,n.b=null,e=nrC(t,e);while(n.b);n.b=e}}((pg(),nP5)),--nPy,n&&-1!=nPj){var t;t=nPj,nPH.clearTimeout(t),nPj=-1}})(i)}}(n,this,arguments)}}),n4j=n4j=function(n,t,e,i){vc();var r=nPq;function a(){for(var n=0;n0&&u.b>0;)if(P$(c.b>0),e=O2(c.a.Xb(c.c=--c.b),27),P$(u.b>0),e==O2(u.a.Xb(u.c=--u.b),27))a=e;else break;return a}(t,e)))return null}return t}(c))}((i=new ju(t,c)).a,i.b,r),a=KV(e,njZ),function(t,e){var i,r,a;if(e)for(a=((i=new Lf(e.a.length)).b-i.a)*i.c<0?(kC(),nl1):new E3(i);a.Ob();)(r=KQ(e,O2(a.Pb(),17).a))&&n(t,r)}(new wm(t).a,a)}(u,c),i&&(o=function(n){var t,e,i,r,a,c,u,o,s;for(o=a=new R8,Vj(),s=nQF,EB(o.c,s),r=XF(n,B0(nP$,nbj,2,0,6,1)),i=new fq(new pU(new vR(n,r).b));i.b0&&xh(A.f),null!=ncR(p,nY5)&&(U=O2(ncR(p,nY5),347).Tg(p),T_(p,nPH.Math.max(p.g,U.a),nPH.Math.max(p.f,U.b)));if(x=O2(ncR(e,nYu),107),w=e.g-(x.b+x.c),b=e.f-(x.d+x.a),q.bh("Available Child Area: ("+w+"|"+b+")"),nnb(e,nJP,w/b),ZB(e,a,r.eh($)),O2(ncR(e,nY0),280)==n1X&&(nlm(e),T_(e,x.b+pE(PI(ncR(e,nJL)))+x.c,x.d+pE(PI(ncR(e,nJA)))+x.a)),q.bh("Executed layout algorithm: "+PA(ncR(e,nJT))+" on node "+e.k),O2(ncR(e,nY0),280)==n1G){if(w<0||b<0)throw new pK("The size defined by the parent parallel node is too small for the space provided by the paddings of the child hierarchical node. "+e.k).e;for(BJ(e,nJL)||BJ(e,nJA)||nlm(e),g=pE(PI(ncR(e,nJL))),d=pE(PI(ncR(e,nJA))),q.bh("Desired Child Area: ("+g+"|"+d+")"),K=w/g,F=b/d,R=nPH.Math.min(K,nPH.Math.min(F,pE(PI(ncR(e,nY2))))),nnb(e,nY4,R),q.bh(e.k+" -- Local Scale Factor (X|Y): ("+K+"|"+F+")"),k=O2(ncR(e,nJ$),21),c=0,u=0,R0&&void 0!==arguments[0]?arguments[0]:{};!function(n,t){if(!(n instanceof t))throw TypeError("Cannot call a class as a function")}(this,e);var i=Object.assign({},t),r=!1;try{n.resolve("web-worker"),r=!0}catch(n){}if(t.workerUrl){if(r){var a=n("web-worker");i.workerFactory=function(n){return new a(n)}}else console.warn("Web worker requested but 'web-worker' package not installed. \nConsider installing the package or pass your own 'workerFactory' to ELK's constructor.\n... Falling back to non-web worker version.")}if(!i.workerFactory){var c=n("./elk-worker.min.js").Worker;i.workerFactory=function(n){return new c(n)}}return function(n,t){if(!n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t&&("object"==typeof t||"function"==typeof t)?t:n}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,i))}return function(n,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function, not "+typeof t);n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(n,t):n.__proto__=t)}(e,t),e}(n("./elk-api.js").default);Object.defineProperty(t.exports,"__esModule",{value:!0}),t.exports=i,i.default=i},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(n,t,e){t.exports=Worker},{}]},{},[3])(3)},n.exports=i()}}]); \ No newline at end of file diff --git a/_next/static/chunks/7327.0f0581ad2d0838a6.js b/_next/static/chunks/7327.0f0581ad2d0838a6.js new file mode 100644 index 0000000..87850b4 --- /dev/null +++ b/_next/static/chunks/7327.0f0581ad2d0838a6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7327],{7327:function(e,l,t){t.d(l,{diagram:function(){return g}});var a=t(6336),i=t(4218),n=t(5625),o=t(1835),s=t(4015);t(7484),t(6574),t(7856),t(1316),t(6060);let d=e=>o.e.sanitizeText(e,(0,o.c)()),r={dividerMargin:10,padding:5,textHeight:10,curve:void 0},c=function(e,l,t,a){let i=Object.keys(e);o.l.info("keys:",i),o.l.info(e),i.forEach(function(i){var n,s;let r=e[i],c={shape:"rect",id:r.id,domId:r.domId,labelText:d(r.id),labelStyle:"",style:"fill: none; stroke: black",padding:(null==(n=(0,o.c)().flowchart)?void 0:n.padding)??(null==(s=(0,o.c)().class)?void 0:s.padding)};l.setNode(r.id,c),p(r.classes,l,t,a,r.id),o.l.info("setNode",c)})},p=function(e,l,t,a,i){let n=Object.keys(e);o.l.info("keys:",n),o.l.info(e),n.filter(l=>e[l].parent==i).forEach(function(t){var n,s;let r=e[t],c=r.cssClasses.join(" "),p=(0,o.k)(r.styles),b=r.label??r.id,f={labelStyle:p.labelStyle,shape:"class_box",labelText:d(b),classData:r,rx:0,ry:0,class:c,style:p.style,id:r.id,domId:r.domId,tooltip:a.db.getTooltip(r.id,i)||"",haveCallback:r.haveCallback,link:r.link,width:"group"===r.type?500:void 0,type:r.type,padding:(null==(n=(0,o.c)().flowchart)?void 0:n.padding)??(null==(s=(0,o.c)().class)?void 0:s.padding)};l.setNode(r.id,f),i&&l.setParent(r.id,i),o.l.info("setNode",f)})},b=function(e,l,t,a){o.l.info(e),e.forEach(function(e,n){var s,c;let p={labelStyle:"",shape:"note",labelText:d(e.text),noteData:e,rx:0,ry:0,class:"",style:"",id:e.id,domId:e.id,tooltip:"",type:"note",padding:(null==(s=(0,o.c)().flowchart)?void 0:s.padding)??(null==(c=(0,o.c)().class)?void 0:c.padding)};if(l.setNode(e.id,p),o.l.info("setNode",p),!e.class||!(e.class in a))return;let b=t+n,f={id:`edgeNote${b}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:(0,o.n)(r.curve,i.c_6)};l.setEdge(e.id,e.class,f,b)})},f=function(e,l){let t=(0,o.c)().flowchart,a=0;e.forEach(function(e){var n;a++;let s={classes:"relation",pattern:1==e.relation.lineType?"dashed":"solid",id:`id_${e.id1}_${e.id2}_${a}`,arrowhead:"arrow_open"===e.type?"none":"normal",startLabelRight:"none"===e.relationTitle1?"":e.relationTitle1,endLabelLeft:"none"===e.relationTitle2?"":e.relationTitle2,arrowTypeStart:y(e.relation.type1),arrowTypeEnd:y(e.relation.type2),style:"fill:none",labelStyle:"",curve:(0,o.n)(null==t?void 0:t.curve,i.c_6)};if(o.l.info(s,e),void 0!==e.style){let l=(0,o.k)(e.style);s.style=l.style,s.labelStyle=l.labelStyle}e.text=e.title,void 0===e.text?void 0!==e.style&&(s.arrowheadStyle="fill: #333"):(s.arrowheadStyle="fill: #333",s.labelpos="c",(null==(n=(0,o.c)().flowchart)?void 0:n.htmlLabels)??(0,o.c)().htmlLabels?(s.labelType="html",s.label=''+e.text+""):(s.labelType="text",s.label=e.text.replace(o.e.lineBreakRegex,"\n"),void 0===e.style&&(s.style=s.style||"stroke: #333; stroke-width: 1.5px;fill:none"),s.labelStyle=s.labelStyle.replace("color:","fill:"))),l.setEdge(e.id1,e.id2,s,a)})},u=async function(e,l,t,a){let d;o.l.info("Drawing class - ",l);let r=(0,o.c)().flowchart??(0,o.c)().class,u=(0,o.c)().securityLevel;o.l.info("config:",r);let y=(null==r?void 0:r.nodeSpacing)??50,g=(null==r?void 0:r.rankSpacing)??50,h=new n.k({multigraph:!0,compound:!0}).setGraph({rankdir:a.db.getDirection(),nodesep:y,ranksep:g,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),v=a.db.getNamespaces(),w=a.db.getClasses(),k=a.db.getRelations(),x=a.db.getNotes();o.l.info(k),c(v,h,l,a),p(w,h,l,a),f(k,h),b(x,h,k.length+1,w),"sandbox"===u&&(d=(0,i.Ys)("#i"+l));let m="sandbox"===u?(0,i.Ys)(d.nodes()[0].contentDocument.body):(0,i.Ys)("body"),T=m.select(`[id="${l}"]`),S=m.select("#"+l+" g");if(await (0,s.r)(S,h,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",l),o.u.insertTitle(T,"classTitleText",(null==r?void 0:r.titleTopMargin)??5,a.db.getDiagramTitle()),(0,o.o)(h,T,null==r?void 0:r.diagramPadding,null==r?void 0:r.useMaxWidth),!(null==r?void 0:r.htmlLabels)){let e="sandbox"===u?d.nodes()[0].contentDocument:document;for(let t of e.querySelectorAll('[id="'+l+'"] .edgeLabel .label')){let l=t.getBBox(),a=e.createElementNS("http://www.w3.org/2000/svg","rect");a.setAttribute("rx",0),a.setAttribute("ry",0),a.setAttribute("width",l.width),a.setAttribute("height",l.height),t.insertBefore(a,t.firstChild)}}};function y(e){let l;switch(e){case 0:l="aggregation";break;case 1:l="extension";break;case 2:l="composition";break;case 3:l="dependency";break;case 4:l="lollipop";break;default:l="none"}return l}let g={parser:a.p,db:a.d,renderer:{setConf:function(e){r={...r,...e}},draw:u},styles:a.s,init:e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,a.d.clear()}}}}]); \ No newline at end of file diff --git a/_next/static/chunks/7474.ee29bca8707b2e0c.js b/_next/static/chunks/7474.ee29bca8707b2e0c.js new file mode 100644 index 0000000..c21ec28 --- /dev/null +++ b/_next/static/chunks/7474.ee29bca8707b2e0c.js @@ -0,0 +1,5 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7474],{7474:function(t,e,u){let s,i;u.d(e,{d:function(){return tr},f:function(){return tn},p:function(){return c}});var n=u(4218),r=u(1835),a=function(){var t=function(t,e,u,s){for(u=u||{},s=t.length;s--;u[t[s]]=e);return u},e=[1,4],u=[1,3],s=[1,5],i=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],n=[2,2],r=[1,13],a=[1,14],c=[1,15],l=[1,16],o=[1,23],h=[1,25],A=[1,26],d=[1,27],p=[1,49],y=[1,48],E=[1,29],f=[1,30],g=[1,31],D=[1,32],k=[1,33],b=[1,44],F=[1,46],T=[1,42],_=[1,47],C=[1,43],B=[1,50],S=[1,45],m=[1,51],x=[1,52],v=[1,34],L=[1,35],I=[1,36],R=[1,37],$=[1,57],N=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],O=[1,61],P=[1,60],w=[1,62],U=[8,9,11,73,75],V=[1,88],M=[1,93],G=[1,92],Y=[1,89],K=[1,85],j=[1,91],X=[1,87],z=[1,94],H=[1,90],W=[1,95],Q=[1,86],q=[8,9,10,11,73,75],Z=[8,9,10,11,44,73,75],J=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],tt=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],te=[42,58,86,99,102,103,106,108,111,112,113],tu=[1,121],ts=[1,120],ti=[1,128],tn=[1,142],tr=[1,143],ta=[1,144],tc=[1,145],tl=[1,130],to=[1,132],th=[1,136],tA=[1,137],td=[1,138],tp=[1,139],ty=[1,140],tE=[1,141],tf=[1,146],tg=[1,147],tD=[1,126],tk=[1,127],tb=[1,134],tF=[1,129],tT=[1,133],t_=[1,131],tC=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],tB=[1,149],tS=[8,9,11],tm=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],tx=[1,169],tv=[1,165],tL=[1,166],tI=[1,170],tR=[1,167],t$=[1,168],tN=[75,113,116],tO=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],tP=[10,103],tw=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],tU=[1,235],tV=[1,233],tM=[1,237],tG=[1,231],tY=[1,232],tK=[1,234],tj=[1,236],tX=[1,238],tz=[1,255],tH=[8,9,11,103],tW=[8,9,10,11,58,81,102,103,106,107,108,109],tQ={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(t,e,u,s,i,n,r){var a=n.length-1;switch(i){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(n[a])||n[a].length>0)&&n[a-1].push(n[a]),this.$=n[a-1];break;case 4:case 176:case 49:case 71:case 174:this.$=n[a];break;case 11:s.setDirection("TB"),this.$="TB";break;case 12:s.setDirection(n[a-1]),this.$=n[a-1];break;case 27:this.$=n[a-1].nodes;break;case 33:this.$=s.addSubGraph(n[a-6],n[a-1],n[a-4]);break;case 34:this.$=s.addSubGraph(n[a-3],n[a-1],n[a-3]);break;case 35:this.$=s.addSubGraph(void 0,n[a-1],void 0);break;case 37:this.$=n[a].trim(),s.setAccTitle(this.$);break;case 38:case 39:this.$=n[a].trim(),s.setAccDescription(this.$);break;case 43:s.addLink(n[a-2].stmt,n[a],n[a-1]),this.$={stmt:n[a],nodes:n[a].concat(n[a-2].nodes)};break;case 44:s.addLink(n[a-3].stmt,n[a-1],n[a-2]),this.$={stmt:n[a-1],nodes:n[a-1].concat(n[a-3].nodes)};break;case 45:this.$={stmt:n[a-1],nodes:n[a-1]};break;case 46:this.$={stmt:n[a],nodes:n[a]};break;case 47:case 121:case 123:this.$=[n[a]];break;case 48:this.$=n[a-4].concat(n[a]);break;case 50:this.$=n[a-2],s.setClass(n[a-2],n[a]);break;case 51:this.$=n[a-3],s.addVertex(n[a-3],n[a-1],"square");break;case 52:this.$=n[a-3],s.addVertex(n[a-3],n[a-1],"doublecircle");break;case 53:this.$=n[a-5],s.addVertex(n[a-5],n[a-2],"circle");break;case 54:this.$=n[a-3],s.addVertex(n[a-3],n[a-1],"ellipse");break;case 55:this.$=n[a-3],s.addVertex(n[a-3],n[a-1],"stadium");break;case 56:this.$=n[a-3],s.addVertex(n[a-3],n[a-1],"subroutine");break;case 57:this.$=n[a-7],s.addVertex(n[a-7],n[a-1],"rect",void 0,void 0,void 0,Object.fromEntries([[n[a-5],n[a-3]]]));break;case 58:this.$=n[a-3],s.addVertex(n[a-3],n[a-1],"cylinder");break;case 59:this.$=n[a-3],s.addVertex(n[a-3],n[a-1],"round");break;case 60:this.$=n[a-3],s.addVertex(n[a-3],n[a-1],"diamond");break;case 61:this.$=n[a-5],s.addVertex(n[a-5],n[a-2],"hexagon");break;case 62:this.$=n[a-3],s.addVertex(n[a-3],n[a-1],"odd");break;case 63:this.$=n[a-3],s.addVertex(n[a-3],n[a-1],"trapezoid");break;case 64:this.$=n[a-3],s.addVertex(n[a-3],n[a-1],"inv_trapezoid");break;case 65:this.$=n[a-3],s.addVertex(n[a-3],n[a-1],"lean_right");break;case 66:this.$=n[a-3],s.addVertex(n[a-3],n[a-1],"lean_left");break;case 67:this.$=n[a],s.addVertex(n[a]);break;case 68:n[a-1].text=n[a],this.$=n[a-1];break;case 69:case 70:n[a-2].text=n[a-1],this.$=n[a-2];break;case 72:var c=s.destructLink(n[a],n[a-2]);this.$={type:c.type,stroke:c.stroke,length:c.length,text:n[a-1]};break;case 73:case 79:case 94:case 96:this.$={text:n[a],type:"text"};break;case 74:case 80:case 95:this.$={text:n[a-1].text+""+n[a],type:n[a-1].type};break;case 75:case 81:this.$={text:n[a],type:"string"};break;case 76:case 82:case 97:this.$={text:n[a],type:"markdown"};break;case 77:var c=s.destructLink(n[a]);this.$={type:c.type,stroke:c.stroke,length:c.length};break;case 78:this.$=n[a-1];break;case 98:this.$=n[a-4],s.addClass(n[a-2],n[a]);break;case 99:this.$=n[a-4],s.setClass(n[a-2],n[a]);break;case 100:case 108:this.$=n[a-1],s.setClickEvent(n[a-1],n[a]);break;case 101:case 109:this.$=n[a-3],s.setClickEvent(n[a-3],n[a-2]),s.setTooltip(n[a-3],n[a]);break;case 102:this.$=n[a-2],s.setClickEvent(n[a-2],n[a-1],n[a]);break;case 103:this.$=n[a-4],s.setClickEvent(n[a-4],n[a-3],n[a-2]),s.setTooltip(n[a-4],n[a]);break;case 104:this.$=n[a-2],s.setLink(n[a-2],n[a]);break;case 105:this.$=n[a-4],s.setLink(n[a-4],n[a-2]),s.setTooltip(n[a-4],n[a]);break;case 106:this.$=n[a-4],s.setLink(n[a-4],n[a-2],n[a]);break;case 107:this.$=n[a-6],s.setLink(n[a-6],n[a-4],n[a]),s.setTooltip(n[a-6],n[a-2]);break;case 110:this.$=n[a-1],s.setLink(n[a-1],n[a]);break;case 111:this.$=n[a-3],s.setLink(n[a-3],n[a-2]),s.setTooltip(n[a-3],n[a]);break;case 112:this.$=n[a-3],s.setLink(n[a-3],n[a-2],n[a]);break;case 113:this.$=n[a-5],s.setLink(n[a-5],n[a-4],n[a]),s.setTooltip(n[a-5],n[a-2]);break;case 114:this.$=n[a-4],s.addVertex(n[a-2],void 0,void 0,n[a]);break;case 115:this.$=n[a-4],s.updateLink([n[a-2]],n[a]);break;case 116:this.$=n[a-4],s.updateLink(n[a-2],n[a]);break;case 117:this.$=n[a-8],s.updateLinkInterpolate([n[a-6]],n[a-2]),s.updateLink([n[a-6]],n[a]);break;case 118:this.$=n[a-8],s.updateLinkInterpolate(n[a-6],n[a-2]),s.updateLink(n[a-6],n[a]);break;case 119:this.$=n[a-6],s.updateLinkInterpolate([n[a-4]],n[a]);break;case 120:this.$=n[a-6],s.updateLinkInterpolate(n[a-4],n[a]);break;case 122:case 124:n[a-2].push(n[a]),this.$=n[a-2];break;case 126:this.$=n[a-1]+n[a];break;case 175:case 177:this.$=n[a-1]+""+n[a];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"}}},table:[{3:1,4:2,9:e,10:u,12:s},{1:[3]},t(i,n,{5:6}),{4:7,9:e,10:u,12:s},{4:8,9:e,10:u,12:s},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:r,9:a,10:c,11:l,20:17,22:18,23:19,24:20,25:21,26:22,27:o,33:24,34:h,36:A,38:d,40:28,41:38,42:p,43:39,45:40,58:y,81:E,82:f,83:g,84:D,85:k,86:b,99:F,102:T,103:_,106:C,108:B,110:41,111:S,112:m,113:x,118:v,119:L,120:I,121:R},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,54],9:[1,55],10:$,15:53,18:56},t(N,[2,3]),t(N,[2,4]),t(N,[2,5]),t(N,[2,6]),t(N,[2,7]),t(N,[2,8]),{8:O,9:P,11:w,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:O,9:P,11:w,21:66},{8:O,9:P,11:w,21:67},{8:O,9:P,11:w,21:68},{8:O,9:P,11:w,21:69},{8:O,9:P,11:w,21:70},{8:O,9:P,10:[1,71],11:w,21:72},t(N,[2,36]),{35:[1,73]},{37:[1,74]},t(N,[2,39]),t(U,[2,46],{18:75,10:$}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:V,42:M,58:G,77:[1,83],86:Y,92:[1,80],94:[1,81],98:82,102:K,103:j,106:X,108:z,111:H,112:W,113:Q,117:84},t(N,[2,178]),t(N,[2,179]),t(N,[2,180]),t(N,[2,181]),t(q,[2,47]),t(q,[2,49],{44:[1,96]}),t(Z,[2,67],{110:109,29:[1,97],42:p,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:y,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:b,99:F,102:T,103:_,106:C,108:B,111:S,112:m,113:x}),t(J,[2,174]),t(J,[2,135]),t(J,[2,136]),t(J,[2,137]),t(J,[2,138]),t(J,[2,139]),t(J,[2,140]),t(J,[2,141]),t(J,[2,142]),t(J,[2,143]),t(J,[2,144]),t(J,[2,145]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,110]},t(tt,[2,26],{18:111,10:$}),t(N,[2,27]),{40:112,41:38,42:p,43:39,45:40,58:y,86:b,99:F,102:T,103:_,106:C,108:B,110:41,111:S,112:m,113:x},t(N,[2,40]),t(N,[2,41]),t(N,[2,42]),t(te,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:tu,116:ts},t([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),t(N,[2,28]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,32]),{10:ti,12:tn,14:tr,27:ta,28:122,32:tc,42:tl,58:to,73:th,77:[1,124],78:[1,125],80:135,81:tA,82:td,83:tp,84:ty,85:tE,86:tf,87:tg,88:123,102:tD,106:tk,108:tb,111:tF,112:tT,113:t_},t(tC,n,{5:148}),t(N,[2,37]),t(N,[2,38]),t(U,[2,45],{42:tB}),{42:p,45:150,58:y,86:b,99:F,102:T,103:_,106:C,108:B,110:41,111:S,112:m,113:x},{99:[1,151],100:152,102:[1,153]},{42:p,45:154,58:y,86:b,99:F,102:T,103:_,106:C,108:B,110:41,111:S,112:m,113:x},{42:p,45:155,58:y,86:b,99:F,102:T,103:_,106:C,108:B,110:41,111:S,112:m,113:x},t(tS,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},t(tS,[2,108],{117:160,10:[1,159],14:V,42:M,58:G,86:Y,102:K,103:j,106:X,108:z,111:H,112:W,113:Q}),t(tS,[2,110],{10:[1,161]}),t(tm,[2,176]),t(tm,[2,163]),t(tm,[2,164]),t(tm,[2,165]),t(tm,[2,166]),t(tm,[2,167]),t(tm,[2,168]),t(tm,[2,169]),t(tm,[2,170]),t(tm,[2,171]),t(tm,[2,172]),t(tm,[2,173]),{42:p,45:162,58:y,86:b,99:F,102:T,103:_,106:C,108:B,110:41,111:S,112:m,113:x},{30:163,65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},{30:171,65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},{30:173,48:[1,172],65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},{30:174,65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},{30:175,65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},{30:176,65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},{106:[1,177]},{30:178,65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},{30:179,63:[1,180],65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},{30:181,65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},{30:182,65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},{30:183,65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},t(J,[2,175]),t(i,[2,20]),t(tt,[2,25]),t(U,[2,43],{18:184,10:$}),t(te,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},{75:[1,188],76:189,113:tu,116:ts},t(tN,[2,73]),t(tN,[2,75]),t(tN,[2,76]),t(tN,[2,161]),t(tN,[2,162]),{8:O,9:P,10:ti,11:w,12:tn,14:tr,21:191,27:ta,29:[1,190],32:tc,42:tl,58:to,73:th,80:135,81:tA,82:td,83:tp,84:ty,85:tE,86:tf,87:tg,88:192,102:tD,106:tk,108:tb,111:tF,112:tT,113:t_},t(tO,[2,94]),t(tO,[2,96]),t(tO,[2,97]),t(tO,[2,150]),t(tO,[2,151]),t(tO,[2,152]),t(tO,[2,153]),t(tO,[2,154]),t(tO,[2,155]),t(tO,[2,156]),t(tO,[2,157]),t(tO,[2,158]),t(tO,[2,159]),t(tO,[2,160]),t(tO,[2,83]),t(tO,[2,84]),t(tO,[2,85]),t(tO,[2,86]),t(tO,[2,87]),t(tO,[2,88]),t(tO,[2,89]),t(tO,[2,90]),t(tO,[2,91]),t(tO,[2,92]),t(tO,[2,93]),{6:11,7:12,8:r,9:a,10:c,11:l,20:17,22:18,23:19,24:20,25:21,26:22,27:o,32:[1,193],33:24,34:h,36:A,38:d,40:28,41:38,42:p,43:39,45:40,58:y,81:E,82:f,83:g,84:D,85:k,86:b,99:F,102:T,103:_,106:C,108:B,110:41,111:S,112:m,113:x,118:v,119:L,120:I,121:R},{10:$,18:194},{10:[1,195],42:p,58:y,86:b,99:F,102:T,103:_,106:C,108:B,110:109,111:S,112:m,113:x},{10:[1,196]},{10:[1,197],103:[1,198]},t(tP,[2,121]),{10:[1,199],42:p,58:y,86:b,99:F,102:T,103:_,106:C,108:B,110:109,111:S,112:m,113:x},{10:[1,200],42:p,58:y,86:b,99:F,102:T,103:_,106:C,108:B,110:109,111:S,112:m,113:x},{77:[1,201]},t(tS,[2,102],{10:[1,202]}),t(tS,[2,104],{10:[1,203]}),{77:[1,204]},t(tm,[2,177]),{77:[1,205],95:[1,206]},t(q,[2,50],{110:109,42:p,58:y,86:b,99:F,102:T,103:_,106:C,108:B,111:S,112:m,113:x}),{31:[1,207],65:tx,79:208,113:tI,114:tR,115:t$},t(tw,[2,79]),t(tw,[2,81]),t(tw,[2,82]),t(tw,[2,146]),t(tw,[2,147]),t(tw,[2,148]),t(tw,[2,149]),{47:[1,209],65:tx,79:208,113:tI,114:tR,115:t$},{30:210,65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},{49:[1,211],65:tx,79:208,113:tI,114:tR,115:t$},{51:[1,212],65:tx,79:208,113:tI,114:tR,115:t$},{53:[1,213],65:tx,79:208,113:tI,114:tR,115:t$},{55:[1,214],65:tx,79:208,113:tI,114:tR,115:t$},{58:[1,215]},{62:[1,216],65:tx,79:208,113:tI,114:tR,115:t$},{64:[1,217],65:tx,79:208,113:tI,114:tR,115:t$},{30:218,65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},{31:[1,219],65:tx,79:208,113:tI,114:tR,115:t$},{65:tx,67:[1,220],69:[1,221],79:208,113:tI,114:tR,115:t$},{65:tx,67:[1,223],69:[1,222],79:208,113:tI,114:tR,115:t$},t(U,[2,44],{42:tB}),t(te,[2,70]),t(te,[2,69]),{60:[1,224],65:tx,79:208,113:tI,114:tR,115:t$},t(te,[2,72]),t(tN,[2,74]),{30:225,65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},t(tC,n,{5:226}),t(tO,[2,95]),t(N,[2,35]),{41:227,42:p,43:39,45:40,58:y,86:b,99:F,102:T,103:_,106:C,108:B,110:41,111:S,112:m,113:x},{10:tU,58:tV,81:tM,89:228,102:tG,104:229,105:230,106:tY,107:tK,108:tj,109:tX},{10:tU,58:tV,81:tM,89:239,101:[1,240],102:tG,104:229,105:230,106:tY,107:tK,108:tj,109:tX},{10:tU,58:tV,81:tM,89:241,101:[1,242],102:tG,104:229,105:230,106:tY,107:tK,108:tj,109:tX},{102:[1,243]},{10:tU,58:tV,81:tM,89:244,102:tG,104:229,105:230,106:tY,107:tK,108:tj,109:tX},{42:p,45:245,58:y,86:b,99:F,102:T,103:_,106:C,108:B,110:41,111:S,112:m,113:x},t(tS,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},t(tS,[2,109]),t(tS,[2,111],{10:[1,249]}),t(tS,[2,112]),t(Z,[2,51]),t(tw,[2,80]),t(Z,[2,52]),{49:[1,250],65:tx,79:208,113:tI,114:tR,115:t$},t(Z,[2,59]),t(Z,[2,54]),t(Z,[2,55]),t(Z,[2,56]),{106:[1,251]},t(Z,[2,58]),t(Z,[2,60]),{64:[1,252],65:tx,79:208,113:tI,114:tR,115:t$},t(Z,[2,62]),t(Z,[2,63]),t(Z,[2,65]),t(Z,[2,64]),t(Z,[2,66]),t([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:tx,79:208,113:tI,114:tR,115:t$},{6:11,7:12,8:r,9:a,10:c,11:l,20:17,22:18,23:19,24:20,25:21,26:22,27:o,32:[1,254],33:24,34:h,36:A,38:d,40:28,41:38,42:p,43:39,45:40,58:y,81:E,82:f,83:g,84:D,85:k,86:b,99:F,102:T,103:_,106:C,108:B,110:41,111:S,112:m,113:x,118:v,119:L,120:I,121:R},t(q,[2,48]),t(tS,[2,114],{103:tz}),t(tH,[2,123],{105:256,10:tU,58:tV,81:tM,102:tG,106:tY,107:tK,108:tj,109:tX}),t(tW,[2,125]),t(tW,[2,127]),t(tW,[2,128]),t(tW,[2,129]),t(tW,[2,130]),t(tW,[2,131]),t(tW,[2,132]),t(tW,[2,133]),t(tW,[2,134]),t(tS,[2,115],{103:tz}),{10:[1,257]},t(tS,[2,116],{103:tz}),{10:[1,258]},t(tP,[2,122]),t(tS,[2,98],{103:tz}),t(tS,[2,99],{110:109,42:p,58:y,86:b,99:F,102:T,103:_,106:C,108:B,111:S,112:m,113:x}),t(tS,[2,103]),t(tS,[2,105],{10:[1,259]}),t(tS,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:O,9:P,11:w,21:264},t(N,[2,34]),{10:tU,58:tV,81:tM,102:tG,104:265,105:230,106:tY,107:tK,108:tj,109:tX},t(tW,[2,126]),{14:V,42:M,58:G,86:Y,98:266,102:K,103:j,106:X,108:z,111:H,112:W,113:Q,117:84},{14:V,42:M,58:G,86:Y,98:267,102:K,103:j,106:X,108:z,111:H,112:W,113:Q,117:84},{95:[1,268]},t(tS,[2,113]),t(Z,[2,53]),{30:269,65:tx,77:tv,78:tL,79:164,113:tI,114:tR,115:t$},t(Z,[2,61]),t(tC,n,{5:270}),t(tH,[2,124],{105:256,10:tU,58:tV,81:tM,102:tG,106:tY,107:tK,108:tj,109:tX}),t(tS,[2,119],{117:160,10:[1,271],14:V,42:M,58:G,86:Y,102:K,103:j,106:X,108:z,111:H,112:W,113:Q}),t(tS,[2,120],{117:160,10:[1,272],14:V,42:M,58:G,86:Y,102:K,103:j,106:X,108:z,111:H,112:W,113:Q}),t(tS,[2,107]),{31:[1,273],65:tx,79:208,113:tI,114:tR,115:t$},{6:11,7:12,8:r,9:a,10:c,11:l,20:17,22:18,23:19,24:20,25:21,26:22,27:o,32:[1,274],33:24,34:h,36:A,38:d,40:28,41:38,42:p,43:39,45:40,58:y,81:E,82:f,83:g,84:D,85:k,86:b,99:F,102:T,103:_,106:C,108:B,110:41,111:S,112:m,113:x,118:v,119:L,120:I,121:R},{10:tU,58:tV,81:tM,89:275,102:tG,104:229,105:230,106:tY,107:tK,108:tj,109:tX},{10:tU,58:tV,81:tM,89:276,102:tG,104:229,105:230,106:tY,107:tK,108:tj,109:tX},t(Z,[2,57]),t(N,[2,33]),t(tS,[2,117],{103:tz}),t(tS,[2,118],{103:tz})],defaultActions:{},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var u=Error(t);throw u.hash=e,u}},parse:function(t){var e=this,u=[0],s=[],i=[null],n=[],r=this.table,a="",c=0,l=0,o=n.slice.call(arguments,1),h=Object.create(this.lexer),A={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(A.yy[d]=this.yy[d]);h.setInput(t,A.yy),A.yy.lexer=h,A.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;n.push(p);var y=h.options&&h.options.ranges;"function"==typeof A.yy.parseError?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var E,f,g,D,k,b,F,T,_={};;){if(f=u[u.length-1],this.defaultActions[f]?g=this.defaultActions[f]:(null==E&&(E=function(){var t;return"number"!=typeof(t=s.pop()||h.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=e.symbols_[t]||t),t}()),g=r[f]&&r[f][E]),void 0===g||!g.length||!g[0]){var C="";for(k in T=[],r[f])this.terminals_[k]&&k>2&&T.push("'"+this.terminals_[k]+"'");C=h.showPosition?"Parse error on line "+(c+1)+":\n"+h.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[E]||E)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==E?"end of input":"'"+(this.terminals_[E]||E)+"'"),this.parseError(C,{text:h.match,token:this.terminals_[E]||E,line:h.yylineno,loc:p,expected:T})}if(g[0]instanceof Array&&g.length>1)throw Error("Parse Error: multiple actions possible at state: "+f+", token: "+E);switch(g[0]){case 1:u.push(E),i.push(h.yytext),n.push(h.yylloc),u.push(g[1]),E=null,l=h.yyleng,a=h.yytext,c=h.yylineno,p=h.yylloc;break;case 2:if(b=this.productions_[g[1]][1],_.$=i[i.length-b],_._$={first_line:n[n.length-(b||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(b||1)].first_column,last_column:n[n.length-1].last_column},y&&(_._$.range=[n[n.length-(b||1)].range[0],n[n.length-1].range[1]]),void 0!==(D=this.performAction.apply(_,[a,l,c,A.yy,g[1],i,n].concat(o))))return D;b&&(u=u.slice(0,-1*b*2),i=i.slice(0,-1*b),n=n.slice(0,-1*b)),u.push(this.productions_[g[1]][0]),i.push(_.$),n.push(_._$),F=r[u[u.length-2]][u[u.length-1]],u.push(F);break;case 3:return!0}}return!0}};function tq(){this.yy={}}return tQ.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,u=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),u.length-1&&(this.yylineno-=u.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:u?(u.length===s.length?this.yylloc.first_column:0)+s[s.length-u.length].length-u[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var u,s,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],u=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),u)return u;if(this._backtrack)for(var n in i)this[n]=i[n];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,u,s,i=this._currentRules(),n=0;ne[0].length)){if(e=u,s=n,this.options.backtrack_lexer){if(!1!==(t=this.test_match(u,i[n])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,u,s){switch(u){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 8:case 11:case 14:case 17:case 27:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 12:return 93;case 13:return"MD_STR";case 15:this.begin("md_string");break;case 16:return"STR";case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 28:return 85;case 29:case 30:case 31:return t.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:case 35:case 36:case 37:return 95;case 38:return this.popState(),13;case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:case 95:return 108;case 55:return 44;case 56:return 58;case 57:case 96:return 42;case 58:return 8;case 59:return 103;case 60:case 94:return 112;case 61:case 64:case 67:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:case 66:case 69:return 116;case 65:return this.pushState("thickEdgeText"),73;case 68:return this.pushState("dottedEdgeText"),73;case 70:return 75;case 71:return this.popState(),51;case 72:case 108:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}},tq.prototype=tQ,tQ.Parser=tq,new tq}();a.parser=a;let c=a,l=0,o=(0,r.c)(),h={},A=[],d={},p=[],y={},E={},f=0,g=!0,D=[],k=t=>r.e.sanitizeText(t,o),b=function(t){for(let e of Object.keys(h))if(h[e].id===t)return h[e].domId;return t},F=function(t,e,u,s,i,n,a={}){let c;void 0!==t&&0!==t.trim().length&&(void 0===h[t]&&(h[t]={id:t,labelType:"text",domId:"flowchart-"+t+"-"+l,styles:[],classes:[]}),l++,void 0!==e?(o=(0,r.c)(),c=k(e.text.trim()),h[t].labelType=e.type,'"'===c[0]&&'"'===c[c.length-1]&&(c=c.substring(1,c.length-1)),h[t].text=c):void 0===h[t].text&&(h[t].text=t),void 0!==u&&(h[t].type=u),null!=s&&s.forEach(function(e){h[t].styles.push(e)}),null!=i&&i.forEach(function(e){h[t].classes.push(e)}),void 0!==n&&(h[t].dir=n),void 0===h[t].props?h[t].props=a:void 0!==a&&Object.assign(h[t].props,a))},T=function(t,e,u){let s={start:t,end:e,type:void 0,text:"",labelType:"text"};r.l.info("abc78 Got edge...",s);let i=u.text;if(void 0!==i&&(s.text=k(i.text.trim()),'"'===s.text[0]&&'"'===s.text[s.text.length-1]&&(s.text=s.text.substring(1,s.text.length-1)),s.labelType=i.type),void 0!==u&&(s.type=u.type,s.stroke=u.stroke,s.length=u.length),(null==s?void 0:s.length)>10&&(s.length=10),A.length<(o.maxEdges??500))r.l.info("abc78 pushing edge..."),A.push(s);else throw Error(`Edge limit exceeded. ${A.length} edges found, but the limit is ${o.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`)},_=function(t,e,u){let s,i;for(r.l.info("addLink (abc78)",t,e,u),s=0;s=A.length)throw Error(`The index ${t} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${A.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===t?A.defaultStyle=e:(-1===r.u.isSubstringInArray("fill",e)&&e.push("fill:none"),A[t].style=e)})},S=function(t,e){t.split(",").forEach(function(t){void 0===d[t]&&(d[t]={id:t,styles:[],textStyles:[]}),null!=e&&e.forEach(function(e){if(e.match("color")){let u=e.replace("fill","bgFill").replace("color","fill");d[t].textStyles.push(u)}d[t].styles.push(e)})})},m=function(t){(s=t).match(/.*/)&&(s="LR"),s.match(/.*v/)&&(s="TB"),"TD"===s&&(s="TB")},x=function(t,e){t.split(",").forEach(function(t){void 0!==h[t]&&h[t].classes.push(e),void 0!==y[t]&&y[t].classes.push(e)})},v=function(t,e,u){let s=b(t);if("loose"!==(0,r.c)().securityLevel||void 0===e)return;let i=[];if("string"==typeof u){i=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t")),t.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),(0,n.Ys)(this).classed("hover",!1)})};D.push(U);let V=function(t="gen-1"){h={},d={},A=[],D=[U],p=[],y={},f=0,E={},g=!0,i=t,o=(0,r.c)(),(0,r.v)()},M=t=>{i=t||"gen-2"},G=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},Y=function(t,e,u){let s=t.text.trim(),n=u.text;t===u&&u.text.match(/\s/)&&(s=void 0);let a=[],{nodeList:c,dir:l}=function(t){let e;let u={boolean:{},number:{},string:{}},s=[];return{nodeList:t.filter(function(t){let i=typeof t;return t.stmt&&"dir"===t.stmt?(e=t.value,!1):""!==t.trim()&&(i in u?!u[i].hasOwnProperty(t)&&(u[i][t]=!0):!s.includes(t)&&s.push(t))}),dir:e}}(a.concat.apply(a,e));if(a=c,"gen-1"===i)for(let t=0;t2e3)return;if(X[j]=e,p[e].id===t)return{result:!0,count:0};let s=0,i=1;for(;s=0){let u=z(t,e);if(u.result)return{result:!0,count:i+u.count};i+=u.count}s+=1}return{result:!1,count:i}},H=function(t){return X[t]},W=function(){j=-1,p.length>0&&z("none",p.length-1)},Q=function(){return p},q=()=>!!g&&(g=!1,!0),Z=t=>{let e=t.trim(),u="arrow_open";switch(e[0]){case"<":u="arrow_point",e=e.slice(1);break;case"x":u="arrow_cross",e=e.slice(1);break;case"o":u="arrow_circle",e=e.slice(1)}let s="normal";return e.includes("=")&&(s="thick"),e.includes(".")&&(s="dotted"),{type:u,stroke:s}},J=(t,e)=>{let u=e.length,s=0;for(let i=0;i{let e=t.trim(),u=e.slice(0,-1),s="arrow_open";switch(e.slice(-1)){case"x":s="arrow_cross","x"===e[0]&&(s="double_"+s,u=u.slice(1));break;case">":s="arrow_point","<"===e[0]&&(s="double_"+s,u=u.slice(1));break;case"o":s="arrow_circle","o"===e[0]&&(s="double_"+s,u=u.slice(1))}let i="normal",n=u.length-1;"="===u[0]&&(i="thick"),"~"===u[0]&&(i="invisible");let r=J(".",u);return r&&(i="dotted",n=r),{type:s,stroke:i,length:n}},te=(t,e)=>{let u;let s=tt(t);if(e){if((u=Z(e)).stroke!==s.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===u.type)u.type=s.type;else{if(u.type!==s.type)return{type:"INVALID",stroke:"INVALID"};u.type="double_"+u.type}return"double_arrow"===u.type&&(u.type="double_arrow_point"),u.length=s.length,u}return s},tu=(t,e)=>{let u=!1;return t.forEach(t=>{t.nodes.indexOf(e)>=0&&(u=!0)}),u},ts=(t,e)=>{let u=[];return t.nodes.forEach((s,i)=>{tu(e,s)||u.push(t.nodes[i])}),{nodes:u}},ti={firstGraph:q},tn={defaultConfig:()=>r.K.flowchart,setAccTitle:r.s,getAccTitle:r.g,getAccDescription:r.a,setAccDescription:r.b,addVertex:F,lookUpDomId:b,addLink:_,updateLinkInterpolate:C,updateLink:B,addClass:S,setDirection:m,setClass:x,setTooltip:function(t,e){t.split(",").forEach(function(t){void 0!==e&&(E["gen-1"===i?b(t):t]=k(e))})},getTooltip:I,setClickEvent:R,setLink:L,bindFunctions:$,getDirection:N,getVertices:O,getEdges:P,getClasses:w,clear:V,setGen:M,defaultStyle:G,addSubGraph:Y,getDepthFirstPos:H,indexNodes:W,getSubGraphs:Q,destructLink:te,lex:ti,exists:tu,makeUniq:ts,setDiagramTitle:r.q,getDiagramTitle:r.t},tr=Object.freeze(Object.defineProperty({__proto__:null,addClass:S,addLink:_,addSingleLink:T,addSubGraph:Y,addVertex:F,bindFunctions:$,clear:V,default:tn,defaultStyle:G,destructLink:te,firstGraph:q,getClasses:w,getDepthFirstPos:H,getDirection:N,getEdges:P,getSubGraphs:Q,getTooltip:I,getVertices:O,indexNodes:W,lex:ti,lookUpDomId:b,setClass:x,setClickEvent:R,setDirection:m,setGen:M,setLink:L,updateLink:B,updateLinkInterpolate:C},Symbol.toStringTag,{value:"Module"}))}}]); \ No newline at end of file diff --git a/_next/static/chunks/7488.cc326e425bc4c1cd.js b/_next/static/chunks/7488.cc326e425bc4c1cd.js new file mode 100644 index 0000000..6750d47 --- /dev/null +++ b/_next/static/chunks/7488.cc326e425bc4c1cd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7488],{3172:function(t,i,n){n.d(i,{diagram:function(){return h}});var s=n(1835);n(7484),n(6574),n(4218),n(7856);var e=function(){var t=function(t,i,n,s){for(n=n||{},s=t.length;s--;n[t[s]]=i);return n},i=[6,9,10],n={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,i,n,s,e,r,h){switch(r.length,e){case 1:return s;case 4:break;case 6:s.setInfo(!0)}},table:[{3:1,4:[1,2]},{1:[3]},t(i,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},t(i,[2,3]),t(i,[2,4]),t(i,[2,5]),t(i,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,i){if(i.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=i,n}},parse:function(t){var i=this,n=[0],s=[],e=[null],r=[],h=this.table,o="",l=0,c=0,a=r.slice.call(arguments,1),y=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);y.setInput(t,u.yy),u.yy.lexer=y,u.yy.parser=this,void 0===y.yylloc&&(y.yylloc={});var f=y.yylloc;r.push(f);var g=y.options&&y.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var _,m,d,k,b,x,v,I,E={};;){if(m=n[n.length-1],this.defaultActions[m]?d=this.defaultActions[m]:(null==_&&(_=function(){var t;return"number"!=typeof(t=s.pop()||y.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=i.symbols_[t]||t),t}()),d=h[m]&&h[m][_]),void 0===d||!d.length||!d[0]){var S="";for(b in I=[],h[m])this.terminals_[b]&&b>2&&I.push("'"+this.terminals_[b]+"'");S=y.showPosition?"Parse error on line "+(l+1)+":\n"+y.showPosition()+"\nExpecting "+I.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(S,{text:y.match,token:this.terminals_[_]||_,line:y.yylineno,loc:f,expected:I})}if(d[0]instanceof Array&&d.length>1)throw Error("Parse Error: multiple actions possible at state: "+m+", token: "+_);switch(d[0]){case 1:n.push(_),e.push(y.yytext),r.push(y.yylloc),n.push(d[1]),_=null,c=y.yyleng,o=y.yytext,l=y.yylineno,f=y.yylloc;break;case 2:if(x=this.productions_[d[1]][1],E.$=e[e.length-x],E._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},g&&(E._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),void 0!==(k=this.performAction.apply(E,[o,c,l,u.yy,d[1],e,r].concat(a))))return k;x&&(n=n.slice(0,-1*x*2),e=e.slice(0,-1*x),r=r.slice(0,-1*x)),n.push(this.productions_[d[1]][0]),e.push(E.$),r.push(E._$),v=h[n[n.length-2]][n[n.length-1]],n.push(v);break;case 3:return!0}}return!0}};function s(){this.yy={}}return n.lexer={EOF:1,parseError:function(t,i){if(this.yy.parser)this.yy.parser.parseError(t,i);else throw Error(t)},setInput:function(t,i){return this.yy=i||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var i=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===s.length?this.yylloc.first_column:0)+s[s.length-n.length].length-n[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),i=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+i+"^"},test_match:function(t,i){var n,s,e;if(this.options.backtrack_lexer&&(e={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(e.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var r in e)this[r]=e[r];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,i,n,s,e=this._currentRules(),r=0;ri[0].length)){if(i=n,s=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,e[r])))return t;if(!this._backtrack)return!1;i=!1;continue}if(!this.options.flex)break}return i?!1!==(t=this.test_match(i,e[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,i,n,s){switch(n){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}},s.prototype=n,n.Parser=s,new s}();e.parser=e;let r=!1,h={parser:e,db:{clear:()=>{r=!1},setInfo:t=>{r=t},getInfo:()=>r},renderer:{draw:(t,i,n)=>{s.l.debug("rendering info diagram\n"+t);let e=(0,s.A)(i);(0,s.i)(e,100,400,!0),e.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${n}`)}}}}}]); \ No newline at end of file diff --git a/_next/static/chunks/7518.cc7a7e0905770a89.js b/_next/static/chunks/7518.cc7a7e0905770a89.js new file mode 100644 index 0000000..e669794 --- /dev/null +++ b/_next/static/chunks/7518.cc7a7e0905770a89.js @@ -0,0 +1,202 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7518],{7518:function(t,e,i){i.d(e,{D:function(){return c},S:function(){return l},a:function(){return h},b:function(){return a},c:function(){return o},d:function(){return B},p:function(){return n},s:function(){return w}});var s=i(1835),r=function(){var t=function(t,e,i,s){for(i=i||{},s=t.length;s--;i[t[s]]=e);return i},e=[1,2],i=[1,3],s=[1,4],r=[2,4],n=[1,9],o=[1,11],a=[1,15],l=[1,16],c=[1,17],h=[1,18],u=[1,30],d=[1,19],p=[1,20],y=[1,21],f=[1,22],m=[1,23],g=[1,25],_=[1,26],S=[1,27],k=[1,28],T=[1,29],b=[1,32],E=[1,33],x=[1,34],$=[1,35],C=[1,31],v=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],D=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],A=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],L={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(t,e,i,s,r,n,o){var a=n.length-1;switch(r){case 3:return s.setRootDoc(n[a]),n[a];case 4:this.$=[];break;case 5:"nl"!=n[a]&&(n[a-1].push(n[a]),this.$=n[a-1]);break;case 6:case 7:case 11:this.$=n[a];break;case 8:this.$="nl";break;case 12:let l=n[a-1];l.description=s.trimColon(n[a]),this.$=l;break;case 13:this.$={stmt:"relation",state1:n[a-2],state2:n[a]};break;case 14:let c=s.trimColon(n[a]);this.$={stmt:"relation",state1:n[a-3],state2:n[a-1],description:c};break;case 18:this.$={stmt:"state",id:n[a-3],type:"default",description:"",doc:n[a-1]};break;case 19:var h=n[a],u=n[a-2].trim();if(n[a].match(":")){var d=n[a].split(":");h=d[0],u=[u,d[1]]}this.$={stmt:"state",id:h,type:"default",description:u};break;case 20:this.$={stmt:"state",id:n[a-3],type:"default",description:n[a-5],doc:n[a-1]};break;case 21:this.$={stmt:"state",id:n[a],type:"fork"};break;case 22:this.$={stmt:"state",id:n[a],type:"join"};break;case 23:this.$={stmt:"state",id:n[a],type:"choice"};break;case 24:this.$={stmt:"state",id:s.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:n[a-1].trim(),note:{position:n[a-2].trim(),text:n[a].trim()}};break;case 28:this.$=n[a].trim(),s.setAccTitle(this.$);break;case 29:case 30:this.$=n[a].trim(),s.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:n[a-1].trim(),classes:n[a].trim()};break;case 33:this.$={stmt:"applyClass",id:n[a-1].trim(),styleClass:n[a].trim()};break;case 34:s.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:s.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:s.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:s.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:n[a].trim(),type:"default",description:""};break;case 42:case 43:this.$={stmt:"state",id:n[a-2].trim(),classes:[n[a].trim()],type:"default",description:""}}},table:[{3:1,4:e,5:i,6:s},{1:[3]},{3:5,4:e,5:i,6:s},{3:6,4:e,5:i,6:s},t([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],r,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:n,5:o,8:8,9:10,10:12,11:13,12:14,15:a,16:l,18:c,21:h,23:u,24:d,25:p,26:y,27:f,28:m,31:24,32:g,34:_,36:S,37:k,41:T,44:b,45:E,46:x,47:$,50:C},t(v,[2,5]),{9:36,10:12,11:13,12:14,15:a,16:l,18:c,21:h,23:u,24:d,25:p,26:y,27:f,28:m,31:24,32:g,34:_,36:S,37:k,41:T,44:b,45:E,46:x,47:$,50:C},t(v,[2,7]),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(v,[2,11],{13:[1,37],14:[1,38]}),t(v,[2,15]),{17:[1,39]},t(v,[2,17],{19:[1,40]}),{22:[1,41]},t(v,[2,21]),t(v,[2,22]),t(v,[2,23]),t(v,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},t(v,[2,27]),{33:[1,46]},{35:[1,47]},t(v,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},t(D,[2,40],{51:[1,51]}),t(D,[2,41],{51:[1,52]}),t(v,[2,34]),t(v,[2,35]),t(v,[2,36]),t(v,[2,37]),t(v,[2,6]),t(v,[2,12]),{12:53,23:u,50:C},t(v,[2,16]),t(A,r,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},t(v,[2,28]),t(v,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},t(v,[2,13],{13:[1,63]}),{4:n,5:o,8:8,9:10,10:12,11:13,12:14,15:a,16:l,18:c,20:[1,64],21:h,23:u,24:d,25:p,26:y,27:f,28:m,31:24,32:g,34:_,36:S,37:k,41:T,44:b,45:E,46:x,47:$,50:C},t(v,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},t(v,[2,31]),t(v,[2,32]),t(v,[2,33]),t(D,[2,42]),t(D,[2,43]),t(v,[2,14]),t(v,[2,18]),t(A,r,{7:68}),t(v,[2,25]),t(v,[2,26]),{4:n,5:o,8:8,9:10,10:12,11:13,12:14,15:a,16:l,18:c,20:[1,69],21:h,23:u,24:d,25:p,26:y,27:f,28:m,31:24,32:g,34:_,36:S,37:k,41:T,44:b,45:E,46:x,47:$,50:C},t(v,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],s=[],r=[null],n=[],o=this.table,a="",l=0,c=0,h=n.slice.call(arguments,1),u=Object.create(this.lexer),d={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(d.yy[p]=this.yy[p]);u.setInput(t,d.yy),d.yy.lexer=u,d.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var y=u.yylloc;n.push(y);var f=u.options&&u.options.ranges;"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,g,_,S,k,T,b,E,x={};;){if(g=i[i.length-1],this.defaultActions[g]?_=this.defaultActions[g]:(null==m&&(m=function(){var t;return"number"!=typeof(t=s.pop()||u.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=e.symbols_[t]||t),t}()),_=o[g]&&o[g][m]),void 0===_||!_.length||!_[0]){var $="";for(k in E=[],o[g])this.terminals_[k]&&k>2&&E.push("'"+this.terminals_[k]+"'");$=u.showPosition?"Parse error on line "+(l+1)+":\n"+u.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError($,{text:u.match,token:this.terminals_[m]||m,line:u.yylineno,loc:y,expected:E})}if(_[0]instanceof Array&&_.length>1)throw Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(_[0]){case 1:i.push(m),r.push(u.yytext),n.push(u.yylloc),i.push(_[1]),m=null,c=u.yyleng,a=u.yytext,l=u.yylineno,y=u.yylloc;break;case 2:if(T=this.productions_[_[1]][1],x.$=r[r.length-T],x._$={first_line:n[n.length-(T||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(T||1)].first_column,last_column:n[n.length-1].last_column},f&&(x._$.range=[n[n.length-(T||1)].range[0],n[n.length-1].range[1]]),void 0!==(S=this.performAction.apply(x,[a,c,l,d.yy,_[1],r,n].concat(h))))return S;T&&(i=i.slice(0,-1*T*2),r=r.slice(0,-1*T),n=n.slice(0,-1*T)),i.push(this.productions_[_[1]][0]),r.push(x.$),n.push(x._$),b=o[i[i.length-2]][i[i.length-1]],i.push(b);break;case 3:return!0}}return!0}};function I(){this.yy={}}return L.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===s.length?this.yylloc.first_column:0)+s[s.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,s,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var n in r)this[n]=r[n];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,s,r=this._currentRules(),n=0;ne[0].length)){if(e=i,s=n,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,r[n])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,i,s){switch(i){case 0:return 40;case 1:case 39:return 44;case 2:case 40:return 45;case 3:case 41:return 46;case 4:case 42:return 47;case 5:case 6:case 8:case 9:case 10:case 11:case 51:case 53:case 59:break;case 7:case 74:return 5;case 12:case 29:return this.pushState("SCALE"),16;case 13:case 30:return 17;case 14:case 20:case 31:case 46:case 49:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 32:this.pushState("STATE");break;case 33:case 36:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),24;case 34:case 37:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),25;case 35:case 38:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),26;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:case 61:return this.popState(),"ID";case 47:return"STATE_DESCR";case 48:return 18;case 50:return this.popState(),this.pushState("struct"),19;case 52:return this.popState(),20;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 60:return"NOTE_TEXT";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),e.yytext=e.yytext.substr(2).trim(),30;case 64:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),30;case 65:case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return e.yytext=e.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}},I.prototype=L,L.Parser=I,new I}();r.parser=r;let n=r,o="TB",a="state",l="relation",c="default",h="divider",u="start",d="color",p="fill",y="LR",f=[],m={},g=()=>({relations:[],states:{},documents:{}}),_={root:g()},S=_.root,k=0,T=0,b=t=>JSON.parse(JSON.stringify(t)),E=(t,e,i)=>{if(e.stmt===l)E(t,e.state1,!0),E(t,e.state2,!1);else if(e.stmt===a&&("[*]"===e.id?(e.id=i?t.id+"_start":t.id+"_end",e.start=i):e.id=e.id.trim()),e.doc){let t;let i=[],r=[];for(t=0;t0&&r.length>0){let t={stmt:a,id:(0,s.I)(),type:"divider",doc:b(r)};i.push(b(t)),e.doc=i}e.doc.forEach(t=>E(e,t,!0))}},x=function(t,e=c,i=null,r=null,n=null,o=null,a=null,l=null){let h=null==t?void 0:t.trim();void 0===S.states[h]?(s.l.info("Adding state ",h,r),S.states[h]={id:h,descriptions:[],type:e,doc:i,note:n,classes:[],styles:[],textStyles:[]}):(S.states[h].doc||(S.states[h].doc=i),S.states[h].type||(S.states[h].type=e)),r&&(s.l.info("Setting state description",h,r),"string"==typeof r&&L(h,r.trim()),"object"==typeof r&&r.forEach(t=>L(h,t.trim()))),n&&(S.states[h].note=n,S.states[h].note.text=s.e.sanitizeText(S.states[h].note.text,(0,s.c)())),o&&(s.l.info("Setting state classes",h,o),("string"==typeof o?[o]:o).forEach(t=>O(h,t.trim()))),a&&(s.l.info("Setting state styles",h,a),("string"==typeof a?[a]:a).forEach(t=>N(h,t.trim()))),l&&(s.l.info("Setting state styles",h,a),("string"==typeof l?[l]:l).forEach(t=>R(h,t.trim())))},$=function(t){S=(_={root:g()}).root,k=0,m={},t||(0,s.v)()},C=function(t){return S.states[t]};function v(t=""){let e=t;return"[*]"===t&&(k++,e=`${u}${k}`),e}function D(t="",e=c){return"[*]"===t?u:e}let A=function(t,e,i){if("object"==typeof t){let r,n,o,a;r=v(t.id.trim()),n=D(t.id.trim(),t.type),o=v(e.id.trim()),a=D(e.id.trim(),e.type),x(r,n,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),x(o,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),S.relations.push({id1:r,id2:o,relationTitle:s.e.sanitizeText(i,(0,s.c)())})}else{let r=v(t.trim()),n=D(t),o=function(t=""){let e=t;return"[*]"===t&&(k++,e=`end${k}`),e}(e.trim()),a=function(t="",e=c){return"[*]"===t?"end":e}(e);x(r,n),x(o,a),S.relations.push({id1:r,id2:o,title:s.e.sanitizeText(i,(0,s.c)())})}},L=function(t,e){let i=S.states[t],r=e.startsWith(":")?e.replace(":","").trim():e;i.descriptions.push(s.e.sanitizeText(r,(0,s.c)()))},I=function(t,e=""){void 0===m[t]&&(m[t]={id:t,styles:[],textStyles:[]});let i=m[t];null!=e&&e.split(",").forEach(t=>{let e=t.replace(/([^;]*);/,"$1").trim();if(t.match(d)){let t=e.replace(p,"bgFill").replace(d,p);i.textStyles.push(t)}i.styles.push(e)})},O=function(t,e){t.split(",").forEach(function(t){let i=C(t);if(void 0===i){let e=t.trim();x(e),i=C(e)}i.classes.push(e)})},N=function(t,e){let i=C(t);void 0!==i&&i.textStyles.push(e)},R=function(t,e){let i=C(t);void 0!==i&&i.textStyles.push(e)},B={getConfig:()=>(0,s.c)().state,addState:x,clear:$,getState:C,getStates:function(){return S.states},getRelations:function(){return S.relations},getClasses:function(){return m},getDirection:()=>y,addRelation:A,getDividerId:()=>"divider-id-"+ ++T,setDirection:t=>{y=t},cleanupLabel:function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},logDocuments:function(){s.l.info("Documents = ",_)},getRootDoc:()=>f,setRootDoc:t=>{s.l.info("Setting root doc",t),f=t},getRootDocV2:()=>(E({id:"root"},{id:"root",doc:f},!0),{id:"root",doc:f}),extract:t=>{let e;e=t.doc?t.doc:t,s.l.info(e),$(!0),s.l.info("Extract",e),e.forEach(t=>{switch(t.stmt){case a:x(t.id.trim(),t.type,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles);break;case l:A(t.state1,t.state2,t.description);break;case"classDef":I(t.id.trim(),t.classes);break;case"applyClass":O(t.id.trim(),t.styleClass)}})},trimColon:t=>t&&":"===t[0]?t.substr(1).trim():t.trim(),getAccTitle:s.g,setAccTitle:s.s,getAccDescription:s.a,setAccDescription:s.b,addStyleClass:I,setCssClass:O,addDescription:L,setDiagramTitle:s.q,getDiagramTitle:s.t},w=t=>` +defs #statediagram-barbEnd { + fill: ${t.transitionColor}; + stroke: ${t.transitionColor}; + } +g.stateGroup text { + fill: ${t.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${t.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${t.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.stateGroup line { + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${t.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${t.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + + text { + fill: ${t.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${t.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel .label text { + fill: ${t.transitionLabelColor||t.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${t.transitionLabelColor||t.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${t.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node .fork-join { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node circle.state-end { + fill: ${t.innerEndBackground}; + stroke: ${t.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${t.compositeBackground||t.background}; + // stroke: ${t.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${t.stateBkg||t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${t.lineColor}; +} + +.statediagram-cluster rect { + fill: ${t.compositeTitleBackground}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${t.stateLabelColor}; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${t.stateBorder||t.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${t.compositeBackground||t.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${t.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${t.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${t.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${t.lineColor}; + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`}}]); \ No newline at end of file diff --git a/_next/static/chunks/756.3e1ecfa671f4ea1e.js b/_next/static/chunks/756.3e1ecfa671f4ea1e.js new file mode 100644 index 0000000..306c2bd --- /dev/null +++ b/_next/static/chunks/756.3e1ecfa671f4ea1e.js @@ -0,0 +1,115 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[756],{3349:function(t,e,r){r.d(e,{a:function(){return n}});var a=r(6225);function n(t,e){var r=t.append("foreignObject").attr("width","100000"),n=r.append("xhtml:div");n.attr("xmlns","http://www.w3.org/1999/xhtml");var l=e.label;switch(typeof l){case"function":n.insert(l);break;case"object":n.insert(function(){return l});break;default:n.html(l)}a.bg(n,e.labelStyle),n.style("display","inline-block"),n.style("white-space","nowrap");var i=n.node().getBoundingClientRect();return r.attr("width",i.width).attr("height",i.height),r}},6225:function(t,e,r){r.d(e,{$p:function(){return c},O1:function(){return i},WR:function(){return h},bF:function(){return l},bg:function(){return d}});var a=r(87),n=r(7124);function l(t,e){return!!t.children(e).length}function i(t){return s(t.v)+":"+s(t.w)+":"+s(t.name)}var o=/:/g;function s(t){return t?String(t).replace(o,"\\:"):""}function d(t,e){e&&t.attr("style",e)}function c(t,e,r){e&&t.attr("class",e).attr("class",r+" "+t.attr("class"))}function h(t,e){var r=e.graph();if(a.Z(r)){var l=r.transition;if(n.Z(l))return l(t)}return t}},9792:function(t,e,r){var a=r(1691),n=r(1610);e.Z=(t,e)=>a.Z.lang.round(n.Z.parse(t)[e])},756:function(t,e,r){r.d(e,{diagram:function(){return Q}});var a=r(7474),n=r(5625),l=r(4218),i=r(1835),o=r(3625),s=r(8269),d=r(4678),c=r(1316),h=r(6225),u={normal:function(t,e,r,a){var n=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");h.bg(n,r[a+"Style"]),r[a+"Class"]&&n.attr("class",r[a+"Class"])},vee:function(t,e,r,a){var n=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");h.bg(n,r[a+"Style"]),r[a+"Class"]&&n.attr("class",r[a+"Class"])},undirected:function(t,e,r,a){var n=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");h.bg(n,r[a+"Style"]),r[a+"Class"]&&n.attr("class",r[a+"Class"])}},p=r(3349);function f(t,e,r){var a,n=e.label,l=t.append("g");"svg"===e.labelType?(l.node().appendChild(e.label),h.bg(l,e.labelStyle)):"string"!=typeof n||"html"===e.labelType?(0,p.a)(l,e):function(t,e){for(var r=t.append("text"),a=(function(t){for(var e,r="",a=!1,n=0;n0))&&(l=a.y-r.y,o=r.x-a.x,d=a.x*r.y-r.x*a.y,c=l*t.x+o*t.y+d,h=l*e.x+o*e.y+d,!(0!==c&&0!==h&&c*h>0)&&0!=(f=n*o-l*i)))return g=Math.abs(f/2),{x:(y=i*d-o*s)<0?(y-g)/f:(y+g)/f,y:(y=l*s-n*d)<0?(y-g)/f:(y+g)/f}}(t,r,{x:s+h.x,y:d+h.y},{x:s+u.x,y:d+u.y});p&&l.push(p)}return l.length?(l.length>1&&l.sort(function(t,e){var a=t.x-r.x,n=t.y-r.y,l=Math.sqrt(a*a+n*n),i=e.x-r.x,o=e.y-r.y,s=Math.sqrt(i*i+o*o);return lMath.abs(i)*d?(o<0&&(d=-d),r=0===o?0:d*i/o,a=d):(i<0&&(s=-s),r=s,a=0===i?0:s*o/i),{x:n+r,y:l+a}}var A={rect:function(t,e,r){var a=t.insert("rect",":first-child").attr("rx",r.rx).attr("ry",r.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return r.intersect=function(t){return L(r,t)},a},ellipse:function(t,e,r){var a=e.width/2,n=e.height/2,l=t.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",a).attr("ry",n);return r.intersect=function(t){return _(r,a,n,t)},l},circle:function(t,e,r){var a=Math.max(e.width,e.height)/2,n=t.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",a);return r.intersect=function(t){return _(r,a,a,t)},n},diamond:function(t,e,r){var a=e.width*Math.SQRT2/2,n=e.height*Math.SQRT2/2,l=[{x:0,y:-n},{x:-a,y:0},{x:0,y:n},{x:a,y:0}],i=t.insert("polygon",":first-child").attr("points",l.map(function(t){return t.x+","+t.y}).join(" "));return r.intersect=function(t){return T(r,l,t)},i}};function C(){var t=function(t,e){e.nodes().forEach(function(t){var r=e.node(t);o.Z(r,"label")||e.children(t).length||(r.label=t),o.Z(r,"paddingX")&&s.Z(r,{paddingLeft:r.paddingX,paddingRight:r.paddingX}),o.Z(r,"paddingY")&&s.Z(r,{paddingTop:r.paddingY,paddingBottom:r.paddingY}),o.Z(r,"padding")&&s.Z(r,{paddingLeft:r.padding,paddingRight:r.padding,paddingTop:r.padding,paddingBottom:r.padding}),s.Z(r,N),d.Z(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(t){r[t]=Number(r[t])}),o.Z(r,"width")&&(r._prevWidth=r.width),o.Z(r,"height")&&(r._prevHeight=r.height)}),e.edges().forEach(function(t){var r=e.edge(t);o.Z(r,"label")||(r.label=""),s.Z(r,B)});var r=$(t,"output"),a=$(r,"clusters"),n=$(r,"edgePaths"),i=y($(r,"edgeLabels"),e),p=S($(r,"nodes"),e,A);(0,c.bK)(e),function(t,e){function r(t){var r=e.node(t);return"translate("+r.x+","+r.y+")"}t.filter(function(){return!l.Ys(this).classed("update")}).attr("transform",r),h.WR(t,e).style("opacity",1).attr("transform",r)}(p,e),function(t,e){function r(t){var r=e.edge(t);return o.Z(r,"x")?"translate("+r.x+","+r.y+")":""}t.filter(function(){return!l.Ys(this).classed("update")}).attr("transform",r),h.WR(t,e).style("opacity",1).attr("transform",r)}(i,e),v(n,e,u),function(t,e){var r=t.filter(function(){return!l.Ys(this).classed("update")});function a(t){var r=e.node(t);return"translate("+r.x+","+r.y+")"}r.attr("transform",a),h.WR(t,e).style("opacity",1).attr("transform",a),h.WR(r.selectAll("rect"),e).attr("width",function(t){return e.node(t).width}).attr("height",function(t){return e.node(t).height}).attr("x",function(t){return-e.node(t).width/2}).attr("y",function(t){return-e.node(t).height/2})}(g(a,e),e),d.Z(e.nodes(),function(t){var r=e.node(t);o.Z(r,"_prevWidth")?r.width=r._prevWidth:delete r.width,o.Z(r,"_prevHeight")?r.height=r._prevHeight:delete r.height,delete r._prevWidth,delete r._prevHeight})};return t.createNodes=function(e){return arguments.length?(S=e,t):S},t.createClusters=function(e){return arguments.length?(g=e,t):g},t.createEdgeLabels=function(e){return arguments.length?(y=e,t):y},t.createEdgePaths=function(e){return arguments.length?(v=e,t):v},t.shapes=function(e){return arguments.length?(A=e,t):A},t.arrows=function(e){return arguments.length?(u=e,t):u},t}var N={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},B={arrowhead:"normal",curve:l.c_6};function $(t,e){var r=t.select("g."+e);return r.empty()&&(r=t.append("g").attr("class",e)),r}var E=r(8583);function I(t,e,r){let a=(e.width+e.height)*.9,n=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],l=j(t,a,a,n);return r.intersect=function(t){return T(r,n,t)},l}function M(t,e,r){let a=e.height,n=a/4,l=e.width+2*n,i=[{x:n,y:0},{x:l-n,y:0},{x:l,y:-a/2},{x:l-n,y:-a},{x:n,y:-a},{x:0,y:-a/2}],o=j(t,l,a,i);return r.intersect=function(t){return T(r,i,t)},o}function Y(t,e,r){let a=e.width,n=e.height,l=[{x:-n/2,y:0},{x:a,y:0},{x:a,y:-n},{x:-n/2,y:-n},{x:0,y:-n/2}],i=j(t,a,n,l);return r.intersect=function(t){return T(r,l,t)},i}function Z(t,e,r){let a=e.width,n=e.height,l=[{x:-2*n/6,y:0},{x:a-n/6,y:0},{x:a+2*n/6,y:-n},{x:n/6,y:-n}],i=j(t,a,n,l);return r.intersect=function(t){return T(r,l,t)},i}function R(t,e,r){let a=e.width,n=e.height,l=[{x:2*n/6,y:0},{x:a+n/6,y:0},{x:a-2*n/6,y:-n},{x:-n/6,y:-n}],i=j(t,a,n,l);return r.intersect=function(t){return T(r,l,t)},i}function D(t,e,r){let a=e.width,n=e.height,l=[{x:-2*n/6,y:0},{x:a+2*n/6,y:0},{x:a-n/6,y:-n},{x:n/6,y:-n}],i=j(t,a,n,l);return r.intersect=function(t){return T(r,l,t)},i}function W(t,e,r){let a=e.width,n=e.height,l=[{x:n/6,y:0},{x:a-n/6,y:0},{x:a+2*n/6,y:-n},{x:-2*n/6,y:-n}],i=j(t,a,n,l);return r.intersect=function(t){return T(r,l,t)},i}function U(t,e,r){let a=e.width,n=e.height,l=[{x:0,y:0},{x:a+n/2,y:0},{x:a,y:-n/2},{x:a+n/2,y:-n},{x:0,y:-n}],i=j(t,a,n,l);return r.intersect=function(t){return T(r,l,t)},i}function z(t,e,r){let a=e.height,n=e.width+a/4,l=t.insert("rect",":first-child").attr("rx",a/2).attr("ry",a/2).attr("x",-n/2).attr("y",-a/2).attr("width",n).attr("height",a);return r.intersect=function(t){return L(r,t)},l}function O(t,e,r){let a=e.width,n=e.height,l=[{x:0,y:0},{x:a,y:0},{x:a,y:-n},{x:0,y:-n},{x:0,y:0},{x:-8,y:0},{x:a+8,y:0},{x:a+8,y:-n},{x:-8,y:-n},{x:-8,y:0}],i=j(t,a,n,l);return r.intersect=function(t){return T(r,l,t)},i}function P(t,e,r){let a=e.width,n=a/2,l=n/(2.5+a/50),i=e.height+l,o=t.attr("label-offset-y",l).insert("path",":first-child").attr("d","M 0,"+l+" a "+n+","+l+" 0,0,0 "+a+" 0 a "+n+","+l+" 0,0,0 "+-a+" 0 l 0,"+i+" a "+n+","+l+" 0,0,0 "+a+" 0 l 0,"+-i).attr("transform","translate("+-a/2+","+-(i/2+l)+")");return r.intersect=function(t){let e=L(r,t),a=e.x-r.x;if(0!=n&&(Math.abs(a)r.height/2-l)){let i=l*l*(1-a*a/(n*n));0!=i&&(i=Math.sqrt(i)),i=l-i,t.y-r.y>0&&(i=-i),e.y+=i}return e},o}function j(t,e,r,a){return t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-e/2+","+r/2+")")}r(7484),r(6574),r(7856),r(6060);let q=function(t){t.shapes().question=I,t.shapes().hexagon=M,t.shapes().stadium=z,t.shapes().subroutine=O,t.shapes().cylinder=P,t.shapes().rect_left_inv_arrow=Y,t.shapes().lean_right=Z,t.shapes().lean_left=R,t.shapes().trapezoid=D,t.shapes().inv_trapezoid=W,t.shapes().rect_right_inv_arrow=U},V={},X=async function(t,e,r,a,n,o){let s=a?a.select(`[id="${r}"]`):(0,l.Ys)(`[id="${r}"]`),d=n||document;for(let r of Object.keys(t)){let a;let n=t[r],l="default";n.classes.length>0&&(l=n.classes.join(" "));let c=(0,i.k)(n.styles),h=void 0!==n.text?n.text:n.id;if((0,i.m)((0,i.c)().flowchart.htmlLabels)){let t={label:await (0,i.r)(h.replace(/fa[blrs]?:fa-[\w-]+/g,t=>``),(0,i.c)())};(a=(0,p.a)(s,t).node()).parentNode.removeChild(a)}else{let t=d.createElementNS("http://www.w3.org/2000/svg","text");for(let e of(t.setAttribute("style",c.labelStyle.replace("color:","fill:")),h.split(i.e.lineBreakRegex))){let r=d.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","1"),r.textContent=e,t.appendChild(r)}a=t}let u=0,f="";switch(n.type){case"round":u=5,f="rect";break;case"square":case"group":default:f="rect";break;case"diamond":f="question";break;case"hexagon":f="hexagon";break;case"odd":case"odd_right":f="rect_left_inv_arrow";break;case"lean_right":f="lean_right";break;case"lean_left":f="lean_left";break;case"trapezoid":f="trapezoid";break;case"inv_trapezoid":f="inv_trapezoid";break;case"circle":f="circle";break;case"ellipse":f="ellipse";break;case"stadium":f="stadium";break;case"subroutine":f="subroutine";break;case"cylinder":f="cylinder"}i.l.warn("Adding node",n.id,n.domId),e.setNode(o.db.lookUpDomId(n.id),{labelType:"svg",labelStyle:c.labelStyle,shape:f,label:a,rx:u,ry:u,class:l,style:c.style,id:o.db.lookUpDomId(n.id)})}},F=async function(t,e,r){let a,n,o=0;if(void 0!==t.defaultStyle){let e=(0,i.k)(t.defaultStyle);a=e.style,n=e.labelStyle}for(let s of t){o++;let d="L-"+s.start+"-"+s.end,c="LS-"+s.start,h="LE-"+s.end,u={};"arrow_open"===s.type?u.arrowhead="none":u.arrowhead="normal";let p="",f="";if(void 0!==s.style){let t=(0,i.k)(s.style);p=t.style,f=t.labelStyle}else switch(s.stroke){case"normal":p="fill:none",void 0!==a&&(p=a),void 0!==n&&(f=n);break;case"dotted":p="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":p=" stroke-width: 3.5px;fill:none"}u.style=p,u.labelStyle=f,void 0!==s.interpolate?u.curve=(0,i.n)(s.interpolate,l.c_6):void 0!==t.defaultInterpolate?u.curve=(0,i.n)(t.defaultInterpolate,l.c_6):u.curve=(0,i.n)(V.curve,l.c_6),void 0===s.text?void 0!==s.style&&(u.arrowheadStyle="fill: #333"):(u.arrowheadStyle="fill: #333",u.labelpos="c",(0,i.m)((0,i.c)().flowchart.htmlLabels)?(u.labelType="html",u.label=`${await (0,i.r)(s.text.replace(/fa[blrs]?:fa-[\w-]+/g,t=>``),(0,i.c)())}`):(u.labelType="text",u.label=s.text.replace(i.e.lineBreakRegex,"\n"),void 0===s.style&&(u.style=u.style||"stroke: #333; stroke-width: 1.5px;fill:none"),u.labelStyle=u.labelStyle.replace("color:","fill:"))),u.id=d,u.class=c+" "+h,u.minlen=s.length||1,e.setEdge(r.db.lookUpDomId(s.start),r.db.lookUpDomId(s.end),u,o)}},G=async function(t,e,r,a){let o,s;i.l.info("Drawing flowchart");let{securityLevel:d,flowchart:c}=(0,i.c)();"sandbox"===d&&(o=(0,l.Ys)("#i"+e));let u="sandbox"===d?(0,l.Ys)(o.nodes()[0].contentDocument.body):(0,l.Ys)("body"),p="sandbox"===d?o.nodes()[0].contentDocument:document,f=a.db.getDirection();void 0===f&&(f="TD");let g=c.nodeSpacing||50,y=c.rankSpacing||50,b=new n.k({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:g,ranksep:y,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),w=a.db.getSubGraphs();for(let t=w.length-1;t>=0;t--)s=w[t],a.db.addVertex(s.id,s.title,"group",void 0,s.classes);let x=a.db.getVertices();i.l.warn("Get vertices",x);let v=a.db.getEdges(),k=0;for(k=w.length-1;k>=0;k--){s=w[k],(0,l.td_)("cluster").append("text");for(let t=0;t{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,H(t.flowchart),a.f.clear(),a.f.setGen("gen-1")}}},8583:function(t,e,r){r.d(e,{a:function(){return y},f:function(){return f}});var a=r(5625),n=r(4218),l=r(1835),i=r(4015),o=r(3349),s=r(9792),d=r(1117);let c={},h=async function(t,e,r,a,n,i){let s=a.select(`[id="${r}"]`);for(let r of Object.keys(t)){let a;let d=t[r],c="default";d.classes.length>0&&(c=d.classes.join(" ")),c+=" flowchart-label";let h=(0,l.k)(d.styles),u=void 0!==d.text?d.text:d.id;if(l.l.info("vertex",d,d.labelType),"markdown"===d.labelType)l.l.info("vertex",d,d.labelType);else if((0,l.m)((0,l.c)().flowchart.htmlLabels)){let t={label:u};(a=(0,o.a)(s,t).node()).parentNode.removeChild(a)}else{let t=n.createElementNS("http://www.w3.org/2000/svg","text");for(let e of(t.setAttribute("style",h.labelStyle.replace("color:","fill:")),u.split(l.e.lineBreakRegex))){let r=n.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","1"),r.textContent=e,t.appendChild(r)}a=t}let p=0,f="";switch(d.type){case"round":p=5,f="rect";break;case"square":case"group":default:f="rect";break;case"diamond":f="question";break;case"hexagon":f="hexagon";break;case"odd":case"odd_right":f="rect_left_inv_arrow";break;case"lean_right":f="lean_right";break;case"lean_left":f="lean_left";break;case"trapezoid":f="trapezoid";break;case"inv_trapezoid":f="inv_trapezoid";break;case"circle":f="circle";break;case"ellipse":f="ellipse";break;case"stadium":f="stadium";break;case"subroutine":f="subroutine";break;case"cylinder":f="cylinder";break;case"doublecircle":f="doublecircle"}let g=await (0,l.r)(u,(0,l.c)());e.setNode(d.id,{labelStyle:h.labelStyle,shape:f,labelText:g,labelType:d.labelType,rx:p,ry:p,class:c,style:h.style,id:d.id,link:d.link,linkTarget:d.linkTarget,tooltip:i.db.getTooltip(d.id)||"",domId:i.db.lookUpDomId(d.id),haveCallback:d.haveCallback,width:"group"===d.type?500:void 0,dir:d.dir,type:d.type,props:d.props,padding:(0,l.c)().flowchart.padding}),l.l.info("setNode",{labelStyle:h.labelStyle,labelType:d.labelType,shape:f,labelText:g,rx:p,ry:p,class:c,style:h.style,id:d.id,domId:i.db.lookUpDomId(d.id),width:"group"===d.type?500:void 0,type:d.type,dir:d.dir,props:d.props,padding:(0,l.c)().flowchart.padding})}},u=async function(t,e,r){let a,i;l.l.info("abc78 edges = ",t);let o=0,s={};if(void 0!==t.defaultStyle){let e=(0,l.k)(t.defaultStyle);a=e.style,i=e.labelStyle}for(let r of t){o++;let d="L-"+r.start+"-"+r.end;void 0===s[d]?s[d]=0:s[d]++,l.l.info("abc78 new entry",d,s[d]);let h=d+"-"+s[d];l.l.info("abc78 new link id to be used is",d,h,s[d]);let u="LS-"+r.start,p="LE-"+r.end,f={style:"",labelStyle:""};switch(f.minlen=r.length||1,"arrow_open"===r.type?f.arrowhead="none":f.arrowhead="normal",f.arrowTypeStart="arrow_open",f.arrowTypeEnd="arrow_open",r.type){case"double_arrow_cross":f.arrowTypeStart="arrow_cross";case"arrow_cross":f.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":f.arrowTypeStart="arrow_point";case"arrow_point":f.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":f.arrowTypeStart="arrow_circle";case"arrow_circle":f.arrowTypeEnd="arrow_circle"}let g="",y="";switch(r.stroke){case"normal":g="fill:none;",void 0!==a&&(g=a),void 0!==i&&(y=i),f.thickness="normal",f.pattern="solid";break;case"dotted":f.thickness="normal",f.pattern="dotted",f.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":f.thickness="thick",f.pattern="solid",f.style="stroke-width: 3.5px;fill:none;";break;case"invisible":f.thickness="invisible",f.pattern="solid",f.style="stroke-width: 0;fill:none;"}if(void 0!==r.style){let t=(0,l.k)(r.style);g=t.style,y=t.labelStyle}f.style=f.style+=g,f.labelStyle=f.labelStyle+=y,void 0!==r.interpolate?f.curve=(0,l.n)(r.interpolate,n.c_6):void 0!==t.defaultInterpolate?f.curve=(0,l.n)(t.defaultInterpolate,n.c_6):f.curve=(0,l.n)(c.curve,n.c_6),void 0===r.text?void 0!==r.style&&(f.arrowheadStyle="fill: #333"):(f.arrowheadStyle="fill: #333",f.labelpos="c"),f.labelType=r.labelType,f.label=await (0,l.r)(r.text.replace(l.e.lineBreakRegex,"\n"),(0,l.c)()),void 0===r.style&&(f.style=f.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),f.labelStyle=f.labelStyle.replace("color:","fill:"),f.id=h,f.classes="flowchart-link "+u+" "+p,e.setEdge(r.start,r.end,f,o)}},p=async function(t,e,r,o){let s,d;l.l.info("Drawing flowchart");let c=o.db.getDirection();void 0===c&&(c="TD");let{securityLevel:p,flowchart:f}=(0,l.c)(),g=f.nodeSpacing||50,y=f.rankSpacing||50;"sandbox"===p&&(s=(0,n.Ys)("#i"+e));let b="sandbox"===p?(0,n.Ys)(s.nodes()[0].contentDocument.body):(0,n.Ys)("body"),w="sandbox"===p?s.nodes()[0].contentDocument:document,x=new a.k({multigraph:!0,compound:!0}).setGraph({rankdir:c,nodesep:g,ranksep:y,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}}),v=o.db.getSubGraphs();l.l.info("Subgraphs - ",v);for(let t=v.length-1;t>=0;t--)d=v[t],l.l.info("Subgraph - ",d),o.db.addVertex(d.id,{text:d.title,type:d.labelType},"group",void 0,d.classes,d.dir);let k=o.db.getVertices(),m=o.db.getEdges();l.l.info("Edges",m);let S=0;for(S=v.length-1;S>=0;S--){d=v[S],(0,n.td_)("cluster").append("text");for(let t=0;t{let r=s.Z,a=r(t,"r"),n=r(t,"g"),l=r(t,"b");return d.Z(a,n,l,e)},y=t=>`.label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor||t.textColor}; + } + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span,p { + color: ${t.titleColor}; + } + + .label text,span,p { + fill: ${t.nodeTextColor||t.textColor}; + color: ${t.nodeTextColor||t.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${g(t.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${t.clusterBkg}; + stroke: ${t.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span,p { + color: ${t.titleColor}; + } + /* .cluster div { + color: ${t.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`}}]); \ No newline at end of file diff --git a/_next/static/chunks/7644.93724a4f124347a3.js b/_next/static/chunks/7644.93724a4f124347a3.js new file mode 100644 index 0000000..2290582 --- /dev/null +++ b/_next/static/chunks/7644.93724a4f124347a3.js @@ -0,0 +1,252 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7644],{8734:function(t){var e;e=function(){return function(t,e){var i=e.prototype,r=i.format;i.format=function(t){var e=this,i=this.$locale();if(!this.isValid())return r.bind(this)(t);var n=this.$utils(),s=(t||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(t){switch(t){case"Q":return Math.ceil((e.$M+1)/3);case"Do":return i.ordinal(e.$D);case"gggg":return e.weekYear();case"GGGG":return e.isoWeekYear();case"wo":return i.ordinal(e.week(),"W");case"w":case"ww":return n.s(e.week(),"w"===t?1:2,"0");case"W":case"WW":return n.s(e.isoWeek(),"W"===t?1:2,"0");case"k":case"kk":return n.s(String(0===e.$H?24:e.$H),"k"===t?1:2,"0");case"X":return Math.floor(e.$d.getTime()/1e3);case"x":return e.$d.getTime();case"z":return"["+e.offsetName()+"]";case"zzz":return"["+e.offsetName("long")+"]";default:return t}});return r.bind(this)(s)}}},t.exports=e()},285:function(t){var e;e=function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d\d/,r=/\d\d?/,n=/\d*[^-_:/,()\s\d]+/,s={},a=function(t){return(t=+t)+(t>68?1900:2e3)},o=function(t){return function(e){this[t]=+e}},c=[/[+-]\d\d:?(\d\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t||"Z"===t)return 0;var e=t.match(/([+-]|\d\d)/g),i=60*e[1]+(+e[2]||0);return 0===i?0:"+"===e[0]?-i:i}(t)}],l=function(t){var e=s[t];return e&&(e.indexOf?e:e.s.concat(e.f))},d=function(t,e){var i,r=s.meridiem;if(r){for(var n=1;n<=24;n+=1)if(t.indexOf(r(n,0,e))>-1){i=n>12;break}}else i=t===(e?"pm":"PM");return i},u={A:[n,function(t){this.afternoon=d(t,!1)}],a:[n,function(t){this.afternoon=d(t,!0)}],S:[/\d/,function(t){this.milliseconds=100*+t}],SS:[i,function(t){this.milliseconds=10*+t}],SSS:[/\d{3}/,function(t){this.milliseconds=+t}],s:[r,o("seconds")],ss:[r,o("seconds")],m:[r,o("minutes")],mm:[r,o("minutes")],H:[r,o("hours")],h:[r,o("hours")],HH:[r,o("hours")],hh:[r,o("hours")],D:[r,o("day")],DD:[i,o("day")],Do:[n,function(t){var e=s.ordinal,i=t.match(/\d+/);if(this.day=i[0],e)for(var r=1;r<=31;r+=1)e(r).replace(/\[|\]/g,"")===t&&(this.day=r)}],M:[r,o("month")],MM:[i,o("month")],MMM:[n,function(t){var e=l("months"),i=(l("monthsShort")||e.map(function(t){return t.slice(0,3)})).indexOf(t)+1;if(i<1)throw Error();this.month=i%12||i}],MMMM:[n,function(t){var e=l("months").indexOf(t)+1;if(e<1)throw Error();this.month=e%12||e}],Y:[/[+-]?\d+/,o("year")],YY:[i,function(t){this.year=a(t)}],YYYY:[/\d{4}/,o("year")],Z:c,ZZ:c};return function(i,r,n){n.p.customParseFormat=!0,i&&i.parseTwoDigitYear&&(a=i.parseTwoDigitYear);var o=r.prototype,c=o.parse;o.parse=function(i){var r=i.date,a=i.utc,o=i.args;this.$u=a;var l=o[1];if("string"==typeof l){var d=!0===o[2],h=!0===o[3],f=o[2];h&&(f=o[2]),s=this.$locale(),!d&&f&&(s=n.Ls[f]),this.$d=function(i,r,n){try{if(["x","X"].indexOf(r)>-1)return new Date(("X"===r?1e3:1)*i);var a=(function(i){var r,n;r=i,n=s&&s.formats;for(var a=(i=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(e,i,r){var s=r&&r.toUpperCase();return i||n[r]||t[r]||n[s].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(t,e,i){return e||i.slice(1)})})).match(e),o=a.length,c=0;c0?c-1:k.getMonth());var v=d||0,T=h||0,x=f||0,_=y||0;return m?new Date(Date.UTC(g,b,p,v,T,x,_+60*m.offset*1e3)):n?new Date(Date.UTC(g,b,p,v,T,x,_)):new Date(g,b,p,v,T,x,_)}catch(t){return new Date("")}}(r,l,a),this.init(),f&&!0!==f&&(this.$L=this.locale(f).$L),(d||h)&&r!=this.format(l)&&(this.$d=new Date("")),s={}}else if(l instanceof Array)for(var y=l.length,m=1;m<=y;m+=1){o[1]=l[m-1];var k=n.apply(this,o);if(k.isValid()){this.$d=k.$d,this.$L=k.$L,this.init();break}m===y&&(this.$d=new Date(""))}else c.call(this,i)}}},t.exports=e()},9542:function(t){var e;e=function(){return function(t,e,i){var r=function(t){return t.add(4-t.isoWeekday(),"day")},n=e.prototype;n.isoWeekYear=function(){return r(this).year()},n.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),"day");var e,n,s,a=r(this),o=(e=this.isoWeekYear(),s=4-(n=(this.$u?i.utc:i)().year(e).startOf("year")).isoWeekday(),n.isoWeekday()>4&&(s+=7),n.add(s,"day"));return a.diff(o,"week")+1},n.isoWeekday=function(t){return this.$utils().u(t)?this.day()||7:this.day(this.day()%7?t:t-7)};var s=n.startOf;n.startOf=function(t,e){var i=this.$utils(),r=!!i.u(e)||e;return"isoweek"===i.p(t)?r?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):s.bind(this)(t,e)}}},t.exports=e()},7644:function(t,e,i){"use strict";let r,n,s,a;i.d(e,{diagram:function(){return K}});var o=i(6574),c=i(7484),l=i(9542),d=i(285),u=i(8734),h=i(1835),f=i(4218);i(7856);var y=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],i=[1,25],r=[1,26],n=[1,27],s=[1,28],a=[1,29],o=[1,30],c=[1,31],l=[1,9],d=[1,10],u=[1,11],h=[1,12],f=[1,13],y=[1,14],m=[1,15],k=[1,16],p=[1,18],g=[1,19],b=[1,20],v=[1,21],T=[1,22],x=[1,24],_=[1,32],w={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 1:return s[o-1];case 2:case 6:case 7:this.$=[];break;case 3:s[o-1].push(s[o]),this.$=s[o-1];break;case 4:case 5:this.$=s[o];break;case 8:r.setWeekday("monday");break;case 9:r.setWeekday("tuesday");break;case 10:r.setWeekday("wednesday");break;case 11:r.setWeekday("thursday");break;case 12:r.setWeekday("friday");break;case 13:r.setWeekday("saturday");break;case 14:r.setWeekday("sunday");break;case 15:r.setDateFormat(s[o].substr(11)),this.$=s[o].substr(11);break;case 16:r.enableInclusiveEndDates(),this.$=s[o].substr(18);break;case 17:r.TopAxis(),this.$=s[o].substr(8);break;case 18:r.setAxisFormat(s[o].substr(11)),this.$=s[o].substr(11);break;case 19:r.setTickInterval(s[o].substr(13)),this.$=s[o].substr(13);break;case 20:r.setExcludes(s[o].substr(9)),this.$=s[o].substr(9);break;case 21:r.setIncludes(s[o].substr(9)),this.$=s[o].substr(9);break;case 22:r.setTodayMarker(s[o].substr(12)),this.$=s[o].substr(12);break;case 24:r.setDiagramTitle(s[o].substr(6)),this.$=s[o].substr(6);break;case 25:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 26:case 27:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 28:r.addSection(s[o].substr(8)),this.$=s[o].substr(8);break;case 30:r.addTask(s[o-1],s[o]),this.$="task";break;case 31:this.$=s[o-1],r.setClickEvent(s[o-1],s[o],null);break;case 32:this.$=s[o-2],r.setClickEvent(s[o-2],s[o-1],s[o]);break;case 33:this.$=s[o-2],r.setClickEvent(s[o-2],s[o-1],null),r.setLink(s[o-2],s[o]);break;case 34:this.$=s[o-3],r.setClickEvent(s[o-3],s[o-2],s[o-1]),r.setLink(s[o-3],s[o]);break;case 35:this.$=s[o-2],r.setClickEvent(s[o-2],s[o],null),r.setLink(s[o-2],s[o-1]);break;case 36:this.$=s[o-3],r.setClickEvent(s[o-3],s[o-1],s[o]),r.setLink(s[o-3],s[o-2]);break;case 37:this.$=s[o-1],r.setLink(s[o-1],s[o]);break;case 38:case 44:this.$=s[o-1]+" "+s[o];break;case 39:case 40:case 42:this.$=s[o-2]+" "+s[o-1]+" "+s[o];break;case 41:case 43:this.$=s[o-3]+" "+s[o-2]+" "+s[o-1]+" "+s[o]}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:i,13:r,14:n,15:s,16:a,17:o,18:c,19:l,20:d,21:u,22:h,23:f,24:y,25:m,26:k,27:p,28:g,30:b,32:v,33:T,34:23,35:x,37:_},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:33,11:17,12:i,13:r,14:n,15:s,16:a,17:o,18:c,19:l,20:d,21:u,22:h,23:f,24:y,25:m,26:k,27:p,28:g,30:b,32:v,33:T,34:23,35:x,37:_},t(e,[2,5]),t(e,[2,6]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),{29:[1,34]},{31:[1,35]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),{36:[1,36]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),{38:[1,37],40:[1,38]},t(e,[2,4]),t(e,[2,25]),t(e,[2,26]),t(e,[2,30]),t(e,[2,31],{39:[1,39],40:[1,40]}),t(e,[2,37],{38:[1,41]}),t(e,[2,32],{40:[1,42]}),t(e,[2,33]),t(e,[2,35],{39:[1,43]}),t(e,[2,34]),t(e,[2,36])],defaultActions:{},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",c=0,l=0,d=s.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var y=u.yylloc;s.push(y);var m=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var k,p,g,b,v,T,x,_,w={};;){if(p=i[i.length-1],this.defaultActions[p]?g=this.defaultActions[p]:(null==k&&(k=function(){var t;return"number"!=typeof(t=r.pop()||u.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),g=a[p]&&a[p][k]),void 0===g||!g.length||!g[0]){var $="";for(v in _=[],a[p])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");$=u.showPosition?"Parse error on line "+(c+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError($,{text:u.match,token:this.terminals_[k]||k,line:u.yylineno,loc:y,expected:_})}if(g[0]instanceof Array&&g.length>1)throw Error("Parse Error: multiple actions possible at state: "+p+", token: "+k);switch(g[0]){case 1:i.push(k),n.push(u.yytext),s.push(u.yylloc),i.push(g[1]),k=null,l=u.yyleng,o=u.yytext,c=u.yylineno,y=u.yylloc;break;case 2:if(T=this.productions_[g[1]][1],w.$=n[n.length-T],w._$={first_line:s[s.length-(T||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(T||1)].first_column,last_column:s[s.length-1].last_column},m&&(w._$.range=[s[s.length-(T||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(w,[o,l,c,h.yy,g[1],n,s].concat(d))))return b;T&&(i=i.slice(0,-1*T*2),n=n.slice(0,-1*T),s=s.slice(0,-1*T)),i.push(this.productions_[g[1]][0]),n.push(w.$),s.push(w._$),x=a[i[i.length-2]][i[i.length-1]],i.push(x);break;case 3:return!0}}return!0}};function $(){this.yy={}}return w.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in n)this[s]=n[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,n=this._currentRules(),s=0;se[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,i,r){switch(i){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 15:case 18:case 21:case 24:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:case 12:case 13:break;case 11:return 10;case 14:this.begin("href");break;case 16:return 40;case 17:this.begin("callbackname");break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 38;case 22:return 39;case 23:this.begin("click");break;case 25:return 37;case 26:return 4;case 27:return 19;case 28:return 20;case 29:return 21;case 30:return 22;case 31:return 23;case 32:return 25;case 33:return 24;case 34:return 26;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return"date";case 43:return 27;case 44:return"accDescription";case 45:return 33;case 46:return 35;case 47:return 36;case 48:return":";case 49:return 6;case 50:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],inclusive:!0}}},$.prototype=w,w.Parser=$,new $}();y.parser=y,c.extend(l),c.extend(d),c.extend(u);let m="",k="",p="",g=[],b=[],v={},T=[],x=[],_="",w="",$=["active","done","crit","milestone"],D=[],C=!1,S=!1,E="sunday",M=0,Y=function(t,e,i,r){return!r.includes(t.format(e.trim()))&&(!!(t.isoWeekday()>=6&&i.includes("weekends")||i.includes(t.format("dddd").toLowerCase()))||i.includes(t.format(e.trim())))},A=function(t,e,i,r){let n;if(!i.length||t.manualEndTime)return;let[s,a]=L((t.startTime instanceof Date?c(t.startTime):c(t.startTime,e,!0)).add(1,"d"),t.endTime instanceof Date?c(t.endTime):c(t.endTime,e,!0),e,i,r);t.endTime=s.toDate(),t.renderEndTime=a},L=function(t,e,i,r,n){let s=!1,a=null;for(;t<=e;)s||(a=e.toDate()),(s=Y(t,i,r,n))&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,a]},I=function(t,e,i){i=i.trim();let r=/^after\s+(?[\d\w- ]+)/.exec(i);if(null!==r){let t=null;for(let e of r.groups.ids.split(" ")){let i=j(e);void 0!==i&&(!t||i.endTime>t.endTime)&&(t=i)}if(t)return t.endTime;let e=new Date;return e.setHours(0,0,0,0),e}let n=c(i,e.trim(),!0);if(n.isValid())return n.toDate();{h.l.debug("Invalid date:"+i),h.l.debug("With date format:"+e.trim());let t=new Date(i);if(void 0===t||isNaN(t.getTime())||-1e4>t.getFullYear()||t.getFullYear()>1e4)throw Error("Invalid date:"+i);return t}},O=function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return null!==e?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},F=function(t,e,i,r=!1){i=i.trim();let n=/^until\s+(?[\d\w- ]+)/.exec(i);if(null!==n){let t=null;for(let e of n.groups.ids.split(" ")){let i=j(e);void 0!==i&&(!t||i.startTime{h.u.runFunc(e,...r)})},q=function(t,e){D.push(function(){let i=document.querySelector(`[id="${t}"]`);null!==i&&i.addEventListener("click",function(){e()})},function(){let i=document.querySelector(`[id="${t}-text"]`);null!==i&&i.addEventListener("click",function(){e()})})},R={getConfig:()=>(0,h.c)().gantt,clear:function(){T=[],x=[],_="",D=[],W=0,r=void 0,n=void 0,N=[],m="",k="",w="",a=void 0,p="",g=[],b=[],C=!1,S=!1,M=0,v={},(0,h.v)(),E="sunday"},setDateFormat:function(t){m=t},getDateFormat:function(){return m},enableInclusiveEndDates:function(){C=!0},endDatesAreInclusive:function(){return C},enableTopAxis:function(){S=!0},topAxisEnabled:function(){return S},setAxisFormat:function(t){k=t},getAxisFormat:function(){return k},setTickInterval:function(t){a=t},getTickInterval:function(){return a},setTodayMarker:function(t){p=t},getTodayMarker:function(){return p},setAccTitle:h.s,getAccTitle:h.g,setDiagramTitle:h.q,getDiagramTitle:h.t,setDisplayMode:function(t){w=t},getDisplayMode:function(){return w},setAccDescription:h.b,getAccDescription:h.a,addSection:function(t){_=t,T.push(t)},getSections:function(){return T},getTasks:function(){let t=Z(),e=0;for(;!t&&e<10;)t=Z(),e++;return x=N},addTask:function(t,e){let i={section:_,type:_,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},r=z(n,e);i.raw.startTime=r.startTime,i.raw.endTime=r.endTime,i.id=r.id,i.prevTaskId=n,i.active=r.active,i.done=r.done,i.crit=r.crit,i.milestone=r.milestone,i.order=M,M++;let s=N.push(i);n=i.id,H[i.id]=s-1},findTaskById:j,addTaskOrg:function(t,e){let i={section:_,type:_,description:t,task:t,classes:[]},n=B(r,e);i.startTime=n.startTime,i.endTime=n.endTime,i.id=n.id,i.active=n.active,i.done=n.done,i.crit=n.crit,i.milestone=n.milestone,r=i,x.push(i)},setIncludes:function(t){g=t.toLowerCase().split(/[\s,]+/)},getIncludes:function(){return g},setExcludes:function(t){b=t.toLowerCase().split(/[\s,]+/)},getExcludes:function(){return b},setClickEvent:function(t,e,i){t.split(",").forEach(function(t){V(t,e,i)}),G(t,"clickable")},setLink:function(t,e){let i=e;"loose"!==(0,h.c)().securityLevel&&(i=(0,o.Nm)(e)),t.split(",").forEach(function(t){void 0!==j(t)&&(q(t,()=>{window.open(i,"_self")}),v[t]=i)}),G(t,"clickable")},getLinks:function(){return v},bindFunctions:function(t){D.forEach(function(e){e(t)})},parseDuration:O,isInvalidDate:Y,setWeekday:function(t){E=t},getWeekday:function(){return E}};function U(t,e,i){let r=!0;for(;r;)r=!1,i.forEach(function(i){let n=RegExp("^\\s*"+i+"\\s*$");t[0].match(n)&&(e[i]=!0,t.shift(1),r=!0)})}let X={monday:f.Ox9,tuesday:f.YDX,wednesday:f.EFj,thursday:f.Igq,friday:f.y2j,saturday:f.LqH,sunday:f.Zyz},Q=(t,e)=>{let i=[...t].map(()=>-1/0),r=[...t].sort((t,e)=>t.startTime-e.startTime||t.order-e.order),n=0;for(let t of r)for(let r=0;r=i[r]){i[r]=t.endTime,t.order=r+e,r>n&&(n=r);break}return n},K={parser:y,db:R,renderer:{setConf:function(){h.l.debug("Something is calling, setConf, remove the call")},draw:function(t,e,i,r){let n;let a=(0,h.c)().gantt,o=(0,h.c)().securityLevel;"sandbox"===o&&(n=(0,f.Ys)("#i"+e));let l="sandbox"===o?(0,f.Ys)(n.nodes()[0].contentDocument.body):(0,f.Ys)("body"),d="sandbox"===o?n.nodes()[0].contentDocument:document,u=d.getElementById(e);void 0===(s=u.parentElement.offsetWidth)&&(s=1200),void 0!==a.useWidth&&(s=a.useWidth);let y=r.db.getTasks(),m=[];for(let t of y)m.push(t.type);m=function(t){let e={},i=[];for(let r=0,n=t.length;re.type===t).length;u.setAttribute("viewBox","0 0 "+s+" "+p);let g=l.select(`[id="${e}"]`),b=(0,f.Xf)().domain([(0,f.VV$)(y,function(t){return t.startTime}),(0,f.Fp7)(y,function(t){return t.endTime})]).rangeRound([0,s-a.leftPadding-a.rightPadding]);y.sort(function(t,e){let i=t.startTime,r=e.startTime,n=0;return i>r?n=1:if)&&(f=e);if(!u||!f)return;if(c(f).diff(c(u),"year")>5){h.l.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}let y=r.db.getDateFormat(),m=[],k=null,p=c(u);for(;p.valueOf()<=f;)r.db.isInvalidDate(p,y,l,d)?k?k.end=p:k={start:p,end:p}:k&&(m.push(k),k=null),p=p.add(1,"d");g.append("g").selectAll("rect").data(m).enter().append("rect").attr("id",function(t){return"exclude-"+t.start.format("YYYY-MM-DD")}).attr("x",function(t){return b(t.start)+i}).attr("y",a.gridLineStartPadding).attr("width",function(t){return b(t.end.add(1,"day"))-b(t.start)}).attr("height",s-e-a.gridLineStartPadding).attr("transform-origin",function(e,r){return(b(e.start)+i+.5*(b(e.end)-b(e.start))).toString()+"px "+(r*t+.5*s).toString()+"px"}).attr("class","exclude-range")}(o,l,u,0,n,t,r.db.getExcludes(),r.db.getIncludes()),function(t,e,i,n){let s=(0,f.LLu)(b).tickSize(-n+e+a.gridLineStartPadding).tickFormat((0,f.i$Z)(r.db.getAxisFormat()||a.axisFormat||"%Y-%m-%d")),o=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(r.db.getTickInterval()||a.tickInterval);if(null!==o){let t=o[1],e=o[2],i=r.db.getWeekday()||a.weekday;switch(e){case"millisecond":s.ticks(f.U8T.every(t));break;case"second":s.ticks(f.S1K.every(t));break;case"minute":s.ticks(f.Z_i.every(t));break;case"hour":s.ticks(f.WQD.every(t));break;case"day":s.ticks(f.rr1.every(t));break;case"week":s.ticks(X[i].every(t));break;case"month":s.ticks(f.F0B.every(t))}}if(g.append("g").attr("class","grid").attr("transform","translate("+t+", "+(n-50)+")").call(s).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),r.db.topAxisEnabled()||a.topAxis){let i=(0,f.F5q)(b).tickSize(-n+e+a.gridLineStartPadding).tickFormat((0,f.i$Z)(r.db.getAxisFormat()||a.axisFormat||"%Y-%m-%d"));if(null!==o){let t=o[1],e=o[2],n=r.db.getWeekday()||a.weekday;switch(e){case"millisecond":i.ticks(f.U8T.every(t));break;case"second":i.ticks(f.S1K.every(t));break;case"minute":i.ticks(f.Z_i.every(t));break;case"hour":i.ticks(f.WQD.every(t));break;case"day":i.ticks(f.rr1.every(t));break;case"week":i.ticks(X[n].every(t));break;case"month":i.ticks(f.F0B.every(t))}}g.append("g").attr("class","grid").attr("transform","translate("+t+", "+e+")").call(i).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}(u,l,0,n),function(t,i,n,s,o,c,l){let d=[...new Set(t.map(t=>t.order))].map(e=>t.find(t=>t.order===e));g.append("g").selectAll("rect").data(d).enter().append("rect").attr("x",0).attr("y",function(t,e){return t.order*i+n-2}).attr("width",function(){return l-a.rightPadding/2}).attr("height",i).attr("class",function(t){for(let[e,i]of m.entries())if(t.type===i)return"section section"+e%a.numberSectionStyles;return"section section0"});let u=g.append("g").selectAll("rect").data(t).enter(),y=r.db.getLinks();if(u.append("rect").attr("id",function(t){return t.id}).attr("rx",3).attr("ry",3).attr("x",function(t){return t.milestone?b(t.startTime)+s+.5*(b(t.endTime)-b(t.startTime))-.5*o:b(t.startTime)+s}).attr("y",function(t,e){return t.order*i+n}).attr("width",function(t){return t.milestone?o:b(t.renderEndTime||t.endTime)-b(t.startTime)}).attr("height",o).attr("transform-origin",function(t,e){return e=t.order,(b(t.startTime)+s+.5*(b(t.endTime)-b(t.startTime))).toString()+"px "+(e*i+n+.5*o).toString()+"px"}).attr("class",function(t){let e="";t.classes.length>0&&(e=t.classes.join(" "));let i=0;for(let[e,r]of m.entries())t.type===r&&(i=e%a.numberSectionStyles);let r="";return t.active?t.crit?r+=" activeCrit":r=" active":t.done?r=t.crit?" doneCrit":" done":t.crit&&(r+=" crit"),0===r.length&&(r=" task"),t.milestone&&(r=" milestone "+r),"task"+(r+=i+" "+e)}),u.append("text").attr("id",function(t){return t.id+"-text"}).text(function(t){return t.task}).attr("font-size",a.fontSize).attr("x",function(t){let e=b(t.startTime),i=b(t.renderEndTime||t.endTime);t.milestone&&(e+=.5*(b(t.endTime)-b(t.startTime))-.5*o),t.milestone&&(i=e+o);let r=this.getBBox().width;return r>i-e?i+r+1.5*a.leftPadding>l?e+s-5:i+s+5:(i-e)/2+e+s}).attr("y",function(t,e){return t.order*i+a.barHeight/2+(a.fontSize/2-2)+n}).attr("text-height",o).attr("class",function(t){let e=b(t.startTime),i=b(t.endTime);t.milestone&&(i=e+o);let r=this.getBBox().width,n="";t.classes.length>0&&(n=t.classes.join(" "));let s=0;for(let[e,i]of m.entries())t.type===i&&(s=e%a.numberSectionStyles);let c="";return(t.active&&(c=t.crit?"activeCritText"+s:"activeText"+s),t.done?c=t.crit?c+" doneCritText"+s:c+" doneText"+s:t.crit&&(c=c+" critText"+s),t.milestone&&(c+=" milestoneText"),r>i-e)?i+r+1.5*a.leftPadding>l?n+" taskTextOutsideLeft taskTextOutside"+s+" "+c:n+" taskTextOutsideRight taskTextOutside"+s+" "+c+" width-"+r:n+" taskText taskText"+s+" "+c+" width-"+r}),"sandbox"===(0,h.c)().securityLevel){let t=(0,f.Ys)("#i"+e).nodes()[0].contentDocument;u.filter(function(t){return void 0!==y[t.id]}).each(function(e){var i=t.querySelector("#"+e.id),r=t.querySelector("#"+e.id+"-text");let n=i.parentNode;var s=t.createElement("a");s.setAttribute("xlink:href",y[e.id]),s.setAttribute("target","_top"),n.appendChild(s),s.appendChild(i),s.appendChild(r)})}}(t,o,l,u,s,0,i),function(t,e){let i=0,r=Object.keys(k).map(t=>[t,k[t]]);g.append("g").selectAll("text").data(r).enter().append(function(t){let e=t[0].split(h.e.lineBreakRegex),i=-(e.length-1)/2,r=d.createElementNS("http://www.w3.org/2000/svg","text");for(let[t,n]of(r.setAttribute("dy",i+"em"),e.entries())){let e=d.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttribute("alignment-baseline","central"),e.setAttribute("x","10"),t>0&&e.setAttribute("dy","1em"),e.textContent=n,r.appendChild(e)}return r}).attr("x",10).attr("y",function(n,s){if(!(s>0))return n[1]*t/2+e;for(let a=0;a` + .mermaid-main-font { + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .exclude-range { + fill: ${t.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${t.sectionBkgColor}; + } + + .section2 { + fill: ${t.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${t.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${t.titleColor}; + } + + .sectionTitle1 { + fill: ${t.titleColor}; + } + + .sectionTitle2 { + fill: ${t.titleColor}; + } + + .sectionTitle3 { + fill: ${t.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${t.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${t.fontFamily}; + fill: ${t.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${t.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideRight { + fill: ${t.taskTextDarkColor}; + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideLeft { + fill: ${t.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${t.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${t.taskBkgColor}; + stroke: ${t.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${t.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${t.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${t.activeTaskBkgColor}; + stroke: ${t.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${t.doneTaskBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${t.critBorderColor}; + fill: ${t.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.titleColor||t.textColor}; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } +`}}}]); \ No newline at end of file diff --git a/_next/static/chunks/7832.54787172052549e5.js b/_next/static/chunks/7832.54787172052549e5.js new file mode 100644 index 0000000..ca826a8 --- /dev/null +++ b/_next/static/chunks/7832.54787172052549e5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7832],{7832:function(e,t,s){s.d(t,{diagram:function(){return V}});var i=s(7518),a=s(5625),r=s(4218),o=s(1835),l=s(4015);s(7484),s(6574),s(7856),s(1316),s(6060);let d="rect",n="rectWithTitle",c="statediagram",p=`${c}-state`,b="transition",g=`${b} note-edge`,h=`${c}-note`,u=`${c}-cluster`,y=`${c}-cluster-alt`,f="parent",w="note",x="----",$=`${x}${w}`,m=`${x}${f}`,T="fill:none",S="fill: #333",k="text",D="normal",A={},v=0;function B(e="",t=0,s="",i=x){let a=null!==s&&s.length>0?`${i}${s}`:"";return`state-${e}${a}-${t}`}let E=(e,t,s,a,r,l)=>{var c;let b=s.id,x=null==(c=a[b])?"":c.classes?c.classes.join(" "):"";if("root"!==b){let t=d;!0===s.start&&(t="start"),!1===s.start&&(t="end"),s.type!==i.D&&(t=s.type),A[b]||(A[b]={id:b,shape:t,description:o.e.sanitizeText(b,(0,o.c)()),classes:`${x} ${p}`});let a=A[b];s.description&&(Array.isArray(a.description)?(a.shape=n,a.description.push(s.description)):a.description.length>0?(a.shape=n,a.description===b?a.description=[s.description]:a.description=[a.description,s.description]):(a.shape=d,a.description=s.description),a.description=o.e.sanitizeTextOrArray(a.description,(0,o.c)())),1===a.description.length&&a.shape===n&&(a.shape=d),!a.type&&s.doc&&(o.l.info("Setting cluster for ",b,C(s)),a.type="group",a.dir=C(s),a.shape=s.type===i.a?"divider":"roundedWithTitle",a.classes=a.classes+" "+u+" "+(l?y:""));let r={labelStyle:"",shape:a.shape,labelText:a.description,classes:a.classes,style:"",id:b,dir:a.dir,domId:B(b,v),type:a.type,padding:15};if(r.centerLabel=!0,s.note){let t={labelStyle:"",shape:"note",labelText:s.note.text,classes:h,style:"",id:b+$+"-"+v,domId:B(b,v,w),type:a.type,padding:15},i={labelStyle:"",shape:"noteGroup",labelText:s.note.text,classes:a.classes,style:"",id:b+m,domId:B(b,v,f),type:"group",padding:0};v++;let o=b+m;e.setNode(o,i),e.setNode(t.id,t),e.setNode(b,r),e.setParent(b,o),e.setParent(t.id,o);let l=b,d=t.id;"left of"===s.note.position&&(l=t.id,d=b),e.setEdge(l,d,{arrowhead:"none",arrowType:"",style:T,labelStyle:"",classes:g,arrowheadStyle:S,labelpos:"c",labelType:k,thickness:D})}else e.setNode(b,r)}t&&"root"!==t.id&&(o.l.trace("Setting node ",b," to be child of its parent ",t.id),e.setParent(b,t.id)),s.doc&&(o.l.trace("Adding nodes children "),N(e,s,s.doc,a,r,!l))},N=(e,t,s,a,r,l)=>{o.l.trace("items",s),s.forEach(s=>{switch(s.stmt){case i.b:case i.D:E(e,t,s,a,r,l);break;case i.S:{E(e,t,s.state1,a,r,l),E(e,t,s.state2,a,r,l);let i={id:"edge"+v,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:T,labelStyle:"",label:o.e.sanitizeText(s.description,(0,o.c)()),arrowheadStyle:S,labelpos:"c",labelType:k,thickness:D,classes:b};e.setEdge(s.state1.id,s.state2.id,i,v),v++}}})},C=(e,t=i.c)=>{let s=t;if(e.doc)for(let t=0;t{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,i.d.clear()}}}}]); \ No newline at end of file diff --git a/_next/static/chunks/7921.c33be6ba7664683f.js b/_next/static/chunks/7921.c33be6ba7664683f.js new file mode 100644 index 0000000..2715ef5 --- /dev/null +++ b/_next/static/chunks/7921.c33be6ba7664683f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7921],{7921:function(t,i,e){e.d(i,{diagram:function(){return d}});var a=e(1835),n=e(4218);e(7484),e(6574),e(7856);var s=function(){var t=function(t,i,e,a){for(e=e||{},a=t.length;a--;e[t[a]]=i);return e},i=[1,3],e=[1,4],a=[1,5],n=[1,6],s=[1,7],r=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],l=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],o=[32,33,34],h=[2,7],c=[1,13],d=[1,17],u=[1,18],x=[1,19],g=[1,20],f=[1,21],y=[1,22],p=[1,23],T=[1,24],m=[1,25],q=[1,26],_=[1,27],A=[1,30],b=[1,31],k=[1,32],S=[1,33],F=[1,34],P=[1,35],v=[1,36],C=[1,37],L=[1,38],z=[1,39],B=[1,40],E=[1,41],D=[1,42],I=[1,57],R=[1,58],w=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],N={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(t,i,e,a,n,s,r){var l=s.length-1;switch(n){case 12:this.$=s[l].trim(),a.setDiagramTitle(this.$);break;case 13:this.$=s[l].trim(),a.setAccTitle(this.$);break;case 14:case 15:this.$=s[l].trim(),a.setAccDescription(this.$);break;case 16:a.addSection(s[l].substr(8)),this.$=s[l].substr(8);break;case 17:a.addPoint(s[l-3],s[l-1],s[l]);break;case 18:a.setXAxisLeftText(s[l-2]),a.setXAxisRightText(s[l]);break;case 19:s[l-1].text+=" ⟶ ",a.setXAxisLeftText(s[l-1]);break;case 20:a.setXAxisLeftText(s[l]);break;case 21:a.setYAxisBottomText(s[l-2]),a.setYAxisTopText(s[l]);break;case 22:s[l-1].text+=" ⟶ ",a.setYAxisBottomText(s[l-1]);break;case 23:a.setYAxisBottomText(s[l]);break;case 24:a.setQuadrant1Text(s[l]);break;case 25:a.setQuadrant2Text(s[l]);break;case 26:a.setQuadrant3Text(s[l]);break;case 27:a.setQuadrant4Text(s[l]);break;case 31:case 33:this.$={text:s[l],type:"text"};break;case 32:this.$={text:s[l-1].text+""+s[l],type:s[l-1].type};break;case 34:this.$={text:s[l],type:"markdown"};break;case 35:this.$=s[l];break;case 36:this.$=s[l-1]+""+s[l]}},table:[{3:1,4:2,5:i,6:e,32:a,33:n,34:s},{1:[3]},{3:8,4:2,5:i,6:e,32:a,33:n,34:s},{3:9,4:2,5:i,6:e,32:a,33:n,34:s},t(r,[2,4],{7:10}),t(l,[2,28]),t(l,[2,29]),t(l,[2,30]),{1:[2,1]},{1:[2,2]},t(o,h,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:c,13:d,15:u,17:x,19:g,20:f,25:y,27:p,28:T,29:m,30:q,31:_,37:A,38:b,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D}),t(r,[2,5]),{4:43,32:a,33:n,34:s},t(o,h,{10:14,11:15,12:16,21:28,35:29,9:44,5:c,13:d,15:u,17:x,19:g,20:f,25:y,27:p,28:T,29:m,30:q,31:_,37:A,38:b,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D}),t(o,[2,9]),t(o,[2,10]),t(o,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},t(o,[2,15]),t(o,[2,16]),{21:48,35:29,37:A,38:b,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D},{21:49,35:29,37:A,38:b,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D},{21:50,35:29,37:A,38:b,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D},{21:51,35:29,37:A,38:b,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D},{21:52,35:29,37:A,38:b,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D},{21:53,35:29,37:A,38:b,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D},{5:I,22:[1,54],35:56,36:55,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D,51:R},t(w,[2,31]),t(w,[2,33]),t(w,[2,34]),t(w,[2,37]),t(w,[2,38]),t(w,[2,39]),t(w,[2,40]),t(w,[2,41]),t(w,[2,42]),t(w,[2,43]),t(w,[2,44]),t(w,[2,45]),t(w,[2,46]),t(w,[2,47]),t(r,[2,6]),t(o,[2,8]),t(o,[2,12]),t(o,[2,13]),t(o,[2,14]),t(o,[2,20],{36:55,35:56,5:I,26:[1,59],40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D,51:R}),t(o,[2,23],{36:55,35:56,5:I,26:[1,60],40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D,51:R}),t(o,[2,24],{36:55,35:56,5:I,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D,51:R}),t(o,[2,25],{36:55,35:56,5:I,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D,51:R}),t(o,[2,26],{36:55,35:56,5:I,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D,51:R}),t(o,[2,27],{36:55,35:56,5:I,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D,51:R}),{23:[1,61]},t(w,[2,32]),t(w,[2,48]),t(w,[2,49]),t(w,[2,50]),t(o,[2,19],{35:29,21:62,37:A,38:b,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D}),t(o,[2,22],{35:29,21:63,37:A,38:b,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D}),{24:[1,64]},t(o,[2,18],{36:55,35:56,5:I,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D,51:R}),t(o,[2,21],{36:55,35:56,5:I,40:k,41:S,42:F,43:P,44:v,45:C,46:L,47:z,48:B,49:E,50:D,51:R}),t(o,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(t,i){if(i.recoverable)this.trace(t);else{var e=Error(t);throw e.hash=i,e}},parse:function(t){var i=this,e=[0],a=[],n=[null],s=[],r=this.table,l="",o=0,h=0,c=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var x in this.yy)Object.prototype.hasOwnProperty.call(this.yy,x)&&(u.yy[x]=this.yy[x]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var f=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var y,p,T,m,q,_,A,b,k={};;){if(p=e[e.length-1],this.defaultActions[p]?T=this.defaultActions[p]:(null==y&&(y=function(){var t;return"number"!=typeof(t=a.pop()||d.lex()||1)&&(t instanceof Array&&(t=(a=t).pop()),t=i.symbols_[t]||t),t}()),T=r[p]&&r[p][y]),void 0===T||!T.length||!T[0]){var S="";for(q in b=[],r[p])this.terminals_[q]&&q>2&&b.push("'"+this.terminals_[q]+"'");S=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+b.join(", ")+", got '"+(this.terminals_[y]||y)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==y?"end of input":"'"+(this.terminals_[y]||y)+"'"),this.parseError(S,{text:d.match,token:this.terminals_[y]||y,line:d.yylineno,loc:g,expected:b})}if(T[0]instanceof Array&&T.length>1)throw Error("Parse Error: multiple actions possible at state: "+p+", token: "+y);switch(T[0]){case 1:e.push(y),n.push(d.yytext),s.push(d.yylloc),e.push(T[1]),y=null,h=d.yyleng,l=d.yytext,o=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[T[1]][1],k.$=n[n.length-_],k._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},f&&(k._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(m=this.performAction.apply(k,[l,h,o,u.yy,T[1],n,s].concat(c))))return m;_&&(e=e.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),e.push(this.productions_[T[1]][0]),n.push(k.$),s.push(k._$),A=r[e[e.length-2]][e[e.length-1]],e.push(A);break;case 3:return!0}}return!0}};function U(){this.yy={}}return N.lexer={EOF:1,parseError:function(t,i){if(this.yy.parser)this.yy.parser.parseError(t,i);else throw Error(t)},setInput:function(t,i){return this.yy=i||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var i=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===a.length?this.yylloc.first_column:0)+a[a.length-e.length].length-e[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),i=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+i+"^"},test_match:function(t,i){var e,a,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack)for(var s in n)this[s]=n[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,i,e,a,n=this._currentRules(),s=0;si[0].length)){if(i=e,a=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(e,n[s])))return t;if(!this._backtrack)return!1;i=!1;continue}if(!this.options.flex)break}return i?!1!==(t=this.test_match(i,n[a]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,i,e,a){switch(e){case 0:case 1:case 3:break;case 2:return 32;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 22:case 24:case 28:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 23:this.begin("string");break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}},U.prototype=N,N.Parser=U,new U}();s.parser=s;let r=(0,a.E)();class l{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var t,i,e,n,s,r,l,o,h,c,d,u,x,g,f,y,p,T;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:(null==(t=a.B.quadrantChart)?void 0:t.chartWidth)||500,chartWidth:(null==(i=a.B.quadrantChart)?void 0:i.chartHeight)||500,titlePadding:(null==(e=a.B.quadrantChart)?void 0:e.titlePadding)||10,titleFontSize:(null==(n=a.B.quadrantChart)?void 0:n.titleFontSize)||20,quadrantPadding:(null==(s=a.B.quadrantChart)?void 0:s.quadrantPadding)||5,xAxisLabelPadding:(null==(r=a.B.quadrantChart)?void 0:r.xAxisLabelPadding)||5,yAxisLabelPadding:(null==(l=a.B.quadrantChart)?void 0:l.yAxisLabelPadding)||5,xAxisLabelFontSize:(null==(o=a.B.quadrantChart)?void 0:o.xAxisLabelFontSize)||16,yAxisLabelFontSize:(null==(h=a.B.quadrantChart)?void 0:h.yAxisLabelFontSize)||16,quadrantLabelFontSize:(null==(c=a.B.quadrantChart)?void 0:c.quadrantLabelFontSize)||16,quadrantTextTopPadding:(null==(d=a.B.quadrantChart)?void 0:d.quadrantTextTopPadding)||5,pointTextPadding:(null==(u=a.B.quadrantChart)?void 0:u.pointTextPadding)||5,pointLabelFontSize:(null==(x=a.B.quadrantChart)?void 0:x.pointLabelFontSize)||12,pointRadius:(null==(g=a.B.quadrantChart)?void 0:g.pointRadius)||5,xAxisPosition:(null==(f=a.B.quadrantChart)?void 0:f.xAxisPosition)||"top",yAxisPosition:(null==(y=a.B.quadrantChart)?void 0:y.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:(null==(p=a.B.quadrantChart)?void 0:p.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:(null==(T=a.B.quadrantChart)?void 0:T.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:r.quadrant1Fill,quadrant2Fill:r.quadrant2Fill,quadrant3Fill:r.quadrant3Fill,quadrant4Fill:r.quadrant4Fill,quadrant1TextFill:r.quadrant1TextFill,quadrant2TextFill:r.quadrant2TextFill,quadrant3TextFill:r.quadrant3TextFill,quadrant4TextFill:r.quadrant4TextFill,quadrantPointFill:r.quadrantPointFill,quadrantPointTextFill:r.quadrantPointTextFill,quadrantXAxisTextFill:r.quadrantXAxisTextFill,quadrantYAxisTextFill:r.quadrantYAxisTextFill,quadrantTitleFill:r.quadrantTitleFill,quadrantInternalBorderStrokeFill:r.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:r.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),a.l.info("clear called")}setData(t){this.data={...this.data,...t}}addPoints(t){this.data.points=[...t,...this.data.points]}setConfig(t){a.l.trace("setConfig called with: ",t),this.config={...this.config,...t}}setThemeConfig(t){a.l.trace("setThemeConfig called with: ",t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(t,i,e,a){let n=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,s={top:"top"===t&&i?n:0,bottom:"bottom"===t&&i?n:0},r=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,l={left:"left"===this.config.yAxisPosition&&e?r:0,right:"right"===this.config.yAxisPosition&&e?r:0},o=this.config.titleFontSize+2*this.config.titlePadding,h={top:a?o:0},c=this.config.quadrantPadding+l.left,d=this.config.quadrantPadding+s.top+h.top,u=this.config.chartWidth-2*this.config.quadrantPadding-l.left-l.right,x=this.config.chartHeight-2*this.config.quadrantPadding-s.top-s.bottom-h.top;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:c,quadrantTop:d,quadrantWidth:u,quadrantHalfWidth:u/2,quadrantHeight:x,quadrantHalfHeight:x/2}}}getAxisLabels(t,i,e,a){let{quadrantSpace:n,titleSpace:s}=a,{quadrantHalfHeight:r,quadrantHeight:l,quadrantLeft:o,quadrantHalfWidth:h,quadrantTop:c,quadrantWidth:d}=n,u=!!this.data.xAxisRightText,x=!!this.data.yAxisTopText,g=[];return this.data.xAxisLeftText&&i&&g.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&i&&g.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+h+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&e&&g.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+l-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&e&&g.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+r-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),g}getQuadrants(t){let{quadrantSpace:i}=t,{quadrantHalfHeight:e,quadrantLeft:a,quadrantHalfWidth:n,quadrantTop:s}=i,r=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:s,width:n,height:e,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a,y:s,width:n,height:e,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a,y:s+e,width:n,height:e,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:s+e,width:n,height:e,fill:this.themeConfig.quadrant4Fill}];for(let t of r)t.text.x=t.x+t.width/2,0===this.data.points.length?(t.text.y=t.y+t.height/2,t.text.horizontalPos="middle"):(t.text.y=t.y+this.config.quadrantTextTopPadding,t.text.horizontalPos="top");return r}getQuadrantPoints(t){let{quadrantSpace:i}=t,{quadrantHeight:e,quadrantLeft:a,quadrantTop:s,quadrantWidth:r}=i,l=(0,n.BYU)().domain([0,1]).range([a,r+a]),o=(0,n.BYU)().domain([0,1]).range([e+s,s]);return this.data.points.map(t=>({x:l(t.x),y:o(t.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:t.text,fill:this.themeConfig.quadrantPointTextFill,x:l(t.x),y:o(t.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(t){let i=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:e}=t,{quadrantHalfHeight:a,quadrantHeight:n,quadrantLeft:s,quadrantHalfWidth:r,quadrantTop:l,quadrantWidth:o}=e;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-i,y1:l,x2:s+o+i,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+o,y1:l+i,x2:s+o,y2:l+n-i},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-i,y1:l+n,x2:s+o+i,y2:l+n},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+i,x2:s,y2:l+n-i},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+i,x2:s+r,y2:l+n-i},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+i,y1:l+a,x2:s+o-i,y2:l+a}]}getTitle(t){if(t)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let t=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),i=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),e=this.config.showTitle&&!!this.data.titleText,a=this.data.points.length>0?"bottom":this.config.xAxisPosition,n=this.calculateSpace(a,t,i,e);return{points:this.getQuadrantPoints(n),quadrants:this.getQuadrants(n),axisLabels:this.getAxisLabels(a,t,i,n),borderLines:this.getBorders(n),title:this.getTitle(e)}}}let o=(0,a.c)();function h(t){return(0,a.d)(t.trim(),o)}let c=new l,d={parser:s,db:{setWidth:function(t){c.setConfig({chartWidth:t})},setHeight:function(t){c.setConfig({chartHeight:t})},setQuadrant1Text:function(t){c.setData({quadrant1Text:h(t.text)})},setQuadrant2Text:function(t){c.setData({quadrant2Text:h(t.text)})},setQuadrant3Text:function(t){c.setData({quadrant3Text:h(t.text)})},setQuadrant4Text:function(t){c.setData({quadrant4Text:h(t.text)})},setXAxisLeftText:function(t){c.setData({xAxisLeftText:h(t.text)})},setXAxisRightText:function(t){c.setData({xAxisRightText:h(t.text)})},setYAxisTopText:function(t){c.setData({yAxisTopText:h(t.text)})},setYAxisBottomText:function(t){c.setData({yAxisBottomText:h(t.text)})},addPoint:function(t,i,e){c.addPoints([{x:i,y:e,text:h(t.text)}])},getQuadrantData:function(){let{themeVariables:t,quadrantChart:i}=(0,a.c)();return i&&c.setConfig(i),c.setThemeConfig({quadrant1Fill:t.quadrant1Fill,quadrant2Fill:t.quadrant2Fill,quadrant3Fill:t.quadrant3Fill,quadrant4Fill:t.quadrant4Fill,quadrant1TextFill:t.quadrant1TextFill,quadrant2TextFill:t.quadrant2TextFill,quadrant3TextFill:t.quadrant3TextFill,quadrant4TextFill:t.quadrant4TextFill,quadrantPointFill:t.quadrantPointFill,quadrantPointTextFill:t.quadrantPointTextFill,quadrantXAxisTextFill:t.quadrantXAxisTextFill,quadrantYAxisTextFill:t.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:t.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:t.quadrantInternalBorderStrokeFill,quadrantTitleFill:t.quadrantTitleFill}),c.setData({titleText:(0,a.t)()}),c.build()},clear:function(){c.clear(),(0,a.v)()},setAccTitle:a.s,getAccTitle:a.g,setDiagramTitle:a.q,getDiagramTitle:a.t,getAccDescription:a.a,setAccDescription:a.b},renderer:{draw:(t,i,e,s)=>{var r,l,o;let h;function c(t){return"top"===t?"hanging":"middle"}function d(t){return"left"===t?"start":"middle"}function u(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}let x=(0,a.c)();a.l.debug("Rendering quadrant chart\n"+t);let g=x.securityLevel;"sandbox"===g&&(h=(0,n.Ys)("#i"+i));let f=("sandbox"===g?(0,n.Ys)(h.nodes()[0].contentDocument.body):(0,n.Ys)("body")).select(`[id="${i}"]`),y=f.append("g").attr("class","main"),p=(null==(r=x.quadrantChart)?void 0:r.chartWidth)||500,T=(null==(l=x.quadrantChart)?void 0:l.chartHeight)||500;(0,a.i)(f,T,p,(null==(o=x.quadrantChart)?void 0:o.useMaxWidth)||!0),f.attr("viewBox","0 0 "+p+" "+T),s.db.setHeight(T),s.db.setWidth(p);let m=s.db.getQuadrantData(),q=y.append("g").attr("class","quadrants"),_=y.append("g").attr("class","border"),A=y.append("g").attr("class","data-points"),b=y.append("g").attr("class","labels"),k=y.append("g").attr("class","title");m.title&&k.append("text").attr("x",0).attr("y",0).attr("fill",m.title.fill).attr("font-size",m.title.fontSize).attr("dominant-baseline",c(m.title.horizontalPos)).attr("text-anchor",d(m.title.verticalPos)).attr("transform",u(m.title)).text(m.title.text),m.borderLines&&_.selectAll("line").data(m.borderLines).enter().append("line").attr("x1",t=>t.x1).attr("y1",t=>t.y1).attr("x2",t=>t.x2).attr("y2",t=>t.y2).style("stroke",t=>t.strokeFill).style("stroke-width",t=>t.strokeWidth);let S=q.selectAll("g.quadrant").data(m.quadrants).enter().append("g").attr("class","quadrant");S.append("rect").attr("x",t=>t.x).attr("y",t=>t.y).attr("width",t=>t.width).attr("height",t=>t.height).attr("fill",t=>t.fill),S.append("text").attr("x",0).attr("y",0).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>c(t.text.horizontalPos)).attr("text-anchor",t=>d(t.text.verticalPos)).attr("transform",t=>u(t.text)).text(t=>t.text.text),b.selectAll("g.label").data(m.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(t=>t.text).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>c(t.horizontalPos)).attr("text-anchor",t=>d(t.verticalPos)).attr("transform",t=>u(t));let F=A.selectAll("g.data-point").data(m.points).enter().append("g").attr("class","data-point");F.append("circle").attr("cx",t=>t.x).attr("cy",t=>t.y).attr("r",t=>t.radius).attr("fill",t=>t.fill),F.append("text").attr("x",0).attr("y",0).text(t=>t.text.text).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>c(t.text.horizontalPos)).attr("text-anchor",t=>d(t.text.verticalPos)).attr("transform",t=>u(t.text))}},styles:()=>""}}}]); \ No newline at end of file diff --git a/_next/static/chunks/8913.8fc680fda26dc9c8.js b/_next/static/chunks/8913.8fc680fda26dc9c8.js new file mode 100644 index 0000000..93b747f --- /dev/null +++ b/_next/static/chunks/8913.8fc680fda26dc9c8.js @@ -0,0 +1,134 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8913],{8913:function(t,e,i){i.d(e,{diagram:function(){return S}});var r=i(1835),n=i(4218),s=i(3789);i(7484),i(6574),i(7856);var a=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[6,8,10,11,12,14,16,17,18],i=[1,9],r=[1,10],n=[1,11],s=[1,12],a=[1,13],l=[1,14],o={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(t,e,i,r,n,s,a){var l=s.length-1;switch(n){case 1:return s[l-1];case 2:case 6:case 7:this.$=[];break;case 3:s[l-1].push(s[l]),this.$=s[l-1];break;case 4:case 5:this.$=s[l];break;case 8:r.setDiagramTitle(s[l].substr(6)),this.$=s[l].substr(6);break;case 9:this.$=s[l].trim(),r.setAccTitle(this.$);break;case 10:case 11:this.$=s[l].trim(),r.setAccDescription(this.$);break;case 12:r.addSection(s[l].substr(8)),this.$=s[l].substr(8);break;case 13:r.addTask(s[l-1],s[l]),this.$="task"}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:i,12:r,14:n,16:s,17:a,18:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:i,12:r,14:n,16:s,17:a,18:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,l="",o=0,c=0,h=s.slice.call(arguments,1),u=Object.create(this.lexer),y={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(y.yy[p]=this.yy[p]);u.setInput(t,y.yy),y.yy.lexer=u,y.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var d=u.yylloc;s.push(d);var f=u.options&&u.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,x,m,k,_,b,v,$,w={};;){if(x=i[i.length-1],this.defaultActions[x]?m=this.defaultActions[x]:(null==g&&(g=function(){var t;return"number"!=typeof(t=r.pop()||u.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),m=a[x]&&a[x][g]),void 0===m||!m.length||!m[0]){var M="";for(_ in $=[],a[x])this.terminals_[_]&&_>2&&$.push("'"+this.terminals_[_]+"'");M=u.showPosition?"Parse error on line "+(o+1)+":\n"+u.showPosition()+"\nExpecting "+$.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==g?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(M,{text:u.match,token:this.terminals_[g]||g,line:u.yylineno,loc:d,expected:$})}if(m[0]instanceof Array&&m.length>1)throw Error("Parse Error: multiple actions possible at state: "+x+", token: "+g);switch(m[0]){case 1:i.push(g),n.push(u.yytext),s.push(u.yylloc),i.push(m[1]),g=null,c=u.yyleng,l=u.yytext,o=u.yylineno,d=u.yylloc;break;case 2:if(b=this.productions_[m[1]][1],w.$=n[n.length-b],w._$={first_line:s[s.length-(b||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(b||1)].first_column,last_column:s[s.length-1].last_column},f&&(w._$.range=[s[s.length-(b||1)].range[0],s[s.length-1].range[1]]),void 0!==(k=this.performAction.apply(w,[l,c,o,y.yy,m[1],n,s].concat(h))))return k;b&&(i=i.slice(0,-1*b*2),n=n.slice(0,-1*b),s=s.slice(0,-1*b)),i.push(this.productions_[m[1]][0]),n.push(w.$),s.push(w._$),v=a[i[i.length-2]][i[i.length-1]],i.push(v);break;case 3:return!0}}return!0}};function c(){this.yy={}}return o.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in n)this[s]=n[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,n=this._currentRules(),s=0;se[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,i,r){switch(i){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}},c.prototype=o,o.Parser=c,new c}();a.parser=a;let l="",o=[],c=[],h=[],u=function(){let t=[];return c.forEach(e=>{e.people&&t.push(...e.people)}),[...new Set(t)].sort()},y=function(){let t=!0;for(let[e,i]of h.entries())h[e].processed,t=t&&i.processed;return t},p={getConfig:()=>(0,r.c)().journey,clear:function(){o.length=0,c.length=0,l="",h.length=0,(0,r.v)()},setDiagramTitle:r.q,getDiagramTitle:r.t,setAccTitle:r.s,getAccTitle:r.g,setAccDescription:r.b,getAccDescription:r.a,addSection:function(t){l=t,o.push(t)},getSections:function(){return o},getTasks:function(){let t=y(),e=0;for(;!t&&e<100;)t=y(),e++;return c.push(...h),c},addTask:function(t,e){let i=e.substr(1).split(":"),r=0,n=[];1===i.length?(r=Number(i[0]),n=[]):(r=Number(i[0]),n=i[1].split(","));let s=n.map(t=>t.trim()),a={section:l,type:l,people:s,task:t,score:r};h.push(a)},addTaskOrg:function(t){let e={section:l,type:l,description:t,task:t,classes:[]};c.push(e)},getActors:function(){return u()}},d=function(t,e){return(0,s.d)(t,e)},f=function(t,e){let i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),r=t.append("g");return r.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),r.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),e.score>3?function(t){let i=(0,n.Nb1)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}(r):e.score<3?function(t){let i=(0,n.Nb1)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}(r):function(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}(r),i},g=function(t,e){let i=t.append("circle");return i.attr("cx",e.cx),i.attr("cy",e.cy),i.attr("class","actor-"+e.pos),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("r",e.r),void 0!==i.class&&i.attr("class",i.class),void 0!==e.title&&i.append("title").text(e.title),i},x=-1,m=function(){function t(t,e,i,n,s,a,l,o){r(e.append("text").attr("x",i+s/2).attr("y",n+a/2+5).style("font-color",o).style("text-anchor","middle").text(t),l)}function e(t,e,i,n,s,a,l,o,c){let{taskFontSize:h,taskFontFamily:u}=o,y=t.split(//gi);for(let t=0;t{let i=e.actors[t].color;g(n,{cx:l,cy:e.y,r:7,fill:i,stroke:"#000",title:t,pos:e.actors[t].position}),l+=10}),m(i)(e.task,n,a.x,a.y,a.width,a.height,{class:"task"},i,e.colour)},initGraphics:function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")}},_={},b=(0,r.c)().journey,v=b.leftMargin,$={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,i,r){void 0===t[e]?t[e]=i:t[e]=r(i,t[e])},updateBounds:function(t,e,i,n){let s=(0,r.c)().journey,a=this,l=0;this.sequenceItems.forEach(function(r){l++;let o=a.sequenceItems.length-l+1;a.updateVal(r,"starty",e-o*s.boxMargin,Math.min),a.updateVal(r,"stopy",n+o*s.boxMargin,Math.max),a.updateVal($.data,"startx",t-o*s.boxMargin,Math.min),a.updateVal($.data,"stopx",i+o*s.boxMargin,Math.max),a.updateVal(r,"startx",t-o*s.boxMargin,Math.min),a.updateVal(r,"stopx",i+o*s.boxMargin,Math.max),a.updateVal($.data,"starty",e-o*s.boxMargin,Math.min),a.updateVal($.data,"stopy",n+o*s.boxMargin,Math.max)})},insert:function(t,e,i,r){let n=Math.min(t,i),s=Math.max(t,i),a=Math.min(e,r),l=Math.max(e,r);this.updateVal($.data,"startx",n,Math.min),this.updateVal($.data,"starty",a,Math.min),this.updateVal($.data,"stopx",s,Math.max),this.updateVal($.data,"stopy",l,Math.max),this.updateBounds(n,a,s,l)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},w=b.sectionFills,M=b.sectionColours,T=function(t,e,i){let n=(0,r.c)().journey,s="",a=i+(2*n.height+n.diagramMarginY),l=0,o="#CCC",c="black",h=0;for(let[i,r]of e.entries()){if(s!==r.section){o=w[l%w.length],h=l%w.length,c=M[l%M.length];let a=0,u=r.section;for(let t=i;t(_[e]&&(t[e]=_[e]),t),{});r.x=i*n.taskMargin+i*n.width+v,r.y=a,r.width=n.diagramMarginX,r.height=n.diagramMarginY,r.colour=c,r.fill=o,r.num=h,r.actors=u,k.drawTask(t,r,n),$.insert(r.x,r.y,r.x+r.width+n.taskMargin,450)}},E={setConf:function(t){Object.keys(t).forEach(function(e){b[e]=t[e]})},draw:function(t,e,i,s){let a;let l=(0,r.c)().journey,o=(0,r.c)().securityLevel;"sandbox"===o&&(a=(0,n.Ys)("#i"+e));let c="sandbox"===o?(0,n.Ys)(a.nodes()[0].contentDocument.body):(0,n.Ys)("body");$.init();let h=c.select("#"+e);k.initGraphics(h);let u=s.db.getTasks(),y=s.db.getDiagramTitle(),p=s.db.getActors();for(let t in _)delete _[t];let d=0;p.forEach(t=>{_[t]={color:l.actorColours[d%l.actorColours.length],position:d},d++}),function(t){let e=(0,r.c)().journey,i=60;Object.keys(_).forEach(r=>{let n=_[r].color,s={cx:20,cy:i,r:7,fill:n,stroke:"#000",pos:_[r].position};k.drawCircle(t,s);let a={x:40,y:i+7,fill:"#666",text:r,textMargin:5|e.boxTextMargin};k.drawText(t,a),i+=20})}(h),$.insert(0,0,v,50*Object.keys(_).length),T(h,u,0);let f=$.getBounds();y&&h.append("text").text(y).attr("x",v).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);let g=f.stopy-f.starty+2*l.diagramMarginY,x=v+f.stopx+2*l.diagramMarginX;(0,r.i)(h,g,x,l.useMaxWidth),h.append("line").attr("x1",v).attr("y1",4*l.height).attr("x2",x-v-4).attr("y2",4*l.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");let m=y?70:0;h.attr("viewBox",`${f.startx} -25 ${x} ${g+m}`),h.attr("preserveAspectRatio","xMinYMin meet"),h.attr("height",g+m+25)}},S={parser:a,db:p,renderer:E,styles:t=>`.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${t.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${t.textColor} + } + + .legend { + fill: ${t.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${t.textColor} + } + + .face { + ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${t.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${t.fillType0?`fill: ${t.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${t.fillType0?`fill: ${t.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${t.fillType0?`fill: ${t.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${t.fillType0?`fill: ${t.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${t.fillType0?`fill: ${t.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${t.fillType0?`fill: ${t.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${t.fillType0?`fill: ${t.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${t.fillType0?`fill: ${t.fillType7}`:""}; + } + + .actor-0 { + ${t.actor0?`fill: ${t.actor0}`:""}; + } + .actor-1 { + ${t.actor1?`fill: ${t.actor1}`:""}; + } + .actor-2 { + ${t.actor2?`fill: ${t.actor2}`:""}; + } + .actor-3 { + ${t.actor3?`fill: ${t.actor3}`:""}; + } + .actor-4 { + ${t.actor4?`fill: ${t.actor4}`:""}; + } + .actor-5 { + ${t.actor5?`fill: ${t.actor5}`:""}; + } +`,init:t=>{E.setConf(t.journey),p.clear()}}},3789:function(t,e,i){i.d(e,{a:function(){return a},b:function(){return c},c:function(){return o},d:function(){return s},e:function(){return u},f:function(){return l},g:function(){return h}});var r=i(6574),n=i(1835);let s=(t,e)=>{let i=t.append("rect");if(i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("width",e.width),i.attr("height",e.height),e.name&&i.attr("name",e.name),void 0!==e.rx&&i.attr("rx",e.rx),void 0!==e.ry&&i.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)i.attr(t,e.attrs[t]);return void 0!==e.class&&i.attr("class",e.class),i},a=(t,e)=>{s(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},l=(t,e)=>{let i=e.text.replace(n.J," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),void 0!==e.class&&r.attr("class",e.class);let s=r.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.text(i),r},o=(t,e,i,n)=>{let s=t.append("image");s.attr("x",e),s.attr("y",i);let a=(0,r.Nm)(n);s.attr("xlink:href",a)},c=(t,e,i,n)=>{let s=t.append("use");s.attr("x",e),s.attr("y",i);let a=(0,r.Nm)(n);s.attr("xlink:href",`#${a}`)},h=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),u=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0})}}]); \ No newline at end of file diff --git a/_next/static/chunks/8f0ac8b7-e060b73292392c08.js b/_next/static/chunks/8f0ac8b7-e060b73292392c08.js new file mode 100644 index 0000000..1cc4703 --- /dev/null +++ b/_next/static/chunks/8f0ac8b7-e060b73292392c08.js @@ -0,0 +1,63 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5083],{1835:function(t,i,e){let r,o,a;e.d(i,{A:function(){return en},B:function(){return to},C:function(){return tW},D:function(){return tz},E:function(){return X},F:function(){return tK},G:function(){return P},H:function(){return j},I:function(){return t_},J:function(){return L},K:function(){return et},L:function(){return i8},M:function(){return tj},N:function(){return r7},Z:function(){return ty},a:function(){return i3},b:function(){return i5},c:function(){return i7},d:function(){return Z},e:function(){return N},f:function(){return tf},g:function(){return i2},h:function(){return tM},i:function(){return iY},j:function(){return tI},k:function(){return tL},l:function(){return B},m:function(){return I},n:function(){return tT},o:function(){return iH},p:function(){return i9},q:function(){return i6},r:function(){return $},s:function(){return i1},t:function(){return i4},u:function(){return tD},v:function(){return i0},w:function(){return tw},x:function(){return M},y:function(){return tA},z:function(){return ee}});var s=e(8464),l=e(7484),n=e(6574),h=e(4218),c=e(7856),d=e(3314),u=e(5835),g=e(4528),p=e(2281),C=e(1619),m=e(1117),f=e(6833),y=e(7826),x=e(211),b=e(2190),k=e(9003);let T={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},B={trace:(...t)=>{},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},F=function(t="fatal"){let i=T.fatal;"string"==typeof t?(t=t.toLowerCase())in T&&(i=T[t]):"number"==typeof t&&(i=t),B.trace=()=>{},B.debug=()=>{},B.info=()=>{},B.warn=()=>{},B.error=()=>{},B.fatal=()=>{},i<=T.fatal&&(B.fatal=console.error?console.error.bind(console,S("FATAL"),"color: orange"):console.log.bind(console,"\x1b[35m",S("FATAL"))),i<=T.error&&(B.error=console.error?console.error.bind(console,S("ERROR"),"color: orange"):console.log.bind(console,"\x1b[31m",S("ERROR"))),i<=T.warn&&(B.warn=console.warn?console.warn.bind(console,S("WARN"),"color: orange"):console.log.bind(console,`\x1b[33m`,S("WARN"))),i<=T.info&&(B.info=console.info?console.info.bind(console,S("INFO"),"color: lightblue"):console.log.bind(console,"\x1b[34m",S("INFO"))),i<=T.debug&&(B.debug=console.debug?console.debug.bind(console,S("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",S("DEBUG"))),i<=T.trace&&(B.trace=console.debug?console.debug.bind(console,S("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",S("TRACE")))},S=t=>{let i=l().format("ss.SSS");return`%c${i} : ${t} : `},L=//gi,v=(a=!1,()=>{a||(function(){let t="data-temp-href-target";c.addHook("beforeSanitizeAttributes",i=>{"A"===i.tagName&&i.hasAttribute("target")&&i.setAttribute(t,i.getAttribute("target")||"")}),c.addHook("afterSanitizeAttributes",i=>{"A"===i.tagName&&i.hasAttribute(t)&&(i.setAttribute("target",i.getAttribute(t)||""),i.removeAttribute(t),"_blank"===i.getAttribute("target")&&i.setAttribute("rel","noopener"))})}(),a=!0)}),_=t=>(v(),c.sanitize(t)),A=(t,i)=>{var e;if((null==(e=i.flowchart)?void 0:e.htmlLabels)!==!1){let e=i.securityLevel;"antiscript"===e||"strict"===e?t=_(t):"loose"!==e&&(t=w(t=(t=(t=q(t)).replace(//g,">")).replace(/=/g,"=")))}return t},Z=(t,i)=>t?t=i.dompurifyConfig?c.sanitize(A(t,i),i.dompurifyConfig).toString():c.sanitize(A(t,i),{FORBID_TAGS:["style"]}).toString():t,w=t=>t.replace(/#br#/g,"
"),q=t=>t.replace(L,"#br#"),I=t=>!(!1===t||["false","null","0"].includes(String(t).trim().toLowerCase())),M=function(t){let i=t.split(/(,)/),e=[];for(let t=0;t0&&t+1Math.max(0,t.split(i).length-1),O=(t,i)=>{let e=E(t,"~"),r=E(i,"~");return 1===e&&1===r},z=t=>{let i=E(t,"~"),e=!1;if(i<=1)return t;i%2!=0&&t.startsWith("~")&&(t=t.substring(1),e=!0);let r=[...t],o=r.indexOf("~"),a=r.lastIndexOf("~");for(;-1!==o&&-1!==a&&o!==a;)r[o]="<",r[a]=">",o=r.indexOf("~"),a=r.lastIndexOf("~");return e&&r.unshift("~"),r.join("")},W=()=>void 0!==window.MathMLElement,D=/\$\$(.*)\$\$/g,P=t=>{var i;return((null==(i=t.match(D))?void 0:i.length)??0)>0},j=async(t,i)=>{t=await $(t,i);let e=document.createElement("div");e.innerHTML=t,e.id="katex-temp",e.style.visibility="hidden",e.style.position="absolute",e.style.top="0";let r=document.querySelector("body");null==r||r.insertAdjacentElement("beforeend",e);let o={width:e.clientWidth,height:e.clientHeight};return e.remove(),o},$=async(t,i)=>{if(!P(t))return t;if(!W()&&!i.legacyMathML)return t.replace(D,"MathML is unsupported in this environment.");let{default:r}=await e.e(1265).then(e.bind(e,1008));return t.split(L).map(t=>P(t)?` +
+ ${t} +
+ `:`
${t}
`).join("").replace(D,(t,i)=>r.renderToString(i,{throwOnError:!0,displayMode:!0,output:W()?"mathml":"htmlAndMathml"}).replace(/\n/g," ").replace(//g,""))},N={getRows:t=>t?q(t).replace(/\\n/g,"#br#").split("#br#"):[""],sanitizeText:Z,sanitizeTextOrArray:(t,i)=>"string"==typeof t?Z(t,i):t.flat().map(t=>Z(t,i)),hasBreaks:t=>L.test(t),splitBreaks:t=>t.split(L),lineBreakRegex:L,removeScript:_,getUrl:t=>{let i="";return t&&(i=(i=(i=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replaceAll(/\(/g,"\\(")).replaceAll(/\)/g,"\\)")),i},evaluate:I,getMax:function(...t){return Math.max(...t.filter(t=>!isNaN(t)))},getMin:function(...t){return Math.min(...t.filter(t=>!isNaN(t)))}},R=(t,i)=>i?(0,d.Z)(t,{s:-40,l:10}):(0,d.Z)(t,{s:-40,l:-10}),Y="#ffffff",H="#f2f2f2",V=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var t,i,e,r,o,a,s,l,n,h,c;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||(0,d.Z)(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||(0,d.Z)(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||R(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||R(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||R(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||R(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||(0,u.Z)(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||(0,u.Z)(this.tertiaryColor),this.lineColor=this.lineColor||(0,u.Z)(this.background),this.arrowheadColor=this.arrowheadColor||(0,u.Z)(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?(0,g.Z)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,g.Z)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||(0,u.Z)(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||(0,p.Z)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||(0,d.Z)(this.primaryColor,{h:30}),this.cScale4=this.cScale4||(0,d.Z)(this.primaryColor,{h:60}),this.cScale5=this.cScale5||(0,d.Z)(this.primaryColor,{h:90}),this.cScale6=this.cScale6||(0,d.Z)(this.primaryColor,{h:120}),this.cScale7=this.cScale7||(0,d.Z)(this.primaryColor,{h:150}),this.cScale8=this.cScale8||(0,d.Z)(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||(0,d.Z)(this.primaryColor,{h:270}),this.cScale10=this.cScale10||(0,d.Z)(this.primaryColor,{h:300}),this.cScale11=this.cScale11||(0,d.Z)(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t{this[i]=t[i]}),this.updateColors(),i.forEach(i=>{this[i]=t[i]})}},U=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,p.Z)(this.primaryColor,16),this.tertiaryColor=(0,d.Z)(this.primaryColor,{h:-160}),this.primaryBorderColor=(0,u.Z)(this.background),this.secondaryBorderColor=R(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=R(this.tertiaryColor,this.darkMode),this.primaryTextColor=(0,u.Z)(this.primaryColor),this.secondaryTextColor=(0,u.Z)(this.secondaryColor),this.tertiaryTextColor=(0,u.Z)(this.tertiaryColor),this.lineColor=(0,u.Z)(this.background),this.textColor=(0,u.Z)(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,p.Z)((0,u.Z)("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=(0,m.Z)(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=(0,g.Z)("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=(0,g.Z)(this.sectionBkgColor,10),this.taskBorderColor=(0,m.Z)(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=(0,m.Z)(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var t,i,e,r,o,a,s,l,n,h,c;this.secondBkg=(0,p.Z)(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=(0,p.Z)(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=(0,p.Z)(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=(0,d.Z)(this.primaryColor,{h:64}),this.fillType3=(0,d.Z)(this.secondaryColor,{h:64}),this.fillType4=(0,d.Z)(this.primaryColor,{h:-64}),this.fillType5=(0,d.Z)(this.secondaryColor,{h:-64}),this.fillType6=(0,d.Z)(this.primaryColor,{h:128}),this.fillType7=(0,d.Z)(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||(0,d.Z)(this.primaryColor,{h:30}),this.cScale4=this.cScale4||(0,d.Z)(this.primaryColor,{h:60}),this.cScale5=this.cScale5||(0,d.Z)(this.primaryColor,{h:90}),this.cScale6=this.cScale6||(0,d.Z)(this.primaryColor,{h:120}),this.cScale7=this.cScale7||(0,d.Z)(this.primaryColor,{h:150}),this.cScale8=this.cScale8||(0,d.Z)(this.primaryColor,{h:210}),this.cScale9=this.cScale9||(0,d.Z)(this.primaryColor,{h:270}),this.cScale10=this.cScale10||(0,d.Z)(this.primaryColor,{h:300}),this.cScale11=this.cScale11||(0,d.Z)(this.primaryColor,{h:330});for(let t=0;t{this[i]=t[i]}),this.updateColors(),i.forEach(i=>{this[i]=t[i]})}},G=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=(0,d.Z)(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=(0,d.Z)(this.primaryColor,{h:-160}),this.primaryBorderColor=R(this.primaryColor,this.darkMode),this.secondaryBorderColor=R(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=R(this.tertiaryColor,this.darkMode),this.primaryTextColor=(0,u.Z)(this.primaryColor),this.secondaryTextColor=(0,u.Z)(this.secondaryColor),this.tertiaryTextColor=(0,u.Z)(this.tertiaryColor),this.lineColor=(0,u.Z)(this.background),this.textColor=(0,u.Z)(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=(0,m.Z)(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var t,i,e,r,o,a,s,l,n,h,c;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||(0,d.Z)(this.primaryColor,{h:30}),this.cScale4=this.cScale4||(0,d.Z)(this.primaryColor,{h:60}),this.cScale5=this.cScale5||(0,d.Z)(this.primaryColor,{h:90}),this.cScale6=this.cScale6||(0,d.Z)(this.primaryColor,{h:120}),this.cScale7=this.cScale7||(0,d.Z)(this.primaryColor,{h:150}),this.cScale8=this.cScale8||(0,d.Z)(this.primaryColor,{h:210}),this.cScale9=this.cScale9||(0,d.Z)(this.primaryColor,{h:270}),this.cScale10=this.cScale10||(0,d.Z)(this.primaryColor,{h:300}),this.cScale11=this.cScale11||(0,d.Z)(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,g.Z)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,g.Z)(this.tertiaryColor,40);for(let t=0;t{this[i]=t[i]}),this.updateColors(),i.forEach(i=>{this[i]=t[i]})}},X=t=>{let i=new G;return i.calculate(t),i},J=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=(0,p.Z)("#cde498",10),this.primaryBorderColor=R(this.primaryColor,this.darkMode),this.secondaryBorderColor=R(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=R(this.tertiaryColor,this.darkMode),this.primaryTextColor=(0,u.Z)(this.primaryColor),this.secondaryTextColor=(0,u.Z)(this.secondaryColor),this.tertiaryTextColor=(0,u.Z)(this.primaryColor),this.lineColor=(0,u.Z)(this.background),this.textColor=(0,u.Z)(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var t,i,e,r,o,a,s,l,n,h,c;this.actorBorder=(0,g.Z)(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||(0,d.Z)(this.primaryColor,{h:30}),this.cScale4=this.cScale4||(0,d.Z)(this.primaryColor,{h:60}),this.cScale5=this.cScale5||(0,d.Z)(this.primaryColor,{h:90}),this.cScale6=this.cScale6||(0,d.Z)(this.primaryColor,{h:120}),this.cScale7=this.cScale7||(0,d.Z)(this.primaryColor,{h:150}),this.cScale8=this.cScale8||(0,d.Z)(this.primaryColor,{h:210}),this.cScale9=this.cScale9||(0,d.Z)(this.primaryColor,{h:270}),this.cScale10=this.cScale10||(0,d.Z)(this.primaryColor,{h:300}),this.cScale11=this.cScale11||(0,d.Z)(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,g.Z)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,g.Z)(this.tertiaryColor,40);for(let t=0;t{this[i]=t[i]}),this.updateColors(),i.forEach(i=>{this[i]=t[i]})}};class K{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=(0,p.Z)(this.contrast,55),this.background="#ffffff",this.tertiaryColor=(0,d.Z)(this.primaryColor,{h:-160}),this.primaryBorderColor=R(this.primaryColor,this.darkMode),this.secondaryBorderColor=R(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=R(this.tertiaryColor,this.darkMode),this.primaryTextColor=(0,u.Z)(this.primaryColor),this.secondaryTextColor=(0,u.Z)(this.secondaryColor),this.tertiaryTextColor=(0,u.Z)(this.tertiaryColor),this.lineColor=(0,u.Z)(this.background),this.textColor=(0,u.Z)(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var t,i,e,r,o,a,s,l,n,h,c;this.secondBkg=(0,p.Z)(this.contrast,55),this.border2=this.contrast,this.actorBorder=(0,p.Z)(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let t=0;t{this[i]=t[i]}),this.updateColors(),i.forEach(i=>{this[i]=t[i]})}}let Q={base:{getThemeVariables:t=>{let i=new V;return i.calculate(t),i}},dark:{getThemeVariables:t=>{let i=new U;return i.calculate(t),i}},default:{getThemeVariables:X},forest:{getThemeVariables:t=>{let i=new J;return i.calculate(t),i}},neutral:{getThemeVariables:t=>{let i=new K;return i.calculate(t),i}}},tt={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},theme:"default",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","maxEdges"],legacyMathML:!1,deterministicIds:!1,fontSize:16},ti={...tt,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:Q.default.getThemeVariables(),sequence:{...tt.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...tt.gantt,tickInterval:void 0,useWidth:void 0},c4:{...tt.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...tt.pie,useWidth:984},xyChart:{...tt.xyChart,useWidth:void 0},requirement:{...tt.requirement,useWidth:void 0},gitGraph:{...tt.gitGraph,useMaxWidth:!1},sankey:{...tt.sankey,useMaxWidth:!1}},te=(t,i="")=>Object.keys(t).reduce((e,r)=>Array.isArray(t[r])?e:"object"==typeof t[r]&&null!==t[r]?[...e,i+r,...te(t[r],"")]:[...e,i+r],[]),tr=new Set(te(ti,"")),to=ti,ta=t=>{if(B.debug("sanitizeDirective called with",t),"object"==typeof t&&null!=t){if(Array.isArray(t)){t.forEach(t=>ta(t));return}for(let i of Object.keys(t)){if(B.debug("Checking key",i),i.startsWith("__")||i.includes("proto")||i.includes("constr")||!tr.has(i)||null==t[i]){B.debug("sanitize deleting key: ",i),delete t[i];continue}if("object"==typeof t[i]){B.debug("sanitizing object",i),ta(t[i]);continue}for(let e of["themeCSS","fontFamily","altFontFamily"])i.includes(e)&&(B.debug("sanitizing css option",i),t[i]=ts(t[i]))}if(t.themeVariables)for(let i of Object.keys(t.themeVariables)){let e=t.themeVariables[i];(null==e?void 0:e.match)&&!e.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[i]="")}B.debug("After sanitization",t)}},ts=t=>{let i=0,e=0;for(let r of t){if(i{for(let{id:i,detector:e,loader:r}of t)tp(i,e,r)},tp=(t,i,e)=>{td[t]?B.error(`Detector with key ${t} already exists`):td[t]={detector:i,loader:e},B.debug(`Detector with key ${t} added${e?" with loader":""}`)},tC=t=>td[t].loader,tm=(t,i,{depth:e=2,clobber:r=!1}={})=>{let o={depth:e,clobber:r};return Array.isArray(i)&&!Array.isArray(t)?(i.forEach(i=>tm(t,i,o)),t):Array.isArray(i)&&Array.isArray(t)?(i.forEach(i=>{t.includes(i)||t.push(i)}),t):void 0===t||e<=0?null!=t&&"object"==typeof t&&"object"==typeof i?Object.assign(t,i):i:(void 0!==i&&"object"==typeof t&&"object"==typeof i&&Object.keys(i).forEach(o=>{"object"==typeof i[o]&&(void 0===t[o]||"object"==typeof t[o])?(void 0===t[o]&&(t[o]=Array.isArray(i[o])?[]:{}),t[o]=tm(t[o],i[o],{depth:e-1,clobber:r})):(r||"object"!=typeof t[o]&&"object"!=typeof i[o])&&(t[o]=i[o])}),t)},tf=tm,ty="​",tx={curveBasis:h.$0Z,curveBasisClosed:h.Dts,curveBasisOpen:h.WQY,curveBumpX:h.qpX,curveBumpY:h.u93,curveBundle:h.tFB,curveCardinalClosed:h.OvA,curveCardinalOpen:h.dCK,curveCardinal:h.YY7,curveCatmullRomClosed:h.fGX,curveCatmullRomOpen:h.$m7,curveCatmullRom:h.zgE,curveLinear:h.c_6,curveLinearClosed:h.fxm,curveMonotoneX:h.FdL,curveMonotoneY:h.ak_,curveNatural:h.SxZ,curveStep:h.eA_,curveStepAfter:h.jsv,curveStepBefore:h.iJ},tb=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,tk=function(t,i=null){try{let e;let r=RegExp(`[%]{2}(?![{]${tb.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),B.debug(`Detecting diagram directive${null!==i?" type:"+i:""} based on the text:${t}`);let o=[];for(;null!==(e=tn.exec(t));)if(e.index===tn.lastIndex&&tn.lastIndex++,e&&!i||i&&e[1]&&e[1].match(i)||i&&e[2]&&e[2].match(i)){let t=e[1]?e[1]:e[2],i=e[3]?e[3].trim():e[4]?JSON.parse(e[4].trim()):null;o.push({type:t,args:i})}if(0===o.length)return{type:t,args:null};return 1===o.length?o[0]:o}catch(e){return B.error(`ERROR: ${e.message} - Unable to parse directive type: '${i}' based on the text: '${t}'`),{type:void 0,args:null}}};function tT(t,i){return t?tx[`curve${t.charAt(0).toUpperCase()+t.slice(1)}`]??i:i}function tB(t,i){return t&&i?Math.sqrt(Math.pow(i.x-t.x,2)+Math.pow(i.y-t.y,2)):0}let tF=(t,i=2)=>{let e=Math.pow(10,i);return Math.round(t*e)/e},tS=(t,i)=>{let e;let r=i;for(let i of t){if(e){let t=tB(i,e);if(t=1)return{x:i.x,y:i.y};if(o>0&&o<1)return{x:tF((1-o)*e.x+o*i.x,5),y:tF((1-o)*e.y+o*i.y,5)}}}e=i}throw Error("Could not find a suitable point for the given distance")};function tL(t){let i="",e="";for(let r of t)void 0!==r&&(r.startsWith("color:")||r.startsWith("text-align:")?e=e+r+";":i=i+r+";");return{style:i,labelStyle:e}}let tv=0,t_=()=>(tv++,"id-"+Math.random().toString(36).substr(2,12)+"-"+tv),tA=t=>(function(t){let i="",e="0123456789abcdef",r=e.length;for(let o=0;o{if(!t||(e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},e),N.lineBreakRegex.test(t)))return t;let r=t.split(" "),o=[],a="";return r.forEach((t,s)=>{let l=tM(`${t} `,e),n=tM(a,e);if(l>i){let{hyphenatedStrings:r,remainingWord:s}=tq(t,i,"-",e);o.push(a,...r),a=s}else n+l>=i?(o.push(a),a=t):a=[a,t].filter(Boolean).join(" ");s+1===r.length&&o.push(a)}),o.filter(t=>""!==t).join(e.joinWith)},(t,i,e)=>`${t}${i}${e.fontSize}${e.fontWeight}${e.fontFamily}${e.joinWith}`),tq=(0,f.Z)((t,i,e="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);let o=[...t],a=[],s="";return o.forEach((t,l)=>{let n=`${s}${t}`;if(tM(n,r)>=i){let t=o.length===l+1,i=`${n}${e}`;a.push(t?n:i),s=""}else s=n}),{hyphenatedStrings:a,remainingWord:s}},(t,i,e="-",r)=>`${t}${i}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function tI(t,i){return tE(t,i).height}function tM(t,i){return tE(t,i).width}let tE=(0,f.Z)((t,i)=>{let{fontSize:e=12,fontFamily:r="Arial",fontWeight:o=400}=i;if(!t)return{width:0,height:0};let[,a]=tz(e),s=t.split(N.lineBreakRegex),l=[],n=(0,h.Ys)("body");if(!n.remove)return{width:0,height:0,lineHeight:0};let c=n.append("svg");for(let t of["sans-serif",r]){let i=0,e={width:0,height:0,lineHeight:0};for(let r of s){let s={x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""};s.text=r||ty;let l=tZ(c,s).style("font-size",a).style("font-weight",o).style("font-family",t),n=(l._groups||l)[0][0].getBBox();if(0===n.width&&0===n.height)throw Error("svg element not in render tree");e.width=Math.round(Math.max(e.width,n.width)),i=Math.round(n.height),e.height+=i,e.lineHeight=Math.round(Math.max(e.lineHeight,i))}l.push(e)}c.remove();let d=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[d]},(t,i)=>`${t}${i.fontSize}${i.fontWeight}${i.fontFamily}`);class tO{constructor(t=!1,i){this.count=0,this.count=i?i.length:0,this.next=t?()=>this.count++:()=>Date.now()}}let tz=t=>{if("number"==typeof t)return[t,t+"px"];let i=parseInt(t??"",10);return Number.isNaN(i)?[void 0,void 0]:t===String(i)?[i,t+"px"]:[i,t]};function tW(t,i){return(0,y.Z)({},t,i)}let tD={assignWithDepth:tf,wrapLabel:tw,calculateTextHeight:tI,calculateTextWidth:tM,calculateTextDimensions:tE,cleanAndMerge:tW,detectInit:function(t,i){let e=tk(t,/(?:init\b)|(?:initialize\b)/),r={};if(Array.isArray(e)){let t=e.map(t=>t.args);ta(t),r=tf(r,[...t])}else r=e.args;if(!r)return;let o=tu(t,i),a="config";return void 0!==r[a]&&("flowchart-v2"===o&&(o="flowchart"),r[o]=r[a],delete r[a]),r},detectDirective:tk,isSubstringInArray:function(t,i){for(let[e,r]of i.entries())if(r.match(t))return e;return -1},interpolateToCurve:tT,calcLabelPosition:function(t){let i,e;return 1===t.length?t[0]:(e=0,t.forEach(t=>{e+=tB(t,i),i=t}),tS(t,e/2))},calcCardinalityPosition:(t,i,e)=>{B.info(`our points ${JSON.stringify(i)}`),i[0]!==e&&(i=i.reverse());let r=tS(i,25),o=t?10:5,a=Math.atan2(i[0].y-r.y,i[0].x-r.x),s={x:0,y:0};return s.x=Math.sin(a)*o+(i[0].x+r.x)/2,s.y=-Math.cos(a)*o+(i[0].y+r.y)/2,s},calcTerminalLabelPosition:function(t,i,e){let r=structuredClone(e);B.info("our points",r),"start_left"!==i&&"start_right"!==i&&r.reverse();let o=tS(r,25+t),a=10+.5*t,s=Math.atan2(r[0].y-o.y,r[0].x-o.x),l={x:0,y:0};return"start_left"===i?(l.x=Math.sin(s+Math.PI)*a+(r[0].x+o.x)/2,l.y=-Math.cos(s+Math.PI)*a+(r[0].y+o.y)/2):"end_right"===i?(l.x=Math.sin(s-Math.PI)*a+(r[0].x+o.x)/2-5,l.y=-Math.cos(s-Math.PI)*a+(r[0].y+o.y)/2-5):"end_left"===i?(l.x=Math.sin(s)*a+(r[0].x+o.x)/2-5,l.y=-Math.cos(s)*a+(r[0].y+o.y)/2-5):(l.x=Math.sin(s)*a+(r[0].x+o.x)/2,l.y=-Math.cos(s)*a+(r[0].y+o.y)/2),l},formatUrl:function(t,i){let e=t.trim();return e?"loose"!==i.securityLevel?(0,n.Nm)(e):e:void 0},getStylesFromArray:tL,generateId:t_,random:tA,runFunc:(t,...i)=>{let e=t.split("."),r=e.length-1,o=e[r],a=window;for(let i=0;i{var o;if(!r)return;let a=null==(o=t.node())?void 0:o.getBBox();a&&t.append("text").text(r).attr("x",a.x+a.width/2).attr("y",-e).attr("class",i)},parseFontSize:tz,InitIDGenerator:tO},tP=function(t){let i=t;return(i=(i=i.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/#\w+;/g,function(t){let i=t.substring(1,t.length-1);return/^\+?\d+$/.test(i)?"fl\xb0\xb0"+i+"\xb6\xdf":"fl\xb0"+i+"\xb6\xdf"})},tj=function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},t$="10.9.1",tN=Object.freeze(to),tR=tf({},tN),tY=[],tH=tf({},tN),tV=(t,i)=>{let e=tf({},t),r={};for(let t of i)tQ(t),r=tf(r,t);if(e=tf(e,r),r.theme&&r.theme in Q){let t=tf({},o),i=tf(t.themeVariables||{},r.themeVariables);e.theme&&e.theme in Q&&(e.themeVariables=Q[e.theme].getThemeVariables(i))}return t6(tH=e),tH},tU=t=>(tR=tf({},tN),tR=tf(tR,t),t.theme&&Q[t.theme]&&(tR.themeVariables=Q[t.theme].getThemeVariables(t.themeVariables)),tV(tR,tY),tR),tG=t=>{o=tf({},t)},tX=()=>tf({},tR),tJ=t=>(t6(t),tf(tH,t),tK()),tK=()=>tf({},tH),tQ=t=>{t&&(["secure",...tR.secure??[]].forEach(i=>{Object.hasOwn(t,i)&&(B.debug(`Denied attempt to modify a secure key ${i}`,t[i]),delete t[i])}),Object.keys(t).forEach(i=>{i.startsWith("__")&&delete t[i]}),Object.keys(t).forEach(i=>{"string"==typeof t[i]&&(t[i].includes("<")||t[i].includes(">")||t[i].includes("url(data:"))&&delete t[i],"object"==typeof t[i]&&tQ(t[i])}))},t0=t=>{ta(t),!t.fontFamily||t.themeVariables&&t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily}),tY.push(t),tV(tR,tY)},t1=(t=tR)=>{tV(t,tY=[])},t2={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},t5={},t3=t=>{t5[t]||(B.warn(t2[t]),t5[t]=!0)},t6=t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&t3("LAZY_LOAD_DEPRECATED")},t4={id:"c4",detector:t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),loader:async()=>{let{diagram:t}=await e.e(2057).then(e.bind(e,2057));return{id:"c4",diagram:t}}},t8="flowchart",t7=async()=>{let{diagram:t}=await Promise.all([e.e(9805),e.e(5276),e.e(1316),e.e(585),e.e(4015),e.e(7474),e.e(756)]).then(e.bind(e,756));return{id:t8,diagram:t}},t9={id:t8,detector:(t,i)=>{var e,r;return(null==(e=null==i?void 0:i.flowchart)?void 0:e.defaultRenderer)!=="dagre-wrapper"&&(null==(r=null==i?void 0:i.flowchart)?void 0:r.defaultRenderer)!=="elk"&&/^\s*graph/.test(t)},loader:t7},it="flowchart-v2",ii=async()=>{let{diagram:t}=await Promise.all([e.e(9805),e.e(5276),e.e(1316),e.e(585),e.e(4015),e.e(7474),e.e(407)]).then(e.bind(e,407));return{id:it,diagram:t}},ie={id:it,detector:(t,i)=>{var e,r,o;return(null==(e=null==i?void 0:i.flowchart)?void 0:e.defaultRenderer)!=="dagre-d3"&&(null==(r=null==i?void 0:i.flowchart)?void 0:r.defaultRenderer)!=="elk"&&(!!/^\s*graph/.test(t)&&(null==(o=null==i?void 0:i.flowchart)?void 0:o.defaultRenderer)==="dagre-wrapper"||/^\s*flowchart/.test(t))},loader:ii},ir={id:"er",detector:t=>/^\s*erDiagram/.test(t),loader:async()=>{let{diagram:t}=await Promise.all([e.e(9805),e.e(1316),e.e(4162)]).then(e.bind(e,4162));return{id:"er",diagram:t}}},io="gitGraph",ia=async()=>{let{diagram:t}=await e.e(2650).then(e.bind(e,2650));return{id:io,diagram:t}},is={id:io,detector:t=>/^\s*gitGraph/.test(t),loader:ia},il="gantt",ih=async()=>{let{diagram:t}=await e.e(7644).then(e.bind(e,7644));return{id:il,diagram:t}},ic={id:il,detector:t=>/^\s*gantt/.test(t),loader:ih},id="info",iu=async()=>{let{diagram:t}=await e.e(7488).then(e.bind(e,3172));return{id:id,diagram:t}},ig={id:id,detector:t=>/^\s*info/.test(t),loader:iu},ip={id:"pie",detector:t=>/^\s*pie/.test(t),loader:async()=>{let{diagram:t}=await e.e(2128).then(e.bind(e,2128));return{id:"pie",diagram:t}}},iC="quadrantChart",im=async()=>{let{diagram:t}=await e.e(7921).then(e.bind(e,7921));return{id:iC,diagram:t}},iy={id:iC,detector:t=>/^\s*quadrantChart/.test(t),loader:im},ix="xychart",ib=async()=>{let{diagram:t}=await Promise.all([e.e(5276),e.e(5493)]).then(e.bind(e,5493));return{id:ix,diagram:t}},ik={id:ix,detector:t=>/^\s*xychart-beta/.test(t),loader:ib},iT="requirement",iB=async()=>{let{diagram:t}=await Promise.all([e.e(9805),e.e(1316),e.e(5914)]).then(e.bind(e,5914));return{id:iT,diagram:t}},iF={id:iT,detector:t=>/^\s*requirement(Diagram)?/.test(t),loader:iB},iS="sequence",iL=async()=>{let{diagram:t}=await e.e(9129).then(e.bind(e,9129));return{id:iS,diagram:t}},iv={id:iS,detector:t=>/^\s*sequenceDiagram/.test(t),loader:iL},i_="class",iA=async()=>{let{diagram:t}=await Promise.all([e.e(9805),e.e(1316),e.e(6336),e.e(3553)]).then(e.bind(e,3553));return{id:i_,diagram:t}},iZ={id:i_,detector:(t,i)=>{var e;return(null==(e=null==i?void 0:i.class)?void 0:e.defaultRenderer)!=="dagre-wrapper"&&/^\s*classDiagram/.test(t)},loader:iA},iw="classDiagram",iq=async()=>{let{diagram:t}=await Promise.all([e.e(9805),e.e(5276),e.e(1316),e.e(585),e.e(4015),e.e(6336),e.e(7327)]).then(e.bind(e,7327));return{id:iw,diagram:t}},iI={id:iw,detector:(t,i)=>{var e;return!!/^\s*classDiagram/.test(t)&&(null==(e=null==i?void 0:i.class)?void 0:e.defaultRenderer)==="dagre-wrapper"||/^\s*classDiagram-v2/.test(t)},loader:iq},iM="state",iE=async()=>{let{diagram:t}=await Promise.all([e.e(9805),e.e(1316),e.e(7518),e.e(6097)]).then(e.bind(e,6097));return{id:iM,diagram:t}},iO={id:iM,detector:(t,i)=>{var e;return(null==(e=null==i?void 0:i.state)?void 0:e.defaultRenderer)!=="dagre-wrapper"&&/^\s*stateDiagram/.test(t)},loader:iE},iz="stateDiagram",iW=async()=>{let{diagram:t}=await Promise.all([e.e(9805),e.e(5276),e.e(1316),e.e(585),e.e(4015),e.e(7518),e.e(7832)]).then(e.bind(e,7832));return{id:iz,diagram:t}},iD={id:iz,detector:(t,i)=>{var e;return!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&(null==(e=null==i?void 0:i.state)?void 0:e.defaultRenderer)==="dagre-wrapper")},loader:iW},iP="journey",ij=async()=>{let{diagram:t}=await e.e(8913).then(e.bind(e,8913));return{id:iP,diagram:t}},i$={id:iP,detector:t=>/^\s*journey/.test(t),loader:ij},iN=function(t,i){for(let e of i)t.attr(e[0],e[1])},iR=function(t,i,e){let r=new Map;return e?(r.set("width","100%"),r.set("style",`max-width: ${i}px;`)):(r.set("height",t),r.set("width",i)),r},iY=function(t,i,e,r){iN(t,iR(i,e,r))},iH=function(t,i,e,r){let o=i.node().getBBox(),a=o.width,s=o.height;B.info(`SVG bounds: ${a}x${s}`,o);let l=0,n=0;B.info(`Graph bounds: ${l}x${n}`,t),l=a+2*e,n=s+2*e,B.info(`Calculated bounds: ${l}x${n}`),iY(i,n,l,r);let h=`${o.x-e} ${o.y-e} ${o.width+2*e} ${o.height+2*e}`;i.attr("viewBox",h)},iV={},iU=(t,i)=>{void 0!==i&&(iV[t]=i)},iG=(t,i,e)=>{let r="";return t in iV&&iV[t]?r=iV[t](e):B.warn(`No theme found for ${t}`),` & { + font-family: ${e.fontFamily}; + font-size: ${e.fontSize}; + fill: ${e.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${e.errorBkgColor}; + } + & .error-text { + fill: ${e.errorTextColor}; + stroke: ${e.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 2px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${e.lineColor}; + stroke: ${e.lineColor}; + } + & .marker.cross { + stroke: ${e.lineColor}; + } + + & svg { + font-family: ${e.fontFamily}; + font-size: ${e.fontSize}; + } + + ${r} + + ${i} +`},iX="",iJ="",iK="",iQ=t=>Z(t,tK()),i0=()=>{iX="",iK="",iJ=""},i1=t=>{iX=iQ(t).replace(/^\s+/g,"")},i2=()=>iX,i5=t=>{iK=iQ(t).replace(/\n\s+/g,"\n")},i3=()=>iK,i6=t=>{iJ=iQ(t)},i4=()=>iJ,i8=Object.freeze(Object.defineProperty({__proto__:null,clear:i0,getAccDescription:i3,getAccTitle:i2,getDiagramTitle:i4,setAccDescription:i5,setAccTitle:i1,setDiagramTitle:i6},Symbol.toStringTag,{value:"Module"})),i7=tK,i9=tJ,et=tN,ei=t=>Z(t,i7()),ee=iH,er=()=>i8,eo={},ea=(t,i,e)=>{var r;if(eo[t])throw Error(`Diagram ${t} already registered.`);eo[t]=i,e&&tp(t,e),iU(t,i.styles),null==(r=i.injectUtils)||r.call(i,B,F,i7,ei,ee,er(),()=>{})},es=t=>{if(t in eo)return eo[t];throw new el(t)};class el extends Error{constructor(t){super(`Diagram ${t} not found.`)}}let en=t=>{var i;let{securityLevel:e}=i7(),r=(0,h.Ys)("body");if("sandbox"===e){let e=(null==(i=(0,h.Ys)(`#i${t}`).node())?void 0:i.contentDocument)??document;r=(0,h.Ys)(e.body)}return r.select(`#${t}`)},eh={draw:(t,i,e)=>{B.debug("rendering svg for syntax error\n");let r=en(i),o=r.append("g");r.attr("viewBox","0 0 2412 512"),iY(r,100,512,!0),o.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),o.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),o.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),o.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),o.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),o.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),o.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),o.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${e}`)}},ec={db:{},renderer:eh,parser:{parser:{yy:{}},parse:()=>{}}},ed="flowchart-elk",eu=async()=>{let{diagram:t}=await Promise.all([e.e(5987),e.e(5276),e.e(585),e.e(7474),e.e(5777)]).then(e.bind(e,5777));return{id:ed,diagram:t}},eg={id:ed,detector:(t,i)=>{var e;return!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&(null==(e=null==i?void 0:i.flowchart)?void 0:e.defaultRenderer)==="elk")},loader:eu},ep="timeline",eC=async()=>{let{diagram:t}=await e.e(5998).then(e.bind(e,5998));return{id:ep,diagram:t}},em={id:ep,detector:t=>/^\s*timeline/.test(t),loader:eC},ef="mindmap",ey=async()=>{let{diagram:t}=await Promise.all([e.e(9209),e.e(5276),e.e(2616)]).then(e.bind(e,2616));return{id:ef,diagram:t}},ex={id:ef,detector:t=>/^\s*mindmap/.test(t),loader:ey},eb="sankey",ek=async()=>{let{diagram:t}=await e.e(1289).then(e.bind(e,3127));return{id:eb,diagram:t}},eT={id:eb,detector:t=>/^\s*sankey-beta/.test(t),loader:ek},eB="block",eF=async()=>{let{diagram:t}=await Promise.all([e.e(9805),e.e(5276),e.e(585),e.e(6705)]).then(e.bind(e,6705));return{id:eB,diagram:t}},eS={id:eB,detector:t=>/^\s*block-beta/.test(t),loader:eF},eL=!1,ev=()=>{eL||(eL=!0,ea("error",ec,t=>"error"===t.toLowerCase().trim()),ea("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},t=>t.toLowerCase().trimStart().startsWith("---")),tg(t4,iI,iZ,ir,ic,ig,ip,iF,iv,eg,ie,t9,ex,em,is,iD,iO,i$,iy,eT,ik,eS))};class e_{constructor(t,i={}){this.text=t,this.metadata=i,this.type="graph",this.text=tP(t),this.text+="\n";let e=tK();try{this.type=tu(t,e)}catch(t){this.type="error",this.detectError=t}let r=es(this.type);B.debug("Type "+this.type),this.db=r.db,this.renderer=r.renderer,this.parser=r.parser,this.parser.parser.yy=this.db,this.init=r.init,this.parse()}parse(){var t,i,e,r,o;if(this.detectError)throw this.detectError;null==(i=(t=this.db).clear)||i.call(t);let a=tK();null==(e=this.init)||e.call(this,a),this.metadata.title&&(null==(o=(r=this.db).setDiagramTitle)||o.call(r,this.metadata.title)),this.parser.parse(this.text)}async render(t,i){await this.renderer.draw(this.text,t,i,this)}getParser(){return this.parser}getType(){return this.type}}let eA=async(t,i={})=>{let e=tu(t,tK());try{es(e)}catch(o){let t=tC(e);if(!t)throw new tc(`Diagram ${e} not found.`);let{id:i,diagram:r}=await t();ea(i,r)}return new e_(t,i)},eZ=[],ew=()=>{eZ.forEach(t=>{t()}),eZ=[]},eq=t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();var eI={isObject:function(t){return"object"==typeof t&&null!==t},repeat:function(t,i){var e,r="";for(e=0;el&&(i=r-l+(a=" ... ").length),e-r>l&&(e=r+l-(s=" ...").length),{str:a+t.slice(i,e).replace(/\t/g,"→")+s,pos:r-i+a.length}}function ez(t,i){return eI.repeat(" ",i-t.length)+t}eE.prototype=Object.create(Error.prototype),eE.prototype.constructor=eE,eE.prototype.toString=function(t){return this.name+": "+eM(this,t)};var eW=function(t,i){if(i=Object.create(i||null),!t.buffer)return null;i.maxLength||(i.maxLength=79),"number"!=typeof i.indent&&(i.indent=1),"number"!=typeof i.linesBefore&&(i.linesBefore=3),"number"!=typeof i.linesAfter&&(i.linesAfter=2);for(var e=/\r?\n|\r|\0/g,r=[0],o=[],a=-1;s=e.exec(t.buffer);)o.push(s.index),r.push(s.index+s[0].length),t.position<=s.index&&a<0&&(a=r.length-2);a<0&&(a=r.length-1);var s,l,n,h="",c=Math.min(t.line+i.linesAfter,o.length).toString().length,d=i.maxLength-(i.indent+c+3);for(l=1;l<=i.linesBefore&&!(a-l<0);l++)n=eO(t.buffer,r[a-l],o[a-l],t.position-(r[a]-r[a-l]),d),h=eI.repeat(" ",i.indent)+ez((t.line-l+1).toString(),c)+" | "+n.str+"\n"+h;for(n=eO(t.buffer,r[a],o[a],t.position,d),h+=eI.repeat(" ",i.indent)+ez((t.line+1).toString(),c)+" | "+n.str+"\n"+eI.repeat("-",i.indent+c+3+n.pos)+"^\n",l=1;l<=i.linesAfter&&!(a+l>=o.length);l++)n=eO(t.buffer,r[a+l],o[a+l],t.position-(r[a]-r[a+l]),d),h+=eI.repeat(" ",i.indent)+ez((t.line+l+1).toString(),c)+" | "+n.str+"\n";return h.replace(/\n$/,"")},eD=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],eP=["scalar","sequence","mapping"],ej=function(t,i){var e,r;if(Object.keys(i=i||{}).forEach(function(i){if(-1===eD.indexOf(i))throw new eE('Unknown option "'+i+'" is met in definition of "'+t+'" YAML type.')}),this.options=i,this.tag=t,this.kind=i.kind||null,this.resolve=i.resolve||function(){return!0},this.construct=i.construct||function(t){return t},this.instanceOf=i.instanceOf||null,this.predicate=i.predicate||null,this.represent=i.represent||null,this.representName=i.representName||null,this.defaultStyle=i.defaultStyle||null,this.multi=i.multi||!1,this.styleAliases=(e=i.styleAliases||null,r={},null!==e&&Object.keys(e).forEach(function(t){e[t].forEach(function(i){r[String(i)]=t})}),r),-1===eP.indexOf(this.kind))throw new eE('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')};function e$(t,i){var e=[];return t[i].forEach(function(t){var i=e.length;e.forEach(function(e,r){e.tag===t.tag&&e.kind===t.kind&&e.multi===t.multi&&(i=r)}),e[i]=t}),e}function eN(t){return this.extend(t)}eN.prototype.extend=function(t){var i=[],e=[];if(t instanceof ej)e.push(t);else if(Array.isArray(t))e=e.concat(t);else if(t&&(Array.isArray(t.implicit)||Array.isArray(t.explicit)))t.implicit&&(i=i.concat(t.implicit)),t.explicit&&(e=e.concat(t.explicit));else throw new eE("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");i.forEach(function(t){if(!(t instanceof ej))throw new eE("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new eE("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new eE("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),e.forEach(function(t){if(!(t instanceof ej))throw new eE("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var r=Object.create(eN.prototype);return r.implicit=(this.implicit||[]).concat(i),r.explicit=(this.explicit||[]).concat(e),r.compiledImplicit=e$(r,"implicit"),r.compiledExplicit=e$(r,"explicit"),r.compiledTypeMap=function(){var t,i,e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function r(t){t.multi?(e.multi[t.kind].push(t),e.multi.fallback.push(t)):e[t.kind][t.tag]=e.fallback[t.tag]=t}for(t=0,i=arguments.length;t=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),eU=RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),eG=/^[-+]?[0-9]+e/,eX=new ej("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return!!(null!==t&&eU.test(t)&&"_"!==t[t.length-1])},construct:function(t){var i,e;return(e="-"===(i=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(i[0])>=0&&(i=i.slice(1)),".inf"===i)?1===e?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===i?NaN:e*parseFloat(i,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||eI.isNegativeZero(t))},represent:function(t,i){var e;if(isNaN(t))switch(i){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(i){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(i){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(eI.isNegativeZero(t))return"-0.0";return e=t.toString(10),eG.test(e)?e.replace("e",".e"):e},defaultStyle:"lowercase"}),eJ=eR.extend({implicit:[eY,eH,eV,eX]}),eK=RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),eQ=RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),e0=new ej("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==eK.exec(t)||null!==eQ.exec(t))},construct:function(t){var i,e,r,o,a,s,l,n,h=0,c=null;if(null===(i=eK.exec(t))&&(i=eQ.exec(t)),null===i)throw Error("Date resolve error");if(e=+i[1],r=+i[2]-1,o=+i[3],!i[4])return new Date(Date.UTC(e,r,o));if(a=+i[4],s=+i[5],l=+i[6],i[7]){for(h=i[7].slice(0,3);h.length<3;)h+="0";h=+h}return i[9]&&(c=(60*+i[10]+ +(i[11]||0))*6e4,"-"===i[9]&&(c=-c)),n=new Date(Date.UTC(e,r,o,a,s,l,h)),c&&n.setTime(n.getTime()-c),n},instanceOf:Date,represent:function(t){return t.toISOString()}}),e1=new ej("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}}),e2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",e5=new ej("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var i,e,r=0,o=t.length;for(e=0;e64)){if(i<0)return!1;r+=6}return r%8==0},construct:function(t){var i,e,r=t.replace(/[\r\n=]/g,""),o=r.length,a=0,s=[];for(i=0;i>16&255),s.push(a>>8&255),s.push(255&a)),a=a<<6|e2.indexOf(r.charAt(i));return 0==(e=o%4*6)?(s.push(a>>16&255),s.push(a>>8&255),s.push(255&a)):18===e?(s.push(a>>10&255),s.push(a>>2&255)):12===e&&s.push(a>>4&255),new Uint8Array(s)},predicate:function(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)},represent:function(t){var i,e,r="",o=0,a=t.length;for(i=0;i>18&63]+e2[o>>12&63]+e2[o>>6&63]+e2[63&o]),o=(o<<8)+t[i];return 0==(e=a%3)?r+=e2[o>>18&63]+e2[o>>12&63]+e2[o>>6&63]+e2[63&o]:2===e?r+=e2[o>>10&63]+e2[o>>4&63]+e2[o<<2&63]+e2[64]:1===e&&(r+=e2[o>>2&63]+e2[o<<4&63]+e2[64]+e2[64]),r}}),e3=Object.prototype.hasOwnProperty,e6=Object.prototype.toString,e4=new ej("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var i,e,r,o,a,s=[];for(i=0,e=t.length;i1&&(t.result+=eI.repeat("\n",i-1))}function rA(t,i){var e,r,o=t.tag,a=t.anchor,s=[],l=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=s),r=t.input.charCodeAt(t.position);0!==r&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,rx(t,"tab characters must not be used in indentation")),45===r&&rd(t.input.charCodeAt(t.position+1)));){if(l=!0,t.position++,rL(t,!0,-1)&&t.lineIndent<=i){s.push(null),r=t.input.charCodeAt(t.position);continue}if(e=t.line,rZ(t,i,3,!1,!0),s.push(t.result),rL(t,!0,-1),r=t.input.charCodeAt(t.position),(t.line===e||t.lineIndent>i)&&0!==r)rx(t,"bad indentation of a sequence entry");else if(t.lineIndenti?p=1:t.lineIndent===i?p=0:t.lineIndenti?p=1:t.lineIndent===i?p=0:t.lineIndenti)&&(f&&(s=t.line,l=t.lineStart,n=t.position),rZ(t,i,4,!0,o)&&(f?C=t.result:m=t.result),f||(rF(t,u,g,p,C,m,s,l,n),p=C=m=null),rL(t,!0,-1),h=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>i)&&0!==h)rx(t,"bad indentation of a mapping entry");else if(t.lineIndent=0)0===a?rx(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):h?rx(t,"repeat of an indentation width identifier"):(c=i+a-1,h=!0);else break;if(rc(s)){do s=t.input.charCodeAt(++t.position);while(rc(s));if(35===s)do s=t.input.charCodeAt(++t.position);while(!rh(s)&&0!==s)}for(;0!==s;){for(rS(t),t.lineIndent=0,s=t.input.charCodeAt(t.position);(!h||t.lineIndentc&&(c=t.lineIndent),rh(s)){d++;continue}if(t.lineIndent0){for(o=s,a=0;o>0;o--)(s=function(t){var i;return 48<=t&&t<=57?t-48:97<=(i=32|t)&&i<=102?i-97+10:-1}(l=t.input.charCodeAt(++t.position)))>=0?a=(a<<4)+s:rx(t,"expected hexadecimal character");t.result+=(h=a)<=65535?String.fromCharCode(h):String.fromCharCode((h-65536>>10)+55296,(h-65536&1023)+56320),t.position++}else rx(t,"unknown escape sequence");e=r=t.position}else rh(l)?(rT(t,e,r,!0),r_(t,rL(t,!1,i)),e=r=t.position):t.position===t.lineStart&&rv(t)?rx(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}rx(t,"unexpected end of the stream within a double quoted scalar")}(t,u)?m=!0:function(t){var i,e,r;if(42!==(r=t.input.charCodeAt(t.position)))return!1;for(r=t.input.charCodeAt(++t.position),i=t.position;0!==r&&!rd(r)&&!ru(r);)r=t.input.charCodeAt(++t.position);return t.position===i&&rx(t,"name of an alias node must contain at least one character"),e=t.input.slice(i,t.position),re.call(t.anchorMap,e)||rx(t,'unidentified alias "'+e+'"'),t.result=t.anchorMap[e],rL(t,!0,-1),!0}(t)?(m=!0,(null!==t.tag||null!==t.anchor)&&rx(t,"alias node should not have any properties")):function(t,i,e){var r,o,a,s,l,n,h,c,d=t.kind,u=t.result;if(rd(c=t.input.charCodeAt(t.position))||ru(c)||35===c||38===c||42===c||33===c||124===c||62===c||39===c||34===c||37===c||64===c||96===c||(63===c||45===c)&&(rd(r=t.input.charCodeAt(t.position+1))||e&&ru(r)))return!1;for(t.kind="scalar",t.result="",o=a=t.position,s=!1;0!==c;){if(58===c){if(rd(r=t.input.charCodeAt(t.position+1))||e&&ru(r))break}else if(35===c){if(rd(t.input.charCodeAt(t.position-1)))break}else if(t.position===t.lineStart&&rv(t)||e&&ru(c))break;else if(rh(c)){if(l=t.line,n=t.lineStart,h=t.lineIndent,rL(t,!1,-1),t.lineIndent>=i){s=!0,c=t.input.charCodeAt(t.position);continue}t.position=a,t.line=l,t.lineStart=n,t.lineIndent=h;break}s&&(rT(t,o,a,!1),r_(t,t.line-l),o=a=t.position,s=!1),rc(c)||(a=t.position+1),c=t.input.charCodeAt(++t.position)}return rT(t,o,a,!1),!!t.result||(t.kind=d,t.result=u,!1)}(t,u,1===e)&&(m=!0,null===t.tag&&(t.tag="?")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===p&&(m=l&&rA(t,g))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&rx(t,'unacceptable node kind for ! tag; it should be "scalar", not "'+t.kind+'"'),n=0,h=t.implicitTypes.length;n"),null!==t.result&&d.kind!==t.kind&&rx(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+d.kind+'", not "'+t.kind+'"'),d.resolve(t.result,t.tag)?(t.result=d.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):rx(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||m}var rw=function(t,i){var e=function(t,i){t=String(t),i=i||{},0!==t.length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var e=new rf(t,i),r=t.indexOf("\0");for(-1!==r&&(e.position=r,rx(e,"null byte is not allowed in input")),e.input+="\0";32===e.input.charCodeAt(e.position);)e.lineIndent+=1,e.position+=1;for(;e.position0)&&37===o);){for(s=!0,o=t.input.charCodeAt(++t.position),i=t.position;0!==o&&!rd(o);)o=t.input.charCodeAt(++t.position);for(e=t.input.slice(i,t.position),r=[],e.length<1&&rx(t,"directive name must not be less than one character in length");0!==o;){for(;rc(o);)o=t.input.charCodeAt(++t.position);if(35===o){do o=t.input.charCodeAt(++t.position);while(0!==o&&!rh(o));break}if(rh(o))break;for(i=t.position;0!==o&&!rd(o);)o=t.input.charCodeAt(++t.position);r.push(t.input.slice(i,t.position))}0!==o&&rS(t),re.call(rk,e)?rk[e](t,e,r):rb(t,'unknown document directive "'+e+'"')}if(rL(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,rL(t,!0,-1)):s&&rx(t,"directives end mark is expected"),rZ(t,t.lineIndent-1,4,!1,!0),rL(t,!0,-1),t.checkLineBreaks&&ro.test(t.input.slice(a,t.position))&&rb(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&rv(t)){46===t.input.charCodeAt(t.position)&&(t.position+=3,rL(t,!0,-1));return}t.positiont.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,(t,i,e)=>"<"+i+e.replace(/="([^"]*)"/g,"='$1'")+">"),rI=t=>{let{text:i,metadata:e}=function(t){let i=t.match(tl);if(!i)return{text:t,metadata:{}};let e=rw(i[1],{schema:eJ})??{};e="object"!=typeof e||Array.isArray(e)?{}:e;let r={};return e.displayMode&&(r.displayMode=e.displayMode.toString()),e.title&&(r.title=e.title.toString()),e.config&&(r.config=e.config),{text:t.slice(i[0].length),metadata:r}}(t),{displayMode:r,title:o,config:a={}}=e;return r&&(a.gantt||(a.gantt={}),a.gantt.displayMode=r),{title:o,config:a,text:i}},rM=t=>{let i=tD.detectInit(t)??{},e=tD.detectDirective(t,"wrap");return Array.isArray(e)?i.wrap=e.some(({type:t})=>{}):(null==e?void 0:e.type)==="wrap"&&(i.wrap=!0),{text:t.replace(tn,""),directive:i}};function rE(t){let i=rI(rq(t)),e=rM(i.text),r=tW(i.config,e.directive);return{code:t=eq(e.text),title:i.title,config:r}}let rO=["foreignobject"],rz=["dominant-baseline"];function rW(t){let i=rE(t);return t1(),t0(i.config??{}),i}let rD=(t,i,e=[])=>` +.${t} ${i} { ${e.join(" !important; ")} !important; }`,rP=(t,i={})=>{var e;let r="";if(void 0!==t.themeCSS&&(r+=` +${t.themeCSS}`),void 0!==t.fontFamily&&(r+=` +:root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(r+=` +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),!(0,k.Z)(i)){let o=t.htmlLabels||(null==(e=t.flowchart)?void 0:e.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(let t in i){let e=i[t];(0,k.Z)(e.styles)||o.forEach(t=>{r+=rD(e.id,t,e.styles)}),(0,k.Z)(e.textStyles)||(r+=rD(e.id,"tspan",e.textStyles))}}return r},rj=(t,i,e,r)=>{let o=iG(i,rP(t,e),t.themeVariables);return(0,x.q)((0,b.MY)(`${r}{${o}}`),x.P)},r$=(t="",i,e)=>{let r=t;return e||i||(r=r.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),r=(r=tj(r)).replace(/
/g,"
")},rN=(t="",i)=>{var e,r;let o=(null==(r=null==(e=null==i?void 0:i.viewBox)?void 0:e.baseVal)?void 0:r.height)?i.viewBox.baseVal.height+"px":"100%",a=btoa(''+t+"");return``},rR=(t,i,e,r,o)=>{let a=t.append("div");a.attr("id",e),r&&a.attr("style",r);let s=a.append("svg").attr("id",i).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return o&&s.attr("xmlns:xlink",o),s.append("g"),t};function rY(t,i){return t.append("iframe").attr("id",i).attr("style","width: 100%; height: 100%;").attr("sandbox","")}let rH=(t,i,e,r)=>{var o,a,s;null==(o=t.getElementById(i))||o.remove(),null==(a=t.getElementById(e))||a.remove(),null==(s=t.getElementById(r))||s.remove()},rV=(t,i={})=>{let{code:e}=rE(t);return eA(e,i)},rU=Object.freeze({render:async function(t,i,e){var r,o,a,s,l,n,d,u,g,p;let C,m;ev();let f=rW(i);i=f.code;let y=tK();B.debug(y),i.length>((null==y?void 0:y.maxTextSize)??5e4)&&(i="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");let x="#"+t,b="i"+t,k="d"+t,T="#"+k,F=(0,h.Ys)("body"),S="sandbox"===y.securityLevel,L="loose"===y.securityLevel,v=y.fontFamily;if(void 0!==e){if(e&&(e.innerHTML=""),S){let t=rY((0,h.Ys)(e),b);(F=(0,h.Ys)(t.nodes()[0].contentDocument.body)).node().style.margin=0}else F=(0,h.Ys)(e);rR(F,t,k,`font-family: ${v}`,"http://www.w3.org/1999/xlink")}else{if(rH(document,t,k,b),S){let t=rY((0,h.Ys)("body"),b);(F=(0,h.Ys)(t.nodes()[0].contentDocument.body)).node().style.margin=0}else F=(0,h.Ys)("body");rR(F,t,k)}try{C=await rV(i,{title:f.title})}catch(t){C=new e_("error"),m=t}let _=F.select(T).node(),A=C.type,Z=_.firstChild,w=Z.firstChild,q=rj(y,A,null==(o=(r=C.renderer).getClasses)?void 0:o.call(r,i,C),x),M=document.createElement("style");M.innerHTML=q,Z.insertBefore(M,w);try{await C.renderer.draw(i,t,t$,C)}catch(e){throw eh.draw(i,t,t$),e}let E=F.select(`${T} svg`);d=A,u=E,g=null==(s=(a=C.db).getAccTitle)?void 0:s.call(a),p=null==(n=(l=C.db).getAccDescription)?void 0:n.call(l),u.attr("role","graphics-document document"),""!==d&&u.attr("aria-roledescription",d),function(t,i,e,r){if(void 0!==t.insert){if(e){let i=`chart-desc-${r}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(e)}if(i){let e=`chart-title-${r}`;t.attr("aria-labelledby",e),t.insert("title",":first-child").attr("id",e).text(i)}}}(u,g,p,u.attr("id")),F.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let O=F.select(T).node().innerHTML;if(B.debug("config.arrowMarkerAbsolute",y.arrowMarkerAbsolute),O=r$(O,S,I(y.arrowMarkerAbsolute)),S?O=rN(O,F.select(T+" svg").node()):L||(O=c.sanitize(O,{ADD_TAGS:rO,ADD_ATTR:rz})),ew(),m)throw m;let z=S?"#"+b:T,W=(0,h.Ys)(z).node();return W&&"remove"in W&&W.remove(),{svg:O,bindFunctions:C.db.bindFunctions}},parse:async function(t,i){ev(),t=rW(t).code;try{await rV(t)}catch(t){if(null==i?void 0:i.suppressErrors)return!1;throw t}return!0},getDiagramFromText:rV,initialize:function(t={}){var i;(null==t?void 0:t.fontFamily)&&!(null==(i=t.themeVariables)?void 0:i.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),tG(t),(null==t?void 0:t.theme)&&t.theme in Q?t.themeVariables=Q[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=Q.default.getThemeVariables(t.themeVariables)),F(("object"==typeof t?tU(t):tX()).logLevel),ev()},getConfig:tK,setConfig:tJ,getSiteConfig:tX,updateSiteConfig:t=>(tR=tf(tR,t),tV(tR,tY),tR),reset:()=>{t1()},globalReset:()=>{t1(tN)},defaultConfig:tN});F(tK().logLevel),t1(tK());let rG=async()=>{B.debug("Loading registered diagrams");let t=(await Promise.allSettled(Object.entries(td).map(async([t,{detector:i,loader:e}])=>{if(e)try{es(t)}catch(r){try{let{diagram:t,id:r}=await e();ea(r,t,i)}catch(i){throw B.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete td[t],i}}}))).filter(t=>"rejected"===t.status);if(t.length>0){for(let i of(B.error(`Failed to load ${t.length} external diagrams`),t))B.error(i);throw Error(`Failed to load ${t.length} external diagrams`)}},rX=(t,i,e)=>{(B.warn(t),"str"in t)?(e&&e(t.str,t.hash),i.push({...t,message:t.str,error:t})):(e&&e(t),t instanceof Error&&i.push({str:t.message,message:t.message,hash:t.name,error:t}))},rJ=async function(t={querySelector:".mermaid"}){try{await rK(t)}catch(i){if("str"in i&&B.error(i.str),r7.parseError&&r7.parseError(i),!t.suppressErrors)throw B.error("Use the suppressErrors option to suppress these errors"),i}},rK=async function({postRenderCallback:t,querySelector:i,nodes:e}={querySelector:".mermaid"}){let r,o;let a=rU.getConfig();if(B.debug(`${t?"":"No "}Callback function found`),e)r=e;else if(i)r=document.querySelectorAll(i);else throw Error("Nodes and querySelector are both undefined");B.debug(`Found ${r.length} diagrams`),(null==a?void 0:a.startOnLoad)!==void 0&&(B.debug("Start On Load: "+(null==a?void 0:a.startOnLoad)),rU.updateSiteConfig({startOnLoad:null==a?void 0:a.startOnLoad}));let l=new tD.InitIDGenerator(a.deterministicIds,a.deterministicIDSeed),n=[];for(let i of Array.from(r)){/*! Check if previously processed */if(B.info("Rendering diagram: "+i.id),i.getAttribute("data-processed"))continue;i.setAttribute("data-processed","true");let e=`mermaid-${l.next()}`;o=i.innerHTML,o=(0,s.Z)(tD.entityDecode(o)).trim().replace(//gi,"
");let r=tD.detectInit(o);r&&B.debug("Detected early reinit: ",r);try{let{svg:r,bindFunctions:a}=await r8(e,o,i);i.innerHTML=r,t&&await t(e),a&&a(i)}catch(t){rX(t,n,r7.parseError)}}if(n.length>0)throw n[0]},rQ=function(t){rU.initialize(t)},r0=async function(t,i,e){B.warn("mermaid.init is deprecated. Please use run instead."),t&&rQ(t);let r={postRenderCallback:e,querySelector:".mermaid"};"string"==typeof i?r.querySelector=i:i&&(i instanceof HTMLElement?r.nodes=[i]:r.nodes=i),await rJ(r)},r1=async(t,{lazyLoad:i=!0}={})=>{tg(...t),!1===i&&await rG()},r2=function(){if(r7.startOnLoad){let{startOnLoad:t}=rU.getConfig();t&&r7.run().catch(t=>B.error("Mermaid failed to initialize",t))}};"undefined"!=typeof document&&/*! + * Wait for document loaded before starting the execution + */window.addEventListener("load",r2,!1);let r5=[],r3=!1,r6=async()=>{if(!r3){for(r3=!0;r5.length>0;){let t=r5.shift();if(t)try{await t()}catch(t){B.error("Error executing queue",t)}}r3=!1}},r4=async(t,i)=>new Promise((e,r)=>{r5.push(()=>new Promise((o,a)=>{rU.parse(t,i).then(t=>{o(t),e(t)},t=>{var i;B.error("Error parsing",t),null==(i=r7.parseError)||i.call(r7,t),a(t),r(t)})})),r6().catch(r)}),r8=(t,i,e)=>new Promise((r,o)=>{r5.push(()=>new Promise((a,s)=>{rU.render(t,i,e).then(t=>{a(t),r(t)},t=>{var i;B.error("Error parsing",t),null==(i=r7.parseError)||i.call(r7,t),s(t),o(t)})})),r6().catch(o)}),r7={startOnLoad:!0,mermaidAPI:rU,parse:r4,render:r8,init:r0,run:rJ,registerExternalDiagrams:r1,initialize:rQ,parseError:void 0,contentLoaded:r2,setParseErrorHandler:function(t){r7.parseError=t},detectType:tu}}}]); \ No newline at end of file diff --git a/_next/static/chunks/90912e1b.cfd157b7f256fb3b.js b/_next/static/chunks/90912e1b.cfd157b7f256fb3b.js new file mode 100644 index 0000000..0dd76c1 --- /dev/null +++ b/_next/static/chunks/90912e1b.cfd157b7f256fb3b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9209],{1387:function(e,t,n){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function a(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);nt?1:0},K=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n1&&(n-=1),n<1/6)?e+(t-e)*6*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var n,r,i,a,o,s,l,u,c=RegExp("^"+H+"$").exec(e);if(c){if((r=parseInt(c[1]))<0?r=(360- -1*r%360)%360:r>360&&(r%=360),r/=360,(i=parseFloat(c[2]))<0||i>100||(i/=100,(a=parseFloat(c[3]))<0||a>100)||(a/=100,void 0!==(o=c[4])&&((o=parseFloat(o))<0||o>1)))return;if(0===i)s=l=u=Math.round(255*a);else{var d=a<.5?a*(1+i):a+i-a*i,h=2*a-d;s=Math.round(255*t(h,d,r+1/3)),l=Math.round(255*t(h,d,r)),u=Math.round(255*t(h,d,r-1/3))}n=[s,l,u,o]}return n},Q=function(e){var t,n=RegExp("^"+Y+"$").exec(e);if(n){t=[];for(var r=[],i=1;i<=3;i++){var a=n[i];if("%"===a[a.length-1]&&(r[i]=!0),a=parseFloat(a),r[i]&&(a=a/100*255),a<0||a>255)return;t.push(Math.floor(a))}var o=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var l=n[4];if(void 0!==l){if((l=parseFloat(l))<0||l>1)return;t.push(l)}}return t},J={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},ee=function(e){for(var t=e.map,n=e.keys,r=n.length,i=0;i=t||n<0||d&&r>=a}function g(){var e,n,r,i=es();if(f(i))return v(i);s=setTimeout(g,(e=i-l,n=i-u,r=t-e,d?eP(r,a-n):r))}function v(e){return(s=void 0,h&&r)?p(e):(r=i=void 0,o)}function y(){var e,n=es(),a=f(n);if(r=arguments,i=this,l=n,a){if(void 0===s)return u=e=l,s=setTimeout(g,t),c?p(e):o;if(d)return clearTimeout(s),s=setTimeout(g,t),p(l)}return void 0===s&&(s=setTimeout(g,t)),o}return t=eD(t)||0,en(n)&&(c=!!n.leading,a=(d="maxWait"in n)?eT(eD(n.maxWait)||0,t):a,h="trailing"in n?!!n.trailing:h),y.cancel=function(){void 0!==s&&clearTimeout(s),u=0,r=l=i=s=void 0},y.flush=function(){return void 0===s?o:v(es())},y},eM=y?y.performance:null,eB=eM&&eM.now?function(){return eM.now()}:function(){return Date.now()},eA=function(){if(y){if(y.requestAnimationFrame)return function(e){y.requestAnimationFrame(e)};if(y.mozRequestAnimationFrame)return function(e){y.mozRequestAnimationFrame(e)};if(y.webkitRequestAnimationFrame)return function(e){y.webkitRequestAnimationFrame(e)};if(y.msRequestAnimationFrame)return function(e){y.msRequestAnimationFrame(e)}}return function(e){e&&setTimeout(function(){e(eB())},1e3/60)}}(),eN=function(e){return eA(e)},eI=function(e){for(var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261,r=n;!(t=e.next()).done;)r=65599*r+t.value|0;return r},eO=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261;return 65599*t+e|0},eL=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5381;return(t<<5)+t+e|0},eR=function(e){return 2097152*e[0]+e[1]},ez=function(e,t){return[eO(e[0],t[0]),eL(e[1],t[1])]},eV=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return eI({next:function(){return r=0&&(e[r]!==t||(e.splice(r,1),!n));r--);},e9=function(e){e.splice(0,e.length)},e6=function(e,t){for(var n=0;n2)||void 0===arguments[2]||arguments[2];if(void 0===e||void 0===t||!I(e)){e$("An element must have a core reference and parameters set");return}var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"!==r&&"edges"!==r){e$("An element must be of type `nodes` or `edges`; you specified `"+r+"`");return}this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new tr,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),t.renderedPosition){var a=t.renderedPosition,o=e.pan(),s=e.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var l=[];T(t.classes)?l=t.classes:S(t.classes)&&(l=t.classes.split(/\s+/));for(var u=0,c=l.length;ut?1:0},u=function(e,t,i,a,o){var s;if(null==i&&(i=0),null==o&&(o=n),i<0)throw Error("lo must be non-negative");for(null==a&&(a=e.length);io(t,e[s=r((i+a)/2)])?a=s:i=s+1;return[].splice.apply(e,[i,i-i].concat(t)),t},o=function(e,t,r){return null==r&&(r=n),e.push(t),f(e,0,e.length-1,r)},a=function(e,t){var r,i;return null==t&&(t=n),r=e.pop(),e.length?(i=e[0],e[0]=r,g(e,0,t)):i=r,i},l=function(e,t,r){var i;return null==r&&(r=n),i=e[0],e[0]=t,g(e,0,r),i},s=function(e,t,r){var i;return null==r&&(r=n),e.length&&0>r(e[0],t)&&(t=(i=[e[0],t])[0],e[0]=i[1],g(e,0,r)),t},i=function(e,t){var i,a,o,s,l,u;for(null==t&&(t=n),s=(function(){u=[];for(var t=0,n=r(e.length/2);0<=n?tn;0<=n?t++:t--)u.push(t);return u}).apply(this).reverse(),l=[],a=0,o=s.length;ar(o=f[d],s)&&(u(l,o,0,null,r),l.pop(),s=l[l.length-1]);return l}for(i(e,r),v=[],h=0,g=c(t,e.length);0<=g?hg;0<=g?++h:--h)v.push(a(e,r));return v},f=function(e,t,r,i){var a,o,s;for(null==i&&(i=n),a=e[r];r>t;){if(0>i(a,o=e[s=r-1>>1])){e[r]=o,r=s;continue}break}return e[r]=a},g=function(e,t,r){var i,a,o,s,l;for(null==r&&(r=n),a=e.length,l=t,o=e[t],i=2*t+1;ir(e[i],e[s]))&&(i=s),e[t]=e[i],i=2*(t=i)+1;return e[t]=o,f(e,l,t,r)},t=function(){function e(e){this.cmp=null!=e?e:n,this.nodes=[]}return e.push=o,e.pop=a,e.replace=l,e.pushpop=s,e.heapify=i,e.updateItem=p,e.nlargest=d,e.nsmallest=h,e.prototype.push=function(e){return o(this.nodes,e,this.cmp)},e.prototype.pop=function(){return a(this.nodes,this.cmp)},e.prototype.peek=function(){return this.nodes[0]},e.prototype.contains=function(e){return -1!==this.nodes.indexOf(e)},e.prototype.replace=function(e){return l(this.nodes,e,this.cmp)},e.prototype.pushpop=function(e){return s(this.nodes,e,this.cmp)},e.prototype.heapify=function(){return i(this.nodes,this.cmp)},e.prototype.updateItem=function(e){return p(this.nodes,e,this.cmp)},e.prototype.clear=function(){return this.nodes=[]},e.prototype.empty=function(){return 0===this.nodes.length},e.prototype.size=function(){return this.nodes.length},e.prototype.clone=function(){var t;return(t=new e).nodes=this.nodes.slice(0),t},e.prototype.toArray=function(){return this.nodes.slice(0)},e.prototype.insert=e.prototype.push,e.prototype.top=e.prototype.peek,e.prototype.front=e.prototype.peek,e.prototype.has=e.prototype.contains,e.prototype.copy=e.prototype.clone,e}(),v=function(){return t},e.exports=v()}).call(er)}(oF={exports:{}},oF.exports),oF.exports),tl=e3({root:null,weight:function(e){return 1},directed:!1}),tu=e3({root:null,goal:null,weight:function(e){return 1},heuristic:function(e){return 0},directed:!1}),tc=e3({weight:function(e){return 1},directed:!1}),td=e3({weight:function(e){return 1},directed:!1,root:null}),th=Math.sqrt(2),tp=function(e,t,n){0===n.length&&e$("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],i=r[1],a=r[2],o=t[i],s=t[a],l=n.length-1;l>=0;l--){var u=n[l],c=u[1],d=u[2];(t[c]===o&&t[d]===s||t[c]===s&&t[d]===o)&&n.splice(l,1)}for(var h=0;hr;)t=tp(Math.floor(Math.random()*t.length),e,t),n--;return t},tg=function(e,t,n){return{x:e.x*t+n.x,y:e.y*t+n.y}},tv=function(e,t,n){return{x:(e.x-n.x)/t,y:(e.y-n.y)/t}},ty=function(e){return{x:e[0],y:e[1]}},tm=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,i=0,a=t;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],a=!(arguments.length>5)||void 0===arguments[5]||arguments[5];r?e=e.slice(t,n):(n0&&e.splice(0,t));for(var o=0,s=e.length-1;s>=0;s--){var l=e[s];a?!isFinite(l)&&(e[s]=-1/0,o++):e.splice(s,1)}i&&e.sort(function(e,t){return e-t});var u=e.length,c=Math.floor(u/2);return u%2!=0?e[c+1+o]:(e[c-1+o]+e[c+o])/2},tE=function(e,t){return Math.atan2(t,e)-Math.PI/2},tk=Math.log2||function(e){return Math.log(e)/Math.log(2)},tC=function(e){return e>0?1:e<0?-1:0},tS=function(e,t){return Math.sqrt(tD(e,t))},tD=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},tT=function(e){for(var t=e.length,n=0,r=0;r=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},tN=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},tI=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},tO=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},tL=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},tR=function(e){var t,n,r,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)t=n=r=i=a[0];else if(2===a.length)t=r=a[0],i=n=a[1];else if(4===a.length){var o=l(a,4);t=o[0],n=o[1],r=o[2],i=o[3]}return e.x1-=i,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},tz=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},tV=function(e,t){return!(e.x1>t.x2)&&!(t.x1>e.x2)&&!(e.x2t.y2)&&!(t.y1>e.y2)},tF=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},tj=function(e,t){return tF(e,t.x1,t.y1)&&tF(e,t.x2,t.y2)},tq=function(e,t,n,r,i,a,o){var s,l,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"auto",c="auto"===u?ne(i,a):u,d=i/2,h=a/2,p=(c=Math.min(c,d,h))!==d,f=c!==h;if(p){var g=n-d+c-o,v=r-h-o,y=n+d-c+o;if((s=t5(e,t,n,r,g,v,y,v,!1)).length>0)return s}if(f){var b=n+d+o,x=r-h+c-o,w=r+h-c+o;if((s=t5(e,t,n,r,b,x,b,w,!1)).length>0)return s}if(p){var E=n-d+c-o,k=r+h+o,C=n+d-c+o;if((s=t5(e,t,n,r,E,k,C,k,!1)).length>0)return s}if(f){var S=n-d-o,D=r-h+c-o,T=r+h-c+o;if((s=t5(e,t,n,r,S,D,S,T,!1)).length>0)return s}var P=n-d+c,_=r-h+c;if((l=t1(e,t,n,r,P,_,c+o)).length>0&&l[0]<=P&&l[1]<=_)return[l[0],l[1]];var M=n+d-c,B=r-h+c;if((l=t1(e,t,n,r,M,B,c+o)).length>0&&l[0]>=M&&l[1]<=B)return[l[0],l[1]];var A=n+d-c,N=r+h-c;if((l=t1(e,t,n,r,A,N,c+o)).length>0&&l[0]>=A&&l[1]>=N)return[l[0],l[1]];var I=n-d+c,O=r+h-c;return(l=t1(e,t,n,r,I,O,c+o)).length>0&&l[0]<=I&&l[1]>=O?[l[0],l[1]]:[]},tX=function(e,t,n,r,i,a,o,s,l){var u={x1:Math.min(n,o,i)-l,x2:Math.max(n,o,i)+l,y1:Math.min(r,s,a)-l,y2:Math.max(r,s,a)+l};return!(eu.x2)&&!(tu.y2)},tY=function(e,t,n,r){var i=t*t-4*e*(n-=r);if(i<0)return[];var a=Math.sqrt(i),o=2*e;return[(-t+a)/o,(-t-a)/o]},tW=function(e,t,n,r,i){var a,o,s,l,u,c,d,h;if(0===e&&(e=1e-5),t/=e,n/=e,r/=e,a=(o=(3*n-t*t)/9)*o*o+(s=(-(27*r)+t*(9*n-t*t*2))/54)*s,i[1]=0,d=t/3,a>0){u=(u=s+Math.sqrt(a))<0?-Math.pow(-u,1/3):Math.pow(u,1/3),c=(c=s-Math.sqrt(a))<0?-Math.pow(-c,1/3):Math.pow(c,1/3),i[0]=-d+u+c,d+=(u+c)/2,i[4]=i[2]=-d,d=Math.sqrt(3)*(-c+u)/2,i[3]=d,i[5]=-d;return}if(i[5]=i[3]=0,0===a){h=s<0?-Math.pow(-s,1/3):Math.pow(s,1/3),i[0]=-d+2*h,i[4]=i[2]=-(h+d);return}l=Math.acos(s/Math.sqrt(l=(o=-o)*o*o)),h=2*Math.sqrt(o),i[0]=-d+h*Math.cos(l/3),i[2]=-d+h*Math.cos((l+2*Math.PI)/3),i[4]=-d+h*Math.cos((l+4*Math.PI)/3)},tH=function(e,t,n,r,i,a,o,s){var l,u=[];tW(1*n*n-4*n*i+2*n*o+4*i*i-4*i*o+o*o+r*r-4*r*a+2*r*s+4*a*a-4*a*s+s*s,9*n*i-3*n*n-3*n*o-6*i*i+3*i*o+9*r*a-3*r*r-3*r*s-6*a*a+3*a*s,3*n*n-6*n*i+n*o-n*e+2*i*i+2*i*e-o*e+3*r*r-6*r*a+r*s-r*t+2*a*a+2*a*t-s*t,1*n*i-n*n+n*e-i*e+r*a-r*r+r*t-a*t,u);for(var c=[],d=0;d<6;d+=2)1e-7>Math.abs(u[d+1])&&u[d]>=0&&u[d]<=1&&c.push(u[d]);c.push(1),c.push(0);for(var h=-1,p=0;p=0?ll?(e-i)*(e-i)+(t-a)*(t-a):u-d},tU=function(e,t,n){for(var r,i,a,o,s=0,l=0;l=e)||!(e>=a))&&(!(r<=e)||!(e<=a)))continue;(e-r)/(a-r)*(o-i)+i>t&&s++}return s%2!=0},tK=function(e,t,n,r,i,a,o,s,l){var u,c=Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var d=Math.cos(-u),h=Math.sin(-u),p=0;p0?t$(tQ(c,-l)):c)},tZ=function(e,t,n,r,i,a,o,s){for(var l=Array(2*n.length),u=0;u=0&&f<=1&&v.push(f),g>=0&&g<=1&&v.push(g),0===v.length)return[];var y=v[0]*s[0]+e,b=v[0]*s[1]+t;return v.length>1?v[0]==v[1]?[y,b]:[y,b,v[1]*s[0]+e,v[1]*s[1]+t]:[y,b]},t2=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},t5=function(e,t,n,r,i,a,o,s,l){var u=e-i,c=n-e,d=o-i,h=t-a,p=r-t,f=s-a,g=d*h-f*u,v=c*h-p*u,y=f*c-d*p;if(0!==y){var b=g/y,x=v/y;return -.001<=b&&b<=1.001&&-.001<=x&&x<=1.001?[e+b*c,t+b*p]:l?[e+b*c,t+b*p]:[]}return 0!==g&&0!==v?[]:t2(e,n,o)===o?[o,s]:t2(e,n,i)===i?[i,a]:t2(i,o,n)===n?[n,r]:[]},t3=function(e,t,n,r,i,a,o,s){var l,u,c,d,h,p,f=[],g=Array(n.length),v=!0;if(null==a&&(v=!1),v){for(var y=0;y0?t$(tQ(g,-s)):g}else u=n;for(var b=0;b2){for(var p=[c[0],c[1]],f=Math.pow(p[0]-e,2)+Math.pow(p[1]-t,2),g=1;gu&&(u=t)},get:function(e){return l[e]}},d=0;d0?b.edgesTo(y)[0]:y.edgesTo(b)[0]);d[y=y.id()]>d[g]+x&&(d[y]=d[g]+x,0>h.nodes.indexOf(y)?h.push(y):h.updateItem(y),u[y]=0,l[y]=[]),d[y]==d[g]+x&&(u[y]=u[y]+u[g],l[y].push(g))}else for(var w=0;w0;){for(var S=n.pop(),D=0;D0&&o.push(n[s]);0!==o.length&&i.push(r.collection(o))}return i},nx=function(e,t){for(var n=0;n5&&void 0!==arguments[5]?arguments[5]:nk,o=r,s=0;s=2?n_(e,t,n,0,nD,nT):n_(e,t,n,0,nS)},squaredEuclidean:function(e,t,n){return n_(e,t,n,0,nD)},manhattan:function(e,t,n){return n_(e,t,n,0,nS)},max:function(e,t,n){return n_(e,t,n,-1/0,nP)}};function nB(e,t,n,r,i,a){var o;return(o=D(e)?e:nM[e]||nM.euclidean,0===t&&D(e))?o(i,a):o(t,n,r,i,a)}nM["squared-euclidean"]=nM.squaredEuclidean,nM.squaredeuclidean=nM.squaredEuclidean;var nA=e3({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),nN=function(e){return nA(e)},nI=function(e,t,n,r,i){var a="kMedoids"!==i?function(e){return n[e]}:function(e){return r[e](n)};return nB(e,r.length,a,function(e){return r[e](t)},n,t)},nO=function(e,t,n){for(var r=n.length,i=Array(r),a=Array(r),o=Array(t),s=null,l=0;ln)return!1;return!0},nV=function(e,t,n){for(var r=0;ri&&(i=t[l][u],a=u);o[a].push(e[l])}for(var c=0;c=i.threshold||"dendrogram"===i.mode&&1===e.length)return!1;var f=t[s],g=t[r[s]];o="dendrogram"===i.mode?{left:f,right:g,key:f.key}:{value:f.value.concat(g.value),key:f.key},e[f.index]=o,e.splice(g.index,1),t[f.key]=o;for(var v=0;vn[g.key][y.key]&&(a=n[g.key][y.key])):"max"===i.linkage?(a=n[f.key][y.key],n[f.key][y.key]0&&r.push(i);return r},n3=function(e,t,n){for(var r=[],i=0;io&&(a=l,o=t[i*e+l])}a>0&&r.push(a)}for(var u=0;ul&&(s=u,l=c)}n[i]=a[s]}return n3(e,t,n)},n9=function(e){for(var t,n,r,i,a,o,s,l,u,c=this.cy(),d=this.nodes(),h=n1(e),p={},f=0;f=_?(M=_,_=A,B=N):A>M&&(M=A);for(var I=0;I0?1:0;D[u%h.minIterations*r+F]=j,V+=j}if(V>0&&(u>=h.minIterations-1||u==h.maxIterations-1)){for(var q=0,X=0;X1)}});var u=Object.keys(t).filter(function(e){return t[e].cutVertex}).map(function(t){return e.getElementById(t)});return{cut:e.spawn(u),components:i}},n7=function(){var e=this,t={},n=0,r=[],i=[],a=e.spawn(e),o=function o(s){if(i.push(s),t[s]={index:n,low:n++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach(function(e){var n=e.target().id();n===s||(n in t||o(n),t[n].explored||(t[s].low=Math.min(t[s].low,t[n].low)))}),t[s].index===t[s].low){for(var l=e.spawn();;){var u=i.pop();if(l.merge(e.getElementById(u)),t[u].low=t[s].index,t[u].explored=!0,u===s)break}var c=l.edgesWith(l),d=l.merge(c);r.push(d),a=a.difference(d)}};return e.forEach(function(e){if(e.isNode()){var n=e.id();n in t||o(n)}}),{cut:a,components:r}},re={};[to,{dijkstra:function(e){if(!P(e)){var t=arguments;e={root:t[0],weight:t[1],directed:t[2]}}var n=tl(e),r=n.root,i=n.weight,a=n.directed,o=this,s=S(r)?this.filter(r)[0]:r[0],l={},u={},c={},d=this.byGroup(),h=d.nodes,p=d.edges;p.unmergeBy(function(e){return e.isLoop()});for(var f=function(e){return l[e.id()]},g=new ts(function(e,t){return f(e)-f(t)}),v=0;v0;){var b=g.pop(),x=f(b);if(c[b.id()]=x,x!==1/0)for(var w=b.neighborhood().intersect(h),E=0;E0)for(n.unshift(t);u[i];){var a=u[i];n.unshift(a.edge),n.unshift(a.node),i=(r=a.node).id()}return o.spawn(n)}}}},{kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,i=n.length,a=Array(i),o=function(e){for(var t=0;t0;){if(n=(t=g.pop()).id(),v.delete(n),w++,n===d){for(var E=[],k=o,C=d,S=b[C];E.unshift(k),null!=S&&E.unshift(S),null!=(k=y[C]);)S=b[C=k.id()];return{found:!0,distance:h[n],path:this.spawn(E),steps:w}}f[n]=!0;for(var D=t._private.edges,T=0;TD&&(h[C]=D,g[C]=k,v[C]=b),!i){var T=k*l+E;!i&&h[T]>D&&(h[T]=D,g[T]=E,v[T]=b)}}}for(var P=0;P1&&void 0!==arguments[1]?arguments[1]:a,r=y(e),i=[],s=r;;){if(null==s)return t.spawn();var l=v(s),u=l.edge,c=l.pred;if(i.unshift(s[0]),s.same(n)&&i.length>0)break;null!=u&&i.unshift(u),s=c}return o.spawn(i)},hasNegativeWeightCycle:p,negativeWeightCycles:f}}},{kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy(function(e){return e.isLoop()});var i=n.length,a=r.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/th);if(i<2){e$("At least 2 nodes are required for Karger-Stein algorithm");return}for(var l=[],u=0;u1||o>1)&&(l=!0),u[r]=[],e.outgoers().forEach(function(e){e.isEdge()&&u[r].push(e.id())})}else c[r]=[void 0,e.target().id()]}):this.forEach(function(e){var r=e.id();e.isNode()?(e.degree(!0)%2&&(t?n?l=!0:n=r:t=r),u[r]=[],e.connectedEdges().forEach(function(e){return u[r].push(e.id())})):c[r]=[e.source().id(),e.target().id()]});var d={found:!1,trail:void 0};if(l)return d;if(n&&t){if(s){if(r&&n!=r)return d;r=n}else{if(r&&n!=r&&t!=r)return d;r||(r=n)}}else r||(r=this[0].id());var h=function(e){for(var t,n,r,i=e,a=[e];u[i].length;)n=c[t=u[i].shift()][0],i!=(r=c[t][1])?(u[r]=u[r].filter(function(e){return e!=t}),i=r):s||i==n||(u[n]=u[n].filter(function(e){return e!=t}),i=n),a.unshift(t),a.unshift(i);return a},p=[],f=[];for(f=h(r);1!=f.length;)0==u[f[0]].length?(p.unshift(this.getElementById(f.shift())),p.unshift(this.getElementById(f.shift()))):f=h(f.shift()).concat(f);for(var g in p.unshift(this.getElementById(f.shift())),u)if(u[g].length)return d;return d.found=!0,d.trail=this.spawn(p,!0),d}},{hopcroftTarjanBiconnected:n8,htbc:n8,htb:n8,hopcroftTarjanBiconnectedComponents:n8},{tarjanStronglyConnected:n7,tsc:n7,tscc:n7,tarjanStronglyConnectedComponents:n7}].forEach(function(e){K(re,e)});var rt=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};rt.prototype={fulfill:function(e){return rn(this,1,"fulfillValue",e)},reject:function(e){return rn(this,2,"rejectReason",e)},then:function(e,t){var n=new rt;return this.onFulfilled.push(ra(e,n,"fulfill")),this.onRejected.push(ra(t,n,"reject")),rr(this),n.proxy}};var rn=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,rr(e)),e},rr=function(e){1===e.state?ri(e,"onFulfilled",e.fulfillValue):2===e.state&&ri(e,"onRejected",e.rejectReason)},ri=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var i=function(){for(var e=0;e-1},rA.prototype.set=function(e,t){var n=this.__data__,r=rM(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};var rN=rC(eo,"Map"),rI=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e},rO=function(e,t){var n=e.__data__;return rI(t)?n["string"==typeof t?"string":"hash"]:n.map};function rL(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e0}},clearQueue:function(){return function(){var e=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;for(var t=0;t0&&this.spawn(n).updateStyle().emit("class"),this},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){T(e)||(e=e.match(/\S+/g)||[]);for(var n=void 0===t,r=[],i=0,a=this.length;i0&&this.spawn(r).updateStyle().emit("class"),this},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},t),n}};r8.className=r8.classNames=r8.classes;var r7={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:X,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};r7.variable="(?:[\\w-.]|(?:\\\\"+r7.metaChar+"))+",r7.className="(?:[\\w-]|(?:\\\\"+r7.metaChar+"))+",r7.value=r7.string+"|"+r7.number,r7.id=r7.variable,function(){var e,t,n;for(n=0,e=r7.comparatorOp.split("|");n=0||"="===t||(r7.comparatorOp+="|\\!"+t)}();var ie=function(){return{checks:[]}},it={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},ir=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(e,t){return -1*U(e.selector,t.selector)}),ii=function(){for(var e,t={},n=0;n=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),u=!0),(o||l||u)&&(i=o||s?""+e:"",a=""+n),u&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":d=!0,r=e>n;break;case">=":d=!0,r=e>=n;break;case"<":d=!0,r=e0&&l.edgeCount>0)return eJ("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return eJ("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&eJ("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return S(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(r,a){var o=r.type,s=r.value;switch(o){case it.GROUP:var l=e(s);return l.substring(0,l.length-1);case it.DATA_COMPARE:return"["+r.field+n(e(r.operator))+t(s)+"]";case it.DATA_BOOL:var u=r.operator,c=r.field;return"["+e(u)+c+"]";case it.DATA_EXIST:return"["+r.field+"]";case it.META_COMPARE:var d=r.operator;return"[["+r.field+n(e(d))+t(s)+"]]";case it.STATE:return s;case it.ID:return"#"+s;case it.CLASS:return"."+s;case it.PARENT:case it.CHILD:return i(r.parent,a)+n(">")+i(r.child,a);case it.ANCESTOR:case it.DESCENDANT:return i(r.ancestor,a)+" "+i(r.descendant,a);case it.COMPOUND_SPLIT:var h=i(r.left,a),p=i(r.subject,a),f=i(r.right,a);return h+(h.length>0?" ":"")+p+f;case it.TRUE:return""}},i=function(e,t){return e.checks.reduce(function(n,i,a){return n+(t===e&&0===a?"$":"")+r(i,t)},"")},a="",o=0;o1&&o0;){var u=i.shift();t(u),a.add(u.id()),o&&r(i,a,u)}return e}function ik(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i1)||void 0===arguments[1]||arguments[1];return iE(this,e,t,ik)},iw.forEachUp=function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return iE(this,e,t,iC)},iw.forEachUpAndDown=function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return iE(this,e,t,iS)},iw.ancestors=iw.parents,(oW=oH={data:r9.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:r9.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:r9.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:r9.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:r9.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:r9.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=oW.data,oW.removeAttr=oW.removeData;var iD={};function iT(e){return function(t){if(void 0===t&&(t=!0),0!==this.length&&!(!this.isNode()||this.removed())){for(var n=0,r=this[0],i=r._private.edges,a=0;at}),minIndegree:iP("indegree",function(e,t){return et}),minOutdegree:iP("outdegree",function(e,t){return et})}),K(iD,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r0;c&&(u=u[0]);var d=c?u.position():{x:0,y:0};void 0!==t?l.position(e,t+d[e]):void 0!==i&&l.position({x:i.x+d.x,y:i.y+d.y})}else{var h=n.position(),p=o?n.parent():null,f=p&&p.length>0;f&&(p=p[0]);var g=f?p.position():{x:0,y:0};return(i={x:h.x-g.x,y:h.y-g.y},void 0===e)?i:i[e]}}else if(!a)return;return this}}).modelPosition=oG.point=oG.position,oG.modelPositions=oG.points=oG.positions,oG.renderedPoint=oG.renderedPosition,oG.relativePoint=oG.relativePosition,oK=oZ={},oZ.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,s=t.y1*r+i.y,l=t.y2*r+i.y;return{x1:a,x2:o,y1:s,y2:l,w:o-a,h:l-s}},oZ.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()&&this.forEachUp(function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}}),this},oZ.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes()||!e&&t.batching())return this;for(var n=0;n0&&(s=100*s/i.width.val);var l=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(l=100*l/i.width.val);var u=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(u=100*u/i.height.val);var c=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(c=100*c/i.height.val);var d=y(i.width.val-a.w,s,l),h=d.biasDiff,p=d.biasComplementDiff,f=y(i.height.val-a.h,u,c),g=f.biasDiff,v=f.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"===n.units)switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}else if("px"===n.units)return n.pfValue;else return 0}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-h+a.x1+a.x2+p)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-g+a.y1+a.y2+v)/2}function y(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}}(r),t.batching()||(i.compoundBoundsClean=!0))}return this};var iB=function(e){return e===1/0||e===-1/0?0:e},iA=function(e,t,n,r,i){r-t!=0&&i-n!=0&&null!=t&&null!=n&&null!=r&&null!=i&&(e.x1=te.x2?r:e.x2,e.y1=ne.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},iN=function(e,t){return null==t?e:iA(e,t.x1,t.y1,t.x2,t.y2)},iI=function(e,t,n){return e8(e,t,n)},iO=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var l=a.arrowBounds=a.arrowBounds||{},u=l[n]=l[n]||{};u.x1=r-s,u.y1=i-s,u.x2=r+s,u.y2=i+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,tL(u,1),iA(e,u.x1,u.y1,u.x2,u.y2)}}},iL=function(e,t,n){if(!t.cy().headless()){a=n?n+"-":"";var r=t._private,i=r.rstyle;if(t.pstyle(a+"label").strValue){var a,o,s,l,u,c=t.pstyle("text-halign"),d=t.pstyle("text-valign"),h=iI(i,"labelWidth",n),p=iI(i,"labelHeight",n),f=iI(i,"labelX",n),g=iI(i,"labelY",n),v=t.pstyle(a+"text-margin-x").pfValue,y=t.pstyle(a+"text-margin-y").pfValue,b=t.isEdge(),x=t.pstyle(a+"text-rotation"),w=t.pstyle("text-outline-width").pfValue,E=t.pstyle("text-border-width").pfValue/2,k=t.pstyle("text-background-padding").pfValue,C=h/2,S=p/2;if(b)o=f-C,s=f+C,l=g-S,u=g+S;else{switch(c.value){case"left":o=f-h,s=f;break;case"center":o=f-C,s=f+C;break;case"right":o=f,s=f+h}switch(d.value){case"top":l=g-p,u=g;break;case"center":l=g-S,u=g+S;break;case"bottom":l=g,u=g+p}}o+=v-Math.max(w,E)-k-2,s+=v+Math.max(w,E)+k+2,l+=y-Math.max(w,E)-k-2,u+=y+Math.max(w,E)+k+2;var D=n||"main",T=r.labelBounds,P=T[D]=T[D]||{};P.x1=o,P.y1=l,P.x2=s,P.y2=u,P.w=s-o,P.h=u-l;var _=b&&"autorotate"===x.strValue,M=null!=x.pfValue&&0!==x.pfValue;if(_||M){var B=_?iI(r.rstyle,"labelAngle",n):x.pfValue,A=Math.cos(B),N=Math.sin(B),I=(o+s)/2,O=(l+u)/2;if(!b){switch(c.value){case"left":I=s;break;case"right":I=o}switch(d.value){case"top":O=u;break;case"bottom":O=l}}var L=function(e,t){return{x:(e-=I)*A-(t-=O)*N+I,y:e*N+t*A+O}},R=L(o,l),z=L(o,u),V=L(s,l),F=L(s,u);o=Math.min(R.x,z.x,V.x,F.x),s=Math.max(R.x,z.x,V.x,F.x),l=Math.min(R.y,z.y,V.y,F.y),u=Math.max(R.y,z.y,V.y,F.y)}var j=D+"Rot",q=T[j]=T[j]||{};q.x1=o,q.y1=l,q.x2=s,q.y2=u,q.w=s-o,q.h=u-l,iA(e,o,l,s,u),iA(r.labelBounds.all,o,l,s,u)}return e}},iR=function(e,t){if(!t.cy().headless()){var n=t.pstyle("outline-opacity").value,r=t.pstyle("outline-width").value;if(n>0&&r>0){var i=t.pstyle("outline-offset").value,a=t.pstyle("shape").value,o=r+i,s=(e.w+2*o)/e.w,l=(e.h+2*o)/e.h,u=0;["diamond","pentagon","round-triangle"].includes(a)?(s=(e.w+2.4*o)/e.w,u=-o/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(a)?s=(e.w+2.4*o)/e.w:"star"===a?(s=(e.w+2.8*o)/e.w,l=(e.h+2.6*o)/e.h,u=-o/3.8):"triangle"===a?(s=(e.w+2.8*o)/e.w,l=(e.h+2.4*o)/e.h,u=-o/1.4):"vee"===a&&(s=(e.w+4.4*o)/e.w,l=(e.h+3.8*o)/e.h,u=-(.5*o));var c=e.h*l-e.h,d=e.w*s-e.w;if(tR(e,[Math.ceil(c/2),Math.ceil(d/2)]),0!==u){var h,p=(h=u,{x1:e.x1+0,x2:e.x2+0,y1:e.y1+h,y2:e.y2+h,w:e.w,h:e.h});tI(e,p)}}}},iz=function(e,t){var n=e._private.cy,r=n.styleEnabled(),i=n.headless(),a=tA(),o=e._private,s=e.isNode(),l=e.isEdge(),u=o.rstyle,c=s&&r?e.pstyle("bounds-expansion").pfValue:[0],d=function(e){return"none"!==e.pstyle("display").value},h=!r||d(e)&&(!l||d(e.source())&&d(e.target()));if(h){var p=0;r&&t.includeOverlays&&0!==e.pstyle("overlay-opacity").value&&(p=e.pstyle("overlay-padding").value);var f=0;r&&t.includeUnderlays&&0!==e.pstyle("underlay-opacity").value&&(f=e.pstyle("underlay-padding").value);var g=Math.max(p,f),v=0;if(r&&(v=e.pstyle("width").pfValue/2),s&&t.includeNodes){var y=e.position();S=y.x,D=y.y;var b=e.outerWidth()/2,x=e.outerHeight()/2;w=S-b,E=S+b,iA(a,w,k=D-x,E,C=D+x),r&&t.includeOutlines&&iR(a,e)}else if(l&&t.includeEdges){if(r&&!i){var w,E,k,C,S,D,T,P=e.pstyle("curve-style").strValue;if(w=Math.min(u.srcX,u.midX,u.tgtX),E=Math.max(u.srcX,u.midX,u.tgtX),k=Math.min(u.srcY,u.midY,u.tgtY),C=Math.max(u.srcY,u.midY,u.tgtY),w-=v,E+=v,iA(a,w,k-=v,E,C+=v),"haystack"===P){var _=u.haystackPts;if(_&&2===_.length){if(w=_[0].x,k=_[0].y,E=_[1].x,C=_[1].y,w>E){var M=w;w=E,E=M}if(k>C){var B=k;k=C,C=B}iA(a,w-v,k-v,E+v,C+v)}}else if("bezier"===P||"unbundled-bezier"===P||P.endsWith("segments")||P.endsWith("taxi")){switch(P){case"bezier":case"unbundled-bezier":T=u.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":T=u.linePts}if(null!=T)for(var A=0;AE){var L=w;w=E,E=L}if(k>C){var R=k;k=C,C=R}w-=v,E+=v,iA(a,w,k-=v,E,C+=v)}}if(r&&t.includeEdges&&l&&(iO(a,e,"mid-source"),iO(a,e,"mid-target"),iO(a,e,"source"),iO(a,e,"target")),r&&"yes"===e.pstyle("ghost").value){var z=e.pstyle("ghost-offset-x").pfValue,V=e.pstyle("ghost-offset-y").pfValue;iA(a,a.x1+z,a.y1+V,a.x2+z,a.y2+V)}var F=o.bodyBounds=o.bodyBounds||{};tz(F,a),tR(F,c),tL(F,1),r&&(w=a.x1,E=a.x2,k=a.y1,C=a.y2,iA(a,w-g,k-g,E+g,C+g));var j=o.overlayBounds=o.overlayBounds||{};tz(j,a),tR(j,c),tL(j,1);var q=o.labelBounds=o.labelBounds||{};null!=q.all?tN(q.all):q.all=tA(),r&&t.includeLabels&&(t.includeMainLabels&&iL(a,e,null),l&&(t.includeSourceLabels&&iL(a,e,"source"),t.includeTargetLabels&&iL(a,e,"target")))}return a.x1=iB(a.x1),a.y1=iB(a.y1),a.x2=iB(a.x2),a.y2=iB(a.y2),a.w=iB(a.x2-a.x1),a.h=iB(a.y2-a.y1),a.w>0&&a.h>0&&h&&(tR(a,c),tL(a,1)),a},iV=function(e){var t=0,n=function(e){return(e?1:0)<0&&void 0!==arguments[0]?arguments[0]:i5,t=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)o(s);return this},i4.removeAllListeners=function(){return this.removeListener("*")},i4.emit=i4.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,T(t)||(t=[t]),i8(this,function(e,a){null!=n&&(i=(r=[{event:a.event,type:a.type,namespace:a.namespace,callback:n}]).length);for(var o=0;o1&&!r){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,n.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&S(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r=0;t--)e(this[t])&&this.unmergeAt(t);return this},map:function(e,t){for(var n=[],r=0;rr&&(r=o,n=a)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=0;i=0&&i1)||void 0===arguments[1]||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled()&&t)return t.pstyle(e).units},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];if(n)return t.style().getRenderedStyle(n,e)},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(P(e))r.applyBypass(this,e,!1),this.emitAndNotify("style");else if(S(e)){if(void 0===t){var i=this[0];return i?r.getStylePropertyValue(i,e):void 0}r.applyBypass(this,e,t,!1),this.emitAndNotify("style")}else if(void 0===e){var a=this[0];return a?r.getRawStyle(a):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style();if(void 0===e)for(var r=0;r0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),ax.neighbourhood=ax.neighborhood,ax.closedNeighbourhood=ax.closedNeighborhood,ax.openNeighbourhood=ax.openNeighborhood,K(ax,{source:ix(function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t},"source"),target:ix(function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t},"target"),sources:aC({attr:"source"}),targets:aC({attr:"target"})}),K(ax,{edgesWith:ix(aS(),"edgesWith"),edgesTo:ix(aS({thisIsSrc:!0}),"edgesTo")}),K(ax,{connectedEdges:ix(function(e){for(var t=[],n=0;n0);return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),ax.componentsOf=ax.components;var aT=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0===e){e$("A collection must have a reference to the core");return}var i=new tt,a=!1;if(t){if(t.length>0&&P(t[0])&&!A(t[0])){a=!0;for(var o=[],s=new tr,l=0,u=t.length;l0)||void 0===arguments[0]||arguments[0],t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=this.cy(),r=n._private,i=[],a=[],o=0,s=this.length;o0){for(var N,I,O=N.length===this.length?this:new aT(n,N),R=0;R0)||void 0===arguments[0]||arguments[0],t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=[],r={},i=this._private.cy,a=0,o=this.length;a0&&(e?x.emitAndNotify("remove"):t&&x.emit("remove"));for(var w=0;w1e-4&&Math.abs(g.v)>1e-4;);return p?function(e){return y[e*(y.length-1)|0]}:b}}(),aM=function(e,t,n,r){var i=/*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */function(e,t,n,r){var i="undefined"!=typeof Float32Array;if(4!=arguments.length)return!1;for(var a=0;a<4;++a)if("number"!=typeof arguments[a]||isNaN(arguments[a])||!isFinite(arguments[a]))return!1;e=Math.min(e,1),n=Math.min(n,1),e=Math.max(e,0),n=Math.max(n,0);var o=i?new Float32Array(11):Array(11);function s(e,t,n){return(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e}function l(e,t,n){return 3*(1-3*n+3*t)*e*e+2*(3*n-6*t)*e+3*t}var u=!1,c=function(i){return(u||(u=!0,(e!==t||n!==r)&&function(){for(var t=0;t<11;++t)o[t]=s(.1*t,e,n)}()),e===t&&n===r)?i:0===i?0:1===i?1:s(function(t){for(var r=0,i=1;10!==i&&o[i]<=t;++i)r+=.1;var a=r+(t-o[--i])/(o[i+1]-o[i])*.1,u=l(a,e,n);return u>=.001?function(t,r){for(var i=0;i<4;++i){var a=l(r,e,n);if(0===a)break;var o=s(r,e,n)-t;r-=o/a}return r}(t,a):0===u?a:function(t,r,i){var a,o,l=0;do(a=s(o=r+(i-r)/2,e,n)-t)>0?i=o:r=o;while(Math.abs(a)>1e-7&&++l<10);return o}(t,r,r+.1)}(i),t,r)};c.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var d="generateBezier("+[e,t,n,r]+")";return c.toString=function(){return d},c}(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},aB={linear:function(e,t,n){return e+(t-e)*n},ease:aM(.25,.1,.25,1),"ease-in":aM(.42,0,1,1),"ease-out":aM(0,0,.58,1),"ease-in-out":aM(.42,0,.58,1),"ease-in-sine":aM(.47,0,.745,.715),"ease-out-sine":aM(.39,.575,.565,1),"ease-in-out-sine":aM(.445,.05,.55,.95),"ease-in-quad":aM(.55,.085,.68,.53),"ease-out-quad":aM(.25,.46,.45,.94),"ease-in-out-quad":aM(.455,.03,.515,.955),"ease-in-cubic":aM(.55,.055,.675,.19),"ease-out-cubic":aM(.215,.61,.355,1),"ease-in-out-cubic":aM(.645,.045,.355,1),"ease-in-quart":aM(.895,.03,.685,.22),"ease-out-quart":aM(.165,.84,.44,1),"ease-in-out-quart":aM(.77,0,.175,1),"ease-in-quint":aM(.755,.05,.855,.06),"ease-out-quint":aM(.23,1,.32,1),"ease-in-out-quint":aM(.86,0,.07,1),"ease-in-expo":aM(.95,.05,.795,.035),"ease-out-expo":aM(.19,1,.22,1),"ease-in-out-expo":aM(1,0,0,1),"ease-in-circ":aM(.6,.04,.98,.335),"ease-out-circ":aM(.075,.82,.165,1),"ease-in-out-circ":aM(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return aB.linear;var r=a_(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":aM};function aA(e,t,n,r,i){if(1===r||t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function aN(e,t){return null==e.pfValue&&null==e.value?e:null!=e.pfValue&&(null==t||"%"!==t.type.units)?e.pfValue:e.value}function aI(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=aN(e,i),s=aN(t,i);if(_(o)&&_(s))return aA(a,o,s,n,r);if(T(o)&&T(s)){for(var l=[],u=0;u=0;t--)(0,e[t])();e.splice(0,e.length)},c=a.length-1;c>=0;c--){var d=a[c],h=d._private;if(h.stopped){a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.frames);continue}(h.playing||h.applying)&&(h.playing&&h.applying&&(h.applying=!1),h.started||function(e,t,n,r){var i=t._private;i.started=!0,i.startTime=n-i.progress*i.duration}(0,d,e),function(e,t,n,r){var i,a,o,s,l=!r,u=e._private,c=t._private,d=c.easing,h=c.startTime,p=(r?e:e.cy()).style();c.easingImpl||(null==d?c.easingImpl=aB.linear:(i=S(d)?p.parse("transition-timing-function",d).value:d,S(i)?(a=i,o=[]):(a=i[1],o=i.slice(2).map(function(e){return+e})),o.length>0?("spring"===a&&o.push(c.duration),c.easingImpl=aB[a].apply(null,o)):c.easingImpl=aB[a]));var f=c.easingImpl;if(s=0===c.duration?1:(n-h)/c.duration,c.applying&&(s=c.progress),s<0?s=0:s>1&&(s=1),null==c.delay){var g=c.startPosition,v=c.position;if(v&&l&&!e.locked()){var y={};aO(g.x,v.x)&&(y.x=aI(g.x,v.x,s,f)),aO(g.y,v.y)&&(y.y=aI(g.y,v.y,s,f)),e.position(y)}var b=c.startPan,x=c.pan,w=u.pan,E=null!=x&&r;E&&(aO(b.x,x.x)&&(w.x=aI(b.x,x.x,s,f)),aO(b.y,x.y)&&(w.y=aI(b.y,x.y,s,f)),e.emit("pan"));var k=c.startZoom,C=c.zoom,D=null!=C&&r;D&&(aO(k,C)&&(u.zoom=tB(u.minZoom,aI(k,C,s,f),u.maxZoom)),e.emit("zoom")),(E||D)&&e.emit("viewport");var T=c.style;if(T&&T.length>0&&l){for(var P=0;P0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var aR={animate:r9.animate(),animation:r9.animation(),animated:r9.animated(),clearQueue:r9.clearQueue(),delay:r9.delay(),delayAnimation:r9.delayAnimation(),stop:r9.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender(function(t,n){aL(n,e)},t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&eN(function(n){aL(n,e),t()})}()}}},az={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&A(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},aV=function(e){return S(e)?new iy(e):e},aF={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new i3(az,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,aV(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,aV(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,aV(t),n),this},once:function(e,t,n){return this.emitter().one(e,aV(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};r9.eventAliasesOn(aF);var aj={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};aj.jpeg=aj.jpg;var aq={layout:function(e){if(null==e){e$("Layout options must be specified to make a layout");return}if(null==e.name){e$("A `name` must be specified to make a layout");return}var t,n=e.name,r=this.extension("layout",n);if(null==r){e$("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}return t=S(e.eles)?this.$(e.eles):null!=e.eles?e.eles:this.$(),new r(K({},e,{cy:this,eles:t}))}};aq.createLayout=aq.makeLayout=aq.layout;var aX=e3({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1}),aY={renderTo:function(e,t,n,r){return this._private.renderer.renderTo(e,t,n,r),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(e){var t=this.extension("renderer",e.name);if(null==t){e$("Can not initialise: No such renderer `".concat(e.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));return}void 0!==e.wheelSensitivity&&eJ("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var n=aX(e);n.cy=this,this._private.renderer=new t(n),this.notify("init")},destroyRenderer:function(){this.notify("destroy");var e=this.container();if(e)for(e._cyreg=null;e.childNodes.length>0;)e.removeChild(e.childNodes[0]);this._private.renderer=null,this.mutableElements().forEach(function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};aY.invalidateDimensions=aY.resize;var aW={collection:function(e,t){return S(e)?this.$(e):B(e)?e.collection():T(e)?(t||(t={}),new aT(this,e,t.unique,t.removed)):new aT(this)},nodes:function(e){var t=this.$(function(e){return e.isNode()});return e?t.filter(e):t},edges:function(e){var t=this.$(function(e){return e.isEdge()});return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};aW.elements=aW.filter=aW.$;var aH={};aH.apply=function(e){for(var t=this._private.cy.collection(),n=0;n0;if(d||c&&h){var p=void 0;d&&h?p=l.properties:d?p=l.properties:h&&(p=l.mappedProperties);for(var f=0;f1&&(v=1),o.color){var E=r.valueMin[0],k=r.valueMax[0],C=r.valueMin[1],S=r.valueMax[1],D=r.valueMin[2],T=r.valueMax[2],P=null==r.valueMin[3]?1:r.valueMin[3],M=[Math.round(E+(k-E)*v),Math.round(C+(S-C)*v),Math.round(D+(T-D)*v),Math.round(P+((null==r.valueMax[3]?1:r.valueMax[3])-P)*v)];g={bypass:r.bypass,name:r.name,value:M,strValue:"rgb("+M[0]+", "+M[1]+", "+M[2]+")"}}else{if(!o.number)return!1;var B=r.valueMin+(r.valueMax-r.valueMin)*v;g=this.parse(r.name,B,r.bypass,d)}if(!g)return f(),!1;g.mapping=r,r=g;break;case a.data:for(var A=r.field.split("."),N=c.data,I=0;I0&&a>0){for(var s={},l=!1,u=0;u0?e.delayAnimation(o).play().promise().then(t):t()}).then(function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1})}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},aH.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);null!=s&&s(n,r)&&a(o)},aH.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,function(e){return e.triggersZOrder},function(){i._private.cy.notify("zorder",e)})},aH.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(e){return e.triggersBounds},function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),i.triggersBoundsOfParallelBeziers&&"curve-style"===t&&("bezier"===n||"bezier"===r)&&e.parallelEdges().forEach(function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()}),i.triggersBoundsOfConnectedEdges&&"display"===t&&("none"===n||"none"===r)&&e.connectedEdges().forEach(function(e){e.dirtyBoundingBoxCache()})})},aH.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var aG={};aG.applyBypass=function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;at.length?i.substr(t.length):""}function o(){n=n.length>r.length?n.substr(r.length):""}for(i=i.replace(/[/][*](\s|.)+?[*][/]/g,"");!i.match(/^\s*$/);){var s=i.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!s){eJ("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+i);break}t=s[0];var l=s[1];if("core"!==l&&new iy(l).invalid){eJ("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),a();continue}var u=s[2],c=!1;n=u;for(var d=[];!n.match(/^\s*$/);){var h=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!h){eJ("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+u),c=!0;break}r=h[0];var p=h[1],f=h[2];if(!this.properties[p]){eJ("Skipping property: Invalid property name in: "+r),o();continue}if(!this.parse(p,f)){eJ("Skipping property: Invalid property definition in: "+r),o();continue}d.push({name:p,val:f}),o()}if(c){a();break}this.selector(l);for(var g=0;g=7&&"d"===t[0]&&(g=new RegExp(o.data.regex).exec(t))){if(n)return!1;var u=o.data;return{name:e,value:g,strValue:""+t,mapped:u,field:g[1],bypass:n}}else if(t.length>=10&&"m"===t[0]&&(v=new RegExp(o.mapData.regex).exec(t))){if(n||l.multiple)return!1;var c=o.mapData;if(!(l.color||l.number))return!1;var d=this.parse(e,v[4]);if(!d||d.mapped)return!1;var h=this.parse(e,v[5]);if(!h||h.mapped)return!1;if(d.pfValue===h.pfValue||d.strValue===h.strValue)return eJ("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+d.strValue+"`"),this.parse(e,d.strValue);if(l.color){var p=d.value,f=h.value;if(p[0]===f[0]&&p[1]===f[1]&&p[2]===f[2]&&(p[3]===f[3]||(null==p[3]||1===p[3])&&(null==f[3]||1===f[3])))return!1}return{name:e,value:v,strValue:""+t,mapped:c,field:v[1],fieldMin:parseFloat(v[2]),fieldMax:parseFloat(v[3]),valueMin:d.value,valueMax:h.value,bypass:n}}if(l.multiple&&"multiple"!==r){if(y=s?t.split(/\s+/):T(t)?t:[t],l.evenMultiple&&y.length%2!=0)return null;for(var g,v,y,b=[],x=[],w=[],E="",k=!1,C=0;C0?" ":"")+P.strValue}return l.validate&&!l.validate(b,x)?null:l.singleEnum&&k?1===b.length&&S(b[0])?{name:e,value:b[0],strValue:b[0],bypass:n}:null:{name:e,value:b,pfValue:w,strValue:E,bypass:n,units:x}}var M=function(){for(var r=0;rl.max||l.strictMax&&t===l.max))return null;var L={name:e,value:t,strValue:""+t+(A||""),units:A,bypass:n};return l.unitless||"px"!==A&&"em"!==A?L.pfValue=t:L.pfValue="px"!==A&&A?this.getEmSizeInPixels()*t:t,("ms"===A||"s"===A)&&(L.pfValue="ms"===A?t:1e3*t),("deg"===A||"rad"===A)&&(L.pfValue="rad"===A?t:Math.PI*t/180),"%"===A&&(L.pfValue=t/100),L}if(l.propList){var R=[],z=""+t;if("none"===z);else{for(var F=z.split(/\s*,\s*|\s+/),j=0;j0&&l>0&&!isNaN(r.w)&&!isNaN(r.h)&&r.w>0&&r.h>0){i=(i=(i=Math.min((s-2*t)/r.w,(l-2*t)/r.h))>this._private.maxZoom?this._private.maxZoom:i)=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),_(e)?n=e:P(e)&&(n=e.level,null!=e.position?t=tg(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var l=e.pan;_(l.x)&&(t.pan.x=l.x,o=!1),_(l.y)&&(t.pan.y=l.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(S(e)){var n=e;e=this.mutableElements().filter(n)}else B(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled&&this.viewport({pan:{x:0,y:0},zoom:1}),this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=this.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};a2.centre=a2.center,a2.autolockNodes=a2.autolock,a2.autoungrabifyNodes=a2.autoungrabify;var a5={data:r9.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:r9.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:r9.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:r9.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};a5.attr=a5.data,a5.removeAttr=a5.removeData;var a3=function(e){var t=this,n=(e=K({},e)).container;n&&!M(n)&&M(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{}).cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==y&&void 0!==n&&!e.headless,o=e;o.layout=K({name:a?"grid":"null"},o.layout),o.renderer=K({name:a?"canvas":"null"},o.renderer);var s=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},l=this._private={container:n,ready:!1,options:o,elements:new aT(this),listeners:[],aniEles:new aT(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:_(o.zoom)?o.zoom:1,pan:{x:P(o.pan)&&_(o.pan.x)?o.pan.x:0,y:P(o.pan)&&_(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom}),l.styleEnabled&&t.setStyle([]);var u=K({},o,o.renderer);t.initRenderer(u);var c=function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(P(e)||T(e))&&t.add(e),t.one("layoutready",function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")}).one("layoutstop",function(){t.one("done",r),t.emit("done")});var a=K({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()};!function(e,t){if(e.some(R))return rs.all(e).then(t);t(e)}([o.style,o.elements],function(e){var n=e[0],a=e[1];l.styleEnabled&&t.style().append(n),c(a,function(){t.startAnimationLoop(),l.ready=!0,D(o.ready)&&t.on("ready",o.ready);for(var e=0;e0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch(function(){for(var n=Object.keys(e),r=0;r0,s=tA(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(B(t.roots))e=t.roots;else if(T(t.roots)){for(var l=[],u=0;u0;){var _=C.shift(),M=function(e,n){for(var i=a8(e),a=e.incomers().filter(function(e){return e.isNode()&&r.has(e)}),o=-1,s=e.id(),l=0;l0&&f[0].length<=3?u/2:0),d=2*Math.PI/f[r].length*i;return 0===r&&1===f[0].length&&(c=1),{x:W.x+c*Math.cos(d),y:W.y+c*Math.sin(d)}}),this};var ot={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function on(e){this.options=K({},ot,e)}on.prototype.run=function(){var e,t=this.options,n=t.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o=tA(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),s={x:o.x1+o.w/2,y:o.y1+o.h/2},l=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),u=0,c=0;c1&&t.avoidOverlap){var h=Math.cos(l)-1,p=Math.sin(l)-0;e=Math.max(Math.sqrt((u*=1.75)*u/(h*h+p*p)),e)}return r.nodes().layoutPositions(this,t,function(n,r){var a=t.startAngle+r*l*(i?1:-1),o=e*Math.cos(a),u=e*Math.sin(a);return{x:s.x+o,y:s.y+u}}),this};var or={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function oi(e){this.options=K({},or,e)}oi.prototype.run=function(){for(var e=this.options,t=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,n=e.cy,r=e.eles,i=r.nodes().not(":parent"),a=tA(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:a.x1+a.w/2,y:a.y1+a.h/2},s=[],l=0,u=0;u0&&Math.abs(v[0].value-b.value)>=f&&(v=[],g.push(v)),v.push(b)}var x=l+e.minNodeSpacing;if(!e.avoidOverlap){var w=g.length>0&&g[0].length>1,E=(Math.min(a.w,a.h)/2-x)/(g.length+w?1:0);x=Math.min(x,E)}for(var k=0,C=0;C1&&e.avoidOverlap){var P=Math.cos(T)-1,_=Math.sin(T)-0;k=Math.max(Math.sqrt(x*x/(P*P+_*_)),k)}S.r=k,k+=x}if(e.equidistant){for(var M=0,B=0,A=0;A=e.numIter)&&(op(r,e),r.temperature=r.temperature*e.coolingFactor,!(r.temperature=e.animationThreshold&&a(),eN(t)):(oS(r,e),s())}();else{for(;u;)u=o(l),l++;oS(r,e),s()}return this},oo.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},oo.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var os=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=tA(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),l={},u=0;u0){o.graphSet.push(C);for(var u=0;ur.count?0:r.graph},ou=function e(t,n,r,i){var a=i.graphSet[r];if(-10)var s=r.nodeOverlap*o,l=Math.sqrt(i*i+a*a),u=s*i/l,c=s*a/l;else var d=om(e,i,a),h=om(t,-1*i,-1*a),p=h.x-d.x,f=h.y-d.y,g=p*p+f*f,l=Math.sqrt(g),s=(e.nodeRepulsion+t.nodeRepulsion)/g,u=s*p/l,c=s*f/l;e.isLocked||(e.offsetX-=u,e.offsetY-=c),t.isLocked||(t.offsetX+=u,t.offsetY+=c)}},oy=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else var i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else var a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},om=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,l=a/o,u={};return 0===t&&0n?(u.x=r,u.y=i+a/2):0t&&-1*l<=s&&s<=l?(u.x=r-o/2,u.y=i-o*n/2/t):0=l)?(u.x=r+a*t/2/n,u.y=i+a/2):0>n&&(s<=-1*l||s>=l)&&(u.x=r-a*t/2/n,u.y=i-a/2),u},ob=function(e,t){for(var n=0;n1){var f=t.gravity*d/p,g=t.gravity*h/p;c.offsetX+=f,c.offsetY+=g}}}}},ow=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],l=s.children;if(0n)var i={x:n*e/r,y:n*t/r};else var i={x:e,y:t};return i},oC=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],a=!1;if((null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,a=!0),(null==i.minX||t.minX-i.padLefti.maxY)&&(i.maxY=t.maxY+i.padBottom,a=!0),(null==i.minY||t.minY-i.padTopg&&(h+=f+t.componentSpacing,d=0,p=0,f=0)}}},oD={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function oT(e){this.options=K({},oD,e)}oT.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,r=n.nodes().not(":parent");e.sort&&(r=r.sort(e.sort));var i=tA(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});if(0===i.h||0===i.w)n.nodes().layoutPositions(this,e,function(e){return{x:i.x1,y:i.y1}});else{var a=r.size(),o=Math.sqrt(a*i.h/i.w),s=Math.round(o),l=Math.round(i.w/i.h*o),u=function(e){if(null==e)return Math.min(s,l);Math.min(s,l)==s?s=e:l=e},c=function(e){if(null==e)return Math.max(s,l);Math.max(s,l)==s?s=e:l=e},d=e.rows,h=null!=e.cols?e.cols:e.columns;if(null!=d&&null!=h)s=d,l=h;else if(null!=d&&null==h)l=Math.ceil(a/(s=d));else if(null==d&&null!=h)s=Math.ceil(a/(l=h));else if(l*s>a){var p=u(),f=c();(p-1)*f>=a?u(p-1):(f-1)*p>=a&&c(f-1)}else for(;l*s=a?c(v+1):u(g+1)}var y=i.w/l,b=i.h/s;if(e.condense&&(y=0,b=0),e.avoidOverlap)for(var x=0;x=l&&(B=0,M++)},N={},I=0;I=0;x--){var w=l[x];w.isNode()?y(w)||b(w):function(n){var r,i=n._private,a=i.rscratch,l=n.pstyle("width").pfValue,c=n.pstyle("arrow-scale").value,p=l/2+h,f=p*p,g=2*p,b=i.source,x=i.target;if("segments"===a.edgeType||"straight"===a.edgeType||"haystack"===a.edgeType){for(var w,E,k,C,S=a.allpts,D=0;D+3(r=tG(e,t,S[D],S[D+1],S[D+2],S[D+3])))return v(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType){for(var S=a.allpts,D=0;D+5(r=tH(e,t,S[D],S[D+1],S[D+2],S[D+3],S[D+4],S[D+5])))return v(n,r),!0}for(var b=b||i.source,x=x||i.target,T=o.getArrowWidth(l,c),P=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}],D=0;D0&&(y(b),y(x))}(w)||b(w)||b(w,"source")||b(w,"target")}return u},oz.getAllInBox=function(e,t,n,r){var i=this.getCachedZSortedEles().interactive,a=[],o=Math.min(e,n),s=Math.max(e,n),l=Math.min(t,r),u=Math.max(t,r);e=o,n=s;for(var c=tA({x1:e,y1:t=l,x2:n,y2:r=u}),d=0;d0?-(Math.PI-e.ang):Math.PI+e.ang},ss=function(e,t,n,r,i){if(e!==g?sa(t,e,sr):so(si,sr),sa(t,n,si),o5=sr.nx*si.ny-sr.ny*si.nx,o3=sr.nx*si.nx- -(sr.ny*si.ny),1e-6>Math.abs(o6=Math.asin(Math.max(-1,Math.min(1,o5))))){o1=t.x,o2=t.y,o7=st=0;return}o4=1,o9=!1,o3<0?o6<0?o6=Math.PI+o6:(o6=Math.PI-o6,o4=-1,o9=!0):o6>0&&(o4=-1,o9=!0),st=void 0!==t.radius?t.radius:r,o8=o6/2,sn=Math.min(sr.len/2,si.len/2),o7=i?(se=Math.abs(Math.cos(o8)*st/Math.sin(o8)))>sn?Math.abs((se=sn)*Math.sin(o8)/Math.cos(o8)):st:Math.abs((se=Math.min(sn,st))*Math.sin(o8)/Math.cos(o8)),p=t.x+si.nx*se,f=t.y+si.ny*se,o1=p-si.ny*o7*o4,o2=f+si.nx*o7*o4,d=t.x+sr.nx*se,h=t.y+sr.ny*se,g=t};function sl(e,t){0===t.radius?e.lineTo(t.cx,t.cy):e.arc(t.cx,t.cy,t.radius,t.startAngle,t.endAngle,t.counterClockwise)}function su(e,t,n,r){var i=!(arguments.length>4)||void 0===arguments[4]||arguments[4];return 0===r||0===t.radius?{cx:t.x,cy:t.y,radius:0,startX:t.x,startY:t.y,stopX:t.x,stopY:t.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(ss(e,t,n,r,i),{cx:o1,cy:o2,radius:o7,startX:d,startY:h,stopX:p,stopY:f,startAngle:sr.ang+Math.PI/2*o4,endAngle:si.ang-Math.PI/2*o4,counterClockwise:o9})}var sc={};function sd(e){var t=[];if(null!=e){for(var n=0;n0?Math.max(e-t,0):Math.min(e+t,0)},D=S(k,g?(d+p)/2:0),T=S(C,g?(h+f)/2:0),P=!1;"auto"===y?v=Math.abs(D)>Math.abs(T)?a:i:y===u||y===l?(v=i,P=!0):(y===o||y===s)&&(v=a,P=!0);var _=v===i,M=_?T:D,B=_?C:k,A=tC(B),N=!1;!(P&&(x||w<0))&&(y===l&&B<0||y===u&&B>0||y===o&&B>0||y===s&&B<0)&&(A*=-1,M=A*Math.abs(M),N=!0);var I=function(e){return Math.abs(e)=Math.abs(M)},O=I(n=x?(w<0?1+w:w)*M:(w<0?M:0)+w*A),L=I(Math.abs(M)-Math.abs(n));if((O||L)&&!N){if(_){var R=Math.abs(k)<=p/2;if(Math.abs(B)<=h/2){var z=(c.x1+c.x2)/2,V=c.y1,F=c.y2;r.segpts=[z,V,z,F]}else if(R){var j=(c.y1+c.y2)/2,q=c.x1,X=c.x2;r.segpts=[q,j,X,j]}else r.segpts=[c.x1,c.y2]}else{var Y=Math.abs(C)<=f/2;if(Math.abs(B)<=d/2){var W=(c.y1+c.y2)/2,H=c.x1,G=c.x2;r.segpts=[H,W,G,W]}else if(Y){var U=(c.x1+c.x2)/2,K=c.y1,Z=c.y2;r.segpts=[U,K,U,Z]}else r.segpts=[c.x2,c.y1]}}else if(_){var $=c.y1+n+(g?h/2*A:0),Q=c.x1,J=c.x2;r.segpts=[Q,$,J,$]}else{var ee=c.x1+n+(g?d/2*A:0),et=c.y1,en=c.y2;r.segpts=[ee,et,ee,en]}if(r.isRound){var er=e.pstyle("taxi-radius").value,ei="arc-radius"===e.pstyle("radius-type").value[0];r.radii=Array(r.segpts.length/2).fill(er),r.isArcRadius=Array(r.segpts.length/2).fill(ei)}},sc.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,l=t.tgtH,u=t.srcShape,c=t.tgtShape,d=t.srcCornerRadius,h=t.tgtCornerRadius,p=t.srcRs,f=t.tgtRs,g=!_(n.startX)||!_(n.startY),v=!_(n.arrowStartX)||!_(n.arrowStartY),y=!_(n.endX)||!_(n.endY),b=!_(n.arrowEndX)||!_(n.arrowEndY),x=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,w=tS({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),E=wh.poolIndex()){var p=d;d=h,h=p}var f=s.srcPos=d.position(),g=s.tgtPos=h.position(),v=s.srcW=d.outerWidth(),y=s.srcH=d.outerHeight(),b=s.tgtW=h.outerWidth(),x=s.tgtH=h.outerHeight(),w=s.srcShape=n.nodeShapes[t.getNodeShape(d)],E=s.tgtShape=n.nodeShapes[t.getNodeShape(h)],k=s.srcCornerRadius="auto"===d.pstyle("corner-radius").value?"auto":d.pstyle("corner-radius").pfValue,C=s.tgtCornerRadius="auto"===h.pstyle("corner-radius").value?"auto":h.pstyle("corner-radius").pfValue,S=s.tgtRs=h._private.rscratch,D=s.srcRs=d._private.rscratch;s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var T=0;T0){var W=tD(l,ty(t)),H=tD(l,ty(Y)),G=W;H2&&tD(l,{x:Y[2],y:Y[3]})0){var eo=tD(u,ty(t)),es=tD(u,ty(ea)),el=eo;es2&&tD(u,{x:ea[2],y:ea[3]})=l||b){c={cp:g,segment:y};break}}if(c)break}var x=c.cp,w=c.segment,E=(l-h)/w.length,k=w.t1-w.t0,C=i?w.t0+k*E:w.t1-k*E;C=tB(0,C,1),t=t_(x.p0,x.p1,x.p2,C),u=sy(x.p0,x.p1,x.p2,C);break;case"straight":case"segments":case"haystack":for(var S,D,T,P,_=0,M=r.allpts.length,B=0;B+3=l));B+=2);var A=(l-P)/T;t=tM(S,D,A=tB(0,A,1)),u=sv(S,D)}o("labelX",n,t.x),o("labelY",n,t.y),o("labelAutoAngle",n,u)}};l("source"),l("target"),this.applyLabelDimensions(e)}},sf.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},sf.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r),a=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,s=e8(n.rscratch,"labelWrapCachedLines",t)||[],l="wrap"!==o?1:Math.max(s.length,1),u=i.height/l,c=i.width,d=i.height+(l-1)*(a-1)*u;e7(n.rstyle,"labelWidth",t,c),e7(n.rscratch,"labelWidth",t,c),e7(n.rstyle,"labelHeight",t,d),e7(n.rscratch,"labelHeight",t,d),e7(n.rscratch,"labelLineHeight",t,u*a)},sf.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,o=function(e,r){return r?(e7(n.rscratch,e,t,r),r):e8(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var s=e.pstyle("text-wrap").value;if("wrap"===s){var l=o("labelKey");if(null!=l&&o("labelWrapKey")===l)return o("labelWrapCachedText");for(var u=i.split("\n"),c=e.pstyle("text-max-width").pfValue,d="anywhere"===e.pstyle("text-overflow-wrap").value,h=[],p=/[\s\u200b]+/,f=d?"":" ",g=0;gc){for(var b=v.split(p),x="",w=0;wC);T++)S+=i[T],T===i.length-1&&(D=!0);return D||(S+="…"),S}return i},sf.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},sf.calculateLabelDimensions=function(e,t){var n=eF(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var a=e.pstyle("font-style").strValue,o=e.pstyle("font-size").pfValue,s=e.pstyle("font-family").strValue,l=e.pstyle("font-weight").strValue,u=this.labelCalcCanvas,c=this.labelCalcCanvasContext;if(!u){u=this.labelCalcCanvas=document.createElement("canvas"),c=this.labelCalcCanvasContext=u.getContext("2d");var d=u.style;d.position="absolute",d.left="-9999px",d.top="-9999px",d.zIndex="-1",d.visibility="hidden",d.pointerEvents="none"}c.font="".concat(a," ").concat(l," ").concat(o,"px ").concat(s);for(var h=0,p=0,f=t.split("\n"),g=0;ge.width()||28>e.height()))return sb||(eJ("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),sb=!0),"rectangle";if(e.isParent())return"rectangle"===t||"roundrectangle"===t||"round-rectangle"===t||"cutrectangle"===t||"cut-rectangle"===t||"barrel"===t?t:"rectangle";if("polygon"===t){var n=e.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(n).name}return t};var sx={};sx.registerCalculationListeners=function(){var e=this.cy,t=e.collection(),n=this,r=function(e){var n=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(t.merge(e),n)for(var r=0;r=C.desktopTapThreshold2}var v=P(e);w&&(C.hoverData.tapholdCancelled=!0),t=!0,T(u,["mousemove","vmousemove","tapdrag"],e,{x:a[0],y:a[1]});var y=function(){C.data.bgActivePosistion=void 0,C.hoverData.selecting||n.emit({originalEvent:e,type:"boxstart",position:{x:a[0],y:a[1]}}),l[4]=1,C.hoverData.selecting=!0,C.redrawHint("select",!0),C.redraw()};if(3===C.hoverData.which){if(w){var b={originalEvent:e,type:"cxtdrag",position:{x:a[0],y:a[1]}};d?d.emit(b):n.emit(b),C.hoverData.cxtDragged=!0,(!C.hoverData.cxtOver||u!==C.hoverData.cxtOver)&&(C.hoverData.cxtOver&&C.hoverData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:a[0],y:a[1]}}),C.hoverData.cxtOver=u,u&&u.emit({originalEvent:e,type:"cxtdragover",position:{x:a[0],y:a[1]}}))}}else if(C.hoverData.dragging){if(t=!0,n.panningEnabled()&&n.userPanningEnabled()){if(C.hoverData.justStartedPan){var x=C.hoverData.mdownPos;E={x:(a[0]-x[0])*r,y:(a[1]-x[1])*r},C.hoverData.justStartedPan=!1}else E={x:h[0]*r,y:h[1]*r};n.panBy(E),n.emit("dragpan"),C.hoverData.dragged=!0}a=C.projectIntoViewport(e.clientX,e.clientY)}else if(1==l[4]&&(null==d||d.pannable()))w&&(!C.hoverData.dragging&&n.boxSelectionEnabled()&&(v||!n.panningEnabled()||!n.userPanningEnabled())?y():!C.hoverData.selecting&&n.panningEnabled()&&n.userPanningEnabled()&&M(d,C.hoverData.downs)&&(C.hoverData.dragging=!0,C.hoverData.justStartedPan=!0,l[4]=0,C.data.bgActivePosistion=ty(o),C.redrawHint("select",!0),C.redraw()),d&&d.pannable()&&d.active()&&d.unactivate());else{if(d&&d.pannable()&&d.active()&&d.unactivate(),d&&d.grabbed()||u==c||(c&&T(c,["mouseout","tapdragout"],e,{x:a[0],y:a[1]}),u&&T(u,["mouseover","tapdragover"],e,{x:a[0],y:a[1]}),C.hoverData.last=u),d){if(w){if(n.boxSelectionEnabled()&&v)d&&d.grabbed()&&(F(p),d.emit("freeon"),p.emit("free"),C.dragData.didDrag&&(d.emit("dragfreeon"),p.emit("dragfree"))),y();else if(d&&d.grabbed()&&C.nodeIsDraggable(d)){var w,E,k,S=!C.dragData.didDrag;S&&C.redrawHint("eles",!0),C.dragData.didDrag=!0,C.hoverData.draggingEles||V(p,{inDragLayer:!0});var D={x:0,y:0};if(_(h[0])&&_(h[1])&&(D.x+=h[0],D.y+=h[1],S)){var B=C.hoverData.dragDelta;B&&_(B[0])&&_(B[1])&&(D.x+=B[0],D.y+=B[1])}C.hoverData.draggingEles=!0,p.silentShift(D).emit("position drag"),C.redrawHint("drag",!0),C.redraw()}}else 0===(k=C.hoverData.dragDelta=C.hoverData.dragDelta||[]).length?(k.push(h[0]),k.push(h[1])):(k[0]+=h[0],k[1]+=h[1])}t=!0}if(l[2]=a[0],l[3]=a[1],t)return e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1}},!1),C.registerBinding(S,"mouseup",function(r){if(C.hoverData.capture){C.hoverData.capture=!1;var i=C.cy,a=C.projectIntoViewport(r.clientX,r.clientY),o=C.selection,s=C.findNearestElement(a[0],a[1],!0,!1),l=C.dragData.possibleDragElements,u=C.hoverData.down,c=P(r);if(C.data.bgActivePosistion&&(C.redrawHint("select",!0),C.redraw()),C.hoverData.tapholdCancelled=!0,C.data.bgActivePosistion=void 0,u&&u.unactivate(),3===C.hoverData.which){var d={originalEvent:r,type:"cxttapend",position:{x:a[0],y:a[1]}};if(u?u.emit(d):i.emit(d),!C.hoverData.cxtDragged){var h={originalEvent:r,type:"cxttap",position:{x:a[0],y:a[1]}};u?u.emit(h):i.emit(h)}C.hoverData.cxtDragged=!1,C.hoverData.which=null}else if(1===C.hoverData.which){if(T(s,["mouseup","tapend","vmouseup"],r,{x:a[0],y:a[1]}),C.dragData.didDrag||C.hoverData.dragged||C.hoverData.selecting||C.hoverData.isOverThresholdDrag||(T(u,["click","tap","vclick"],r,{x:a[0],y:a[1]}),t=!1,r.timeStamp-n<=i.multiClickDebounceTime()?(e&&clearTimeout(e),t=!0,n=null,T(u,["dblclick","dbltap","vdblclick"],r,{x:a[0],y:a[1]})):(e=setTimeout(function(){t||T(u,["oneclick","onetap","voneclick"],r,{x:a[0],y:a[1]})},i.multiClickDebounceTime()),n=r.timeStamp)),null!=u||C.dragData.didDrag||C.hoverData.selecting||C.hoverData.dragged||P(r)||(i.$(D).unselect(["tapunselect"]),l.length>0&&C.redrawHint("eles",!0),C.dragData.possibleDragElements=l=i.collection()),s!=u||C.dragData.didDrag||C.hoverData.selecting||null==s||!s._private.selectable||(C.hoverData.dragging||("additive"===i.selectionType()||c?s.selected()?s.unselect(["tapunselect"]):s.select(["tapselect"]):c||(i.$(D).unmerge(s).unselect(["tapunselect"]),s.select(["tapselect"]))),C.redrawHint("eles",!0)),C.hoverData.selecting){var p=i.collection(C.getAllInBox(o[0],o[1],o[2],o[3]));C.redrawHint("select",!0),p.length>0&&C.redrawHint("eles",!0),i.emit({type:"boxend",originalEvent:r,position:{x:a[0],y:a[1]}}),"additive"!==i.selectionType()&&(c||i.$(D).unmerge(p).unselect()),p.emit("box").stdFilter(function(e){return e.selectable()&&!e.selected()}).select().emit("boxselect"),C.redraw()}if(C.hoverData.dragging&&(C.hoverData.dragging=!1,C.redrawHint("select",!0),C.redrawHint("eles",!0),C.redraw()),!o[4]){C.redrawHint("drag",!0),C.redrawHint("eles",!0);var f=u&&u.grabbed();F(l),f&&(u.emit("freeon"),l.emit("free"),C.dragData.didDrag&&(u.emit("dragfreeon"),l.emit("dragfree")))}}o[4]=0,C.hoverData.down=null,C.hoverData.cxtStarted=!1,C.hoverData.draggingEles=!1,C.hoverData.selecting=!1,C.hoverData.isOverThresholdDrag=!1,C.dragData.didDrag=!1,C.hoverData.dragged=!1,C.hoverData.dragDelta=[],C.hoverData.mdownPos=null,C.hoverData.mdownGPos=null}},!1);var U=function(e){if(!C.scrollingPage){var t=C.cy,n=t.zoom(),r=t.pan(),i=C.projectIntoViewport(e.clientX,e.clientY),a=[i[0]*n+r.x,i[1]*n+r.y];if(C.hoverData.draggingEles||C.hoverData.dragging||C.hoverData.cxtStarted||0!==C.selection[4]){e.preventDefault();return}if(t.panningEnabled()&&t.userPanningEnabled()&&t.zoomingEnabled()&&t.userZoomingEnabled()){e.preventDefault(),C.data.wheelZooming=!0,clearTimeout(C.data.wheelTimeout),C.data.wheelTimeout=setTimeout(function(){C.data.wheelZooming=!1,C.redrawHint("eles",!0),C.redraw()},150),o=(null!=e.deltaY?-(e.deltaY/250):null!=e.wheelDeltaY?e.wheelDeltaY/1e3:e.wheelDelta/1e3)*C.wheelSensitivity,1===e.deltaMode&&(o*=33);var o,s=t.zoom()*Math.pow(10,o);"gesturechange"===e.type&&(s=C.gestureStartZoom*e.scale),t.zoom({level:s,renderedPosition:{x:a[0],y:a[1]}}),t.emit("gesturechange"===e.type?"pinchzoom":"scrollzoom")}}};C.registerBinding(C.container,"wheel",U,!0),C.registerBinding(S,"scroll",function(e){C.scrollingPage=!0,clearTimeout(C.scrollingPageTimeout),C.scrollingPageTimeout=setTimeout(function(){C.scrollingPage=!1},250)},!0),C.registerBinding(C.container,"gesturestart",function(e){C.gestureStartZoom=C.cy.zoom(),C.hasTouchStarted||e.preventDefault()},!0),C.registerBinding(C.container,"gesturechange",function(e){C.hasTouchStarted||U(e)},!0),C.registerBinding(C.container,"mouseout",function(e){var t=C.projectIntoViewport(e.clientX,e.clientY);C.cy.emit({originalEvent:e,type:"mouseout",position:{x:t[0],y:t[1]}})},!1),C.registerBinding(C.container,"mouseover",function(e){var t=C.projectIntoViewport(e.clientX,e.clientY);C.cy.emit({originalEvent:e,type:"mouseover",position:{x:t[0],y:t[1]}})},!1);var K=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},Z=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(C.registerBinding(C.container,"touchstart",v=function(e){if(C.hasTouchStarted=!0,G(e)){q(),C.touchData.capture=!0,C.data.bgActivePosistion=void 0;var t=C.cy,n=C.touchData.now,v=C.touchData.earlier;if(e.touches[0]){var y=C.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);n[0]=y[0],n[1]=y[1]}if(e.touches[1]){var y=C.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY);n[2]=y[0],n[3]=y[1]}if(e.touches[2]){var y=C.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY);n[4]=y[0],n[5]=y[1]}if(e.touches[1]){C.touchData.singleTouchMoved=!0,F(C.dragData.touchDragEles);var b=C.findContainerClientCoords();d=b[0],h=b[1],p=b[2],f=b[3],r=e.touches[0].clientX-d,i=e.touches[0].clientY-h,a=e.touches[1].clientX-d,o=e.touches[1].clientY-h,g=0<=r&&r<=p&&0<=a&&a<=p&&0<=i&&i<=f&&0<=o&&o<=f;var x=t.pan(),w=t.zoom();if(s=K(r,i,a,o),l=Z(r,i,a,o),c=[((u=[(r+a)/2,(i+o)/2])[0]-x.x)/w,(u[1]-x.y)/w],l<4e4&&!e.touches[2]){var E=C.findNearestElement(n[0],n[1],!0,!0),k=C.findNearestElement(n[2],n[3],!0,!0);E&&E.isNode()?(E.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:n[0],y:n[1]}}),C.touchData.start=E):k&&k.isNode()?(k.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:n[0],y:n[1]}}),C.touchData.start=k):t.emit({originalEvent:e,type:"cxttapstart",position:{x:n[0],y:n[1]}}),C.touchData.start&&(C.touchData.start._private.grabbed=!1),C.touchData.cxt=!0,C.touchData.cxtDragged=!1,C.data.bgActivePosistion=void 0,C.redraw();return}}if(e.touches[2])t.boxSelectionEnabled()&&e.preventDefault();else if(e.touches[1]);else if(e.touches[0]){var S=C.findNearestElements(n[0],n[1],!0,!0),D=S[0];if(null!=D&&(D.activate(),C.touchData.start=D,C.touchData.starts=S,C.nodeIsGrabbable(D))){var P=C.dragData.touchDragEles=t.collection(),_=null;C.redrawHint("eles",!0),C.redrawHint("drag",!0),D.selected()?V(_=t.$(function(e){return e.selected()&&C.nodeIsGrabbable(e)}),{addToList:P}):V(D,{addToList:P}),O(D);var M=function(t){return{originalEvent:e,type:t,position:{x:n[0],y:n[1]}}};D.emit(M("grabon")),_?_.forEach(function(e){e.emit(M("grab"))}):D.emit(M("grab"))}T(D,["touchstart","tapstart","vmousedown"],e,{x:n[0],y:n[1]}),null==D&&(C.data.bgActivePosistion={x:y[0],y:y[1]},C.redrawHint("select",!0),C.redraw()),C.touchData.singleTouchMoved=!1,C.touchData.singleTouchStartTime=+new Date,clearTimeout(C.touchData.tapholdTimeout),C.touchData.tapholdTimeout=setTimeout(function(){!1!==C.touchData.singleTouchMoved||C.pinching||C.touchData.selecting||T(C.touchData.start,["taphold"],e,{x:n[0],y:n[1]})},C.tapholdDuration)}if(e.touches.length>=1){for(var B=C.touchData.startPosition=[null,null,null,null,null,null],A=0;A=C.touchTapThreshold2}if(t&&C.touchData.cxt){e.preventDefault();var D=e.touches[0].clientX-d,P=e.touches[0].clientY-h,B=e.touches[1].clientX-d,A=e.touches[1].clientY-h,N=Z(D,P,B,A);if(N/l>=2.25||N>=22500){C.touchData.cxt=!1,C.data.bgActivePosistion=void 0,C.redrawHint("select",!0);var I={originalEvent:e,type:"cxttapend",position:{x:p[0],y:p[1]}};C.touchData.start?(C.touchData.start.unactivate().emit(I),C.touchData.start=null):u.emit(I)}}if(t&&C.touchData.cxt){var I={originalEvent:e,type:"cxtdrag",position:{x:p[0],y:p[1]}};C.data.bgActivePosistion=void 0,C.redrawHint("select",!0),C.touchData.start?C.touchData.start.emit(I):u.emit(I),C.touchData.start&&(C.touchData.start._private.grabbed=!1),C.touchData.cxtDragged=!0;var O=C.findNearestElement(p[0],p[1],!0,!0);(!C.touchData.cxtOver||O!==C.touchData.cxtOver)&&(C.touchData.cxtOver&&C.touchData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:p[0],y:p[1]}}),C.touchData.cxtOver=O,O&&O.emit({originalEvent:e,type:"cxtdragover",position:{x:p[0],y:p[1]}}))}else if(t&&e.touches[2]&&u.boxSelectionEnabled())e.preventDefault(),C.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,C.touchData.selecting||u.emit({originalEvent:e,type:"boxstart",position:{x:p[0],y:p[1]}}),C.touchData.selecting=!0,C.touchData.didSelect=!0,n[4]=1,n&&0!==n.length&&void 0!==n[0]?(n[2]=(p[0]+p[2]+p[4])/3,n[3]=(p[1]+p[3]+p[5])/3):(n[0]=(p[0]+p[2]+p[4])/3,n[1]=(p[1]+p[3]+p[5])/3,n[2]=(p[0]+p[2]+p[4])/3+1,n[3]=(p[1]+p[3]+p[5])/3+1),C.redrawHint("select",!0),C.redraw();else if(t&&e.touches[1]&&!C.touchData.didSelect&&u.zoomingEnabled()&&u.panningEnabled()&&u.userZoomingEnabled()&&u.userPanningEnabled()){e.preventDefault(),C.data.bgActivePosistion=void 0,C.redrawHint("select",!0);var L=C.dragData.touchDragEles;if(L){C.redrawHint("drag",!0);for(var R=0;R0&&!C.hoverData.draggingEles&&!C.swipePanning&&null!=C.data.bgActivePosistion&&(C.data.bgActivePosistion=void 0,C.redrawHint("select",!0),C.redraw())}},!1),C.registerBinding(S,"touchcancel",b=function(e){var t=C.touchData.start;C.touchData.capture=!1,t&&t.unactivate()}),C.registerBinding(S,"touchend",x=function(e){var t,n=C.touchData.start;if(C.touchData.capture){0===e.touches.length&&(C.touchData.capture=!1),e.preventDefault();var r=C.selection;C.swipePanning=!1,C.hoverData.draggingEles=!1;var i=C.cy,a=i.zoom(),o=C.touchData.now,s=C.touchData.earlier;if(e.touches[0]){var l=C.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);o[0]=l[0],o[1]=l[1]}if(e.touches[1]){var l=C.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY);o[2]=l[0],o[3]=l[1]}if(e.touches[2]){var l=C.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY);o[4]=l[0],o[5]=l[1]}if(n&&n.unactivate(),C.touchData.cxt){if(t={originalEvent:e,type:"cxttapend",position:{x:o[0],y:o[1]}},n?n.emit(t):i.emit(t),!C.touchData.cxtDragged){var u={originalEvent:e,type:"cxttap",position:{x:o[0],y:o[1]}};n?n.emit(u):i.emit(u)}C.touchData.start&&(C.touchData.start._private.grabbed=!1),C.touchData.cxt=!1,C.touchData.start=null,C.redraw();return}if(!e.touches[2]&&i.boxSelectionEnabled()&&C.touchData.selecting){C.touchData.selecting=!1;var c=i.collection(C.getAllInBox(r[0],r[1],r[2],r[3]));r[0]=void 0,r[1]=void 0,r[2]=void 0,r[3]=void 0,r[4]=0,C.redrawHint("select",!0),i.emit({type:"boxend",originalEvent:e,position:{x:o[0],y:o[1]}}),c.emit("box").stdFilter(function(e){return e.selectable()&&!e.selected()}).select().emit("boxselect"),c.nonempty()&&C.redrawHint("eles",!0),C.redraw()}if(null!=n&&n.unactivate(),e.touches[2])C.data.bgActivePosistion=void 0,C.redrawHint("select",!0);else if(e.touches[1]);else if(e.touches[0]);else if(!e.touches[0]){C.data.bgActivePosistion=void 0,C.redrawHint("select",!0);var d=C.dragData.touchDragEles;if(null!=n){var h=n._private.grabbed;F(d),C.redrawHint("drag",!0),C.redrawHint("eles",!0),h&&(n.emit("freeon"),d.emit("free"),C.dragData.didDrag&&(n.emit("dragfreeon"),d.emit("dragfree"))),T(n,["touchend","tapend","vmouseup","tapdragout"],e,{x:o[0],y:o[1]}),n.unactivate(),C.touchData.start=null}else T(C.findNearestElement(o[0],o[1],!0,!0),["touchend","tapend","vmouseup","tapdragout"],e,{x:o[0],y:o[1]});var p=C.touchData.startPosition[0]-o[0],f=C.touchData.startPosition[1]-o[1];C.touchData.singleTouchMoved||(n||i.$(":selected").unselect(["tapunselect"]),T(n,["tap","vclick"],e,{x:o[0],y:o[1]}),w=!1,e.timeStamp-k<=i.multiClickDebounceTime()?(E&&clearTimeout(E),w=!0,k=null,T(n,["dbltap","vdblclick"],e,{x:o[0],y:o[1]})):(E=setTimeout(function(){w||T(n,["onetap","voneclick"],e,{x:o[0],y:o[1]})},i.multiClickDebounceTime()),k=e.timeStamp)),null!=n&&!C.dragData.didDrag&&n._private.selectable&&(p*p+f*f)*a*a0)return d[0]}return null}(e,t,f);if(null!=g){var v=tP(f[5],f[3],f[1],g);if(f.isTop&&v<=t||f.isBottom&&t<=v)return!0}}return!1}}},sS.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:t6(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i,this.points,a)},intersectLine:function(e,t,n,r,i,a,o,s){var l=e-(n/2+o),u=t-(r/2+o),c=e+(n/2+o),d=t5(i,a,e,t,l,u,c,u,!1);return d.length>0?d:tq(i,a,e,t,n,r,o,s)},checkPoint:function(e,t,n,r,i,a,o,s){var l=2*(s="auto"===s?ne(r,i):s);if(tK(e,t,this.points,a,o,r,i-l,[0,-1],n)||tK(e,t,this.points,a,o,r-l,i,[0,-1],n))return!0;var u=r/2+2*n,c=i/2+2*n;return!!(tU(e,t,[a-u,o-c,a-u,o,a+u,o,a+u,o-c])||t0(e,t,l,l,a+r/2-s,o+i/2-s,n)||t0(e,t,l,l,a-r/2+s,o+i/2-s,n))}}},sS.registerNodeShapes=function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",t6(3,0)),this.generateRoundPolygon("round-triangle",t6(3,0)),this.generatePolygon("rectangle",t6(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",t6(5,0)),this.generateRoundPolygon("round-pentagon",t6(5,0)),this.generatePolygon("hexagon",t6(6,0)),this.generateRoundPolygon("round-hexagon",t6(6,0)),this.generatePolygon("heptagon",t6(7,0)),this.generateRoundPolygon("round-heptagon",t6(7,0)),this.generatePolygon("octagon",t6(8,0)),this.generateRoundPolygon("round-octagon",t6(8,0));var r=Array(20),i=t7(5,0),a=t7(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;st.className.indexOf(o)&&(t.className=(t.className||"")+" "+o),!s){var l=r.createElement("style");l.id=a,l.textContent="."+o+" { position: relative; }",i.insertBefore(l,i.children[0])}"static"===n.getComputedStyle(t).getPropertyValue("position")&&eJ("A Cytoscape container has style position:static and so can not use UI extensions properly")}this.selection=[void 0,void 0,void 0,void 0,0],this.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],this.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},this.dragData={possibleDragElements:[]},this.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},this.redraws=0,this.showFps=e.showFps,this.debug=e.debug,this.hideEdgesOnViewport=e.hideEdgesOnViewport,this.textureOnViewport=e.textureOnViewport,this.wheelSensitivity=e.wheelSensitivity,this.motionBlurEnabled=e.motionBlur,this.forcedPixelRatio=_(e.pixelRatio)?e.pixelRatio:null,this.motionBlur=e.motionBlur,this.motionBlurOpacity=e.motionBlurOpacity,this.motionBlurTransparency=1-this.motionBlurOpacity,this.motionBlurPxRatio=1,this.mbPxRBlurry=1,this.minMbLowQualFrames=4,this.fullQualityMb=!1,this.clearedForMotionBlur=[],this.desktopTapThreshold=e.desktopTapThreshold,this.desktopTapThreshold2=e.desktopTapThreshold*e.desktopTapThreshold,this.touchTapThreshold=e.touchTapThreshold,this.touchTapThreshold2=e.touchTapThreshold*e.touchTapThreshold,this.tapholdDuration=500,this.bindings=[],this.beforeRenderCallbacks=[],this.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},this.registerNodeShapes(),this.registerArrowShapes(),this.registerCalculationListeners()},s_.notify=function(e,t){var n=this.cy;if(!this.destroyed){if("init"===e){this.load();return}if("destroy"===e){this.destroy();return}("add"===e||"remove"===e||"move"===e&&n.hasCompoundNodes()||"load"===e||"zorder"===e||"mount"===e)&&this.invalidateCachedZSortedEles(),"viewport"===e&&this.redrawHint("select",!0),("load"===e||"resize"===e||"mount"===e)&&(this.invalidateContainerClientCoordsCache(),this.matchCanvasSize(this.container)),this.redrawHint("eles",!0),this.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},s_.destroy=function(){this.destroyed=!0,this.cy.stopAnimationLoop();for(var e=0;e=e.deqFastCost*g)break}else if(i){if(p>=e.deqCost*l||p>=e.deqAvgCost*s)break}else if(f>=e.deqNoDrawCost*sM)break;var v=e.deq(t,d,c);if(v.length>0)for(var y=0;y0&&(e.onDeqd(t,u),!i&&e.shouldRedraw(t,u,d,c)&&r())},i(t))}}},sA=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:eU;i(this,e),this.idsByKey=new tt,this.keyForId=new tt,this.cachesByLvl=new tt,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n}return o(e,[{key:"getIdsFor",value:function(e){null==e&&e$("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new tr,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new tt,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach(function(n){return t.deleteCache(e,n)})}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),sN={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},sI=e3({getKey:null,doesEleInvalidateKey:eU,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:eG,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),sO=function(e,t){this.renderer=e,this.onDequeues=[];var n=sI(t);K(this,n),this.lookup=new sA(n.getKey,n.doesEleInvalidateKey),this.setupDequeueing()},sL=sO.prototype;sL.reasons=sN,sL.getTextureQueue=function(e){return this.eleImgCaches=this.eleImgCaches||{},this.eleImgCaches[e]=this.eleImgCaches[e]||[]},sL.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},sL.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new ts(function(e,t){return t.reqs-e.reqs})},sL.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},sL.getElement=function(e,t,n,r,i){var a,o,s,l=this,u=this.renderer,c=u.cy.zoom(),d=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed()||!l.allowEdgeTxrCaching&&e.isEdge()||!l.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(tk(c*n))),r<-4)r=-4;else if(c>=7.99||r>3)return null;var h=Math.pow(2,r),p=t.h*h,f=t.w*h,g=u.eleTextBiggerThanMin(e,h);if(!this.isVisible(e,g))return null;var v=d.get(e,r);if(v&&v.invalidated&&(v.invalidated=!1,v.texture.invalidatedWidth-=v.width),v)return v;if(a=p<=25?25:p<=50?50:50*Math.ceil(p/50),p>1024||f>1024)return null;var y=l.getTextureQueue(a),b=y[y.length-2],x=function(){return l.recycleTexture(a,f)||l.addTexture(a,f)};b||(b=y[y.length-1]),b||(b=x()),b.width-b.usedWidthr;_--)T=l.getElement(e,t,n,_,sN.downscale);P()}else{if(!E&&!k&&!C)for(var M=r-1;M>=-4;M--){var B=d.get(e,M);if(B){s=B;break}}if(w(s))return l.queueElement(e,r),s;b.context.translate(b.usedWidth,0),b.context.scale(h,h),this.drawElement(b.context,e,t,g,!1),b.context.scale(1/h,1/h),b.context.translate(-b.usedWidth,0)}return v={x:b.usedWidth,texture:b,level:r,scale:h,width:f,height:p,scaledLabelShown:g},b.usedWidth+=Math.ceil(f+8),b.eleCaches.push(v),d.set(e,r,v),l.checkTextureFullness(b),v},sL.invalidateElements=function(e){for(var t=0;t=.2*e.width&&this.retireTexture(e)},sL.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?e4(t,e):e.fullnessChecks++},sL.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;e4(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,e9(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),e4(r,a),n.push(a),a}},sL.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},sL.dequeue=function(e){for(var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=[],i=this.lookup,a=0;a<1;a++)if(t.size()>0){var o=t.pop(),s=o.key,l=o.eles[0],u=i.hasCache(l,o.level);if(n[s]=null,u)continue;r.push(o);var c=this.getBoundingBox(l);this.getElement(l,c,e,o.level,sN.dequeue)}else break;return r},sL.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=eH,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},sL.onDequeue=function(e){this.onDequeues.push(e)},sL.offDequeue=function(e){e4(this.onDequeues,e)},sL.setupDequeueing=sB({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n=3.99||n>2)return null}a.validateLayersElesOrdering(n,e);var l=a.layersByLevel,u=Math.pow(2,n),c=l[n]=l[n]||[];if(a.levelIsComplete(n,e))return c;!function(){var t=function(t){if(a.validateLayersElesOrdering(t,e),a.levelIsComplete(t,e))return i=l[t],!0},r=function(e){if(!i)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};r(1),r(-1);for(var o=c.length-1;o>=0;o--){var s=c[o];s.invalid&&e4(c,s)}}();var d=function(){if(!r){r=tA();for(var t=0;t=p||!tj(h.bb,v.boundingBox()))&&!(h=function(e){var t=(e=e||{}).after;if(d(),r.w*u*(r.h*u)>16e6)return null;var i=a.makeLayer(r,n);if(null!=t){var o=c.indexOf(t)+1;c.splice(o,0,i)}else(void 0===e.insert||e.insert)&&c.unshift(i);return i}({insert:!0,after:h})))return null;i||f?a.queueLayer(h,v):a.drawEleInLayer(h,v,n,t),h.eles.push(v),b[n]=h}return i||(f?null:c)},sz.getEleLevelForLayerLevel=function(e,t){return e},sz.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,!0),i.setImgSmoothing(a,!0))},sz.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i0||a.invalid)return!1;r+=a.eles.length}return r===t.length},sz.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r0){e=!0;break}}return e},sz.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=eB(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,function(e,n,r){t.invalidateLayer(e)}))},sz.invalidateLayer=function(e){if(this.lastInvalidationTime=eB(),!e.invalid){var t=e.level,n=e.eles;e4(this.layersByLevel[t],e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var r=0;r3)||void 0===arguments[3]||arguments[3],a=!(arguments.length>4)||void 0===arguments[4]||arguments[4],o=!(arguments.length>5)||void 0===arguments[5]||arguments[5],s=this,l=t._private.rscratch;if(!(o&&!t.visible()||l.badLine||null==l.allpts||isNaN(l.allpts[0]))){n&&(r=n,e.translate(-r.x1,-r.y1));var u=o?t.pstyle("opacity").value:1,c=o?t.pstyle("line-opacity").value:1,d=t.pstyle("curve-style").value,h=t.pstyle("line-style").value,p=t.pstyle("width").pfValue,f=t.pstyle("line-cap").value,g=u*c,v=u*c,y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;"straight-triangle"===d?(s.eleStrokeStyle(e,t,n),s.drawEdgeTrianglePath(t,e,l.allpts)):(e.lineWidth=p,e.lineCap=f,s.eleStrokeStyle(e,t,n),s.drawEdgePath(t,e,l.allpts,h),e.lineCap="butt")},b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;s.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var x=t.pstyle("ghost-offset-x").pfValue,w=t.pstyle("ghost-offset-y").pfValue,E=g*t.pstyle("ghost-opacity").value;e.translate(x,w),y(E),b(E),e.translate(-x,-w)}a&&s.drawEdgeUnderlay(e,t),y(),b(),a&&s.drawEdgeOverlay(e,t),s.drawElementText(e,t,null,i),n&&e.translate(r.x1,r.y1)}};var s0=function(e){if(!["overlay","underlay"].includes(e))throw Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var i=this.usePaths(),a=n._private.rscratch,o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-color")).value;t.lineWidth=2*o,"self"!==a.edgeType||i?t.lineCap="round":t.lineCap="butt",this.colorStrokeStyle(t,s[0],s[1],s[2],r),this.drawEdgePath(n,t,a.allpts,"solid")}}}};sJ.drawEdgeOverlay=s0("overlay"),sJ.drawEdgeUnderlay=s0("underlay"),sJ.drawEdgePath=function(e,t,n,r){var i=e._private.rscratch,a=t,o=!1,s=this.usePaths(),l=e.pstyle("line-dash-pattern").pfValue,c=e.pstyle("line-dash-offset").pfValue;if(s){var d=n.join("$");i.pathCacheKey&&i.pathCacheKey===d?(f=t=i.pathCache,o=!0):(f=t=new Path2D,i.pathCacheKey=d,i.pathCache=f)}if(a.setLineDash)switch(r){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(l),a.lineDashOffset=c;break;case"solid":a.setLineDash([])}if(!o&&!i.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var h=2;h+3=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(i.roundCorners);try{for(v.s();!(g=v.n()).done;){var y=g.value;sl(t,y)}}catch(e){v.e(e)}finally{v.f()}t.lineTo(n[n.length-2],n[n.length-1])}else for(var b=2;b+15&&void 0!==arguments[5]?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),o?e.stroke():e.fill()}s2.eleTextBiggerThanMin=function(e,t){return t||(t=Math.pow(2,Math.ceil(tk(e.cy().zoom()*this.getPixelRatio())))),!(e.pstyle("font-size").pfValue*t5)||void 0===arguments[5]||arguments[5];if(null==r){if(o&&!this.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var l=this.getLabelJustification(t);e.textAlign=l,e.textBaseline="bottom"}else{var u=t.element()._private.rscratch.badLine,c=t.pstyle("label"),d=t.pstyle("source-label"),h=t.pstyle("target-label");if(u||(!c||!c.value)&&(!d||!d.value)&&(!h||!h.value))return;e.textAlign="center",e.textBaseline="bottom"}var p=!n;n&&(a=n,e.translate(-a.x1,-a.y1)),null==i?(this.drawText(e,t,null,p,o),t.isEdge()&&(this.drawText(e,t,"source",p,o),this.drawText(e,t,"target",p,o))):this.drawText(e,t,i,p,o),n&&e.translate(a.x1,a.y1)},s2.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n2)||void 0===arguments[2]||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,l=t.pstyle("text-outline-opacity").value*s,u=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,u[0],u[1],u[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],l)},s2.getTextAngle=function(e,t){var n=e._private.rscratch,r=t?t+"-":"",i=e.pstyle(r+"text-rotation"),a=e8(n,"labelAngle",t);return"autorotate"===i.strValue?e.isEdge()?a:0:"none"===i.strValue?0:i.pfValue},s2.drawText=function(e,t,n){var r=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],a=t._private.rscratch,o=i?t.effectiveOpacity():1;if(!i||0!==o&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var s=e8(a,"labelX",n),l=e8(a,"labelY",n),u=this.getLabelText(t,n);if(null!=u&&""!==u&&!isNaN(s)&&!isNaN(l)){this.setupTextStyle(e,t,i);var c,d,h,p=n?n+"-":"",f=e8(a,"labelWidth",n),g=e8(a,"labelHeight",n),v=t.pstyle(p+"text-margin-x").pfValue,y=t.pstyle(p+"text-margin-y").pfValue,b=t.isEdge(),x=t.pstyle("text-halign").value,w=t.pstyle("text-valign").value;switch(b&&(x="center",w="center"),s+=v,l+=y,0!==(h=r?this.getTextAngle(t,n):0)&&(c=s,d=l,e.translate(c,d),e.rotate(h),s=0,l=0),w){case"top":break;case"center":l+=g/2;break;case"bottom":l+=g}var E=t.pstyle("text-background-opacity").value,k=t.pstyle("text-border-opacity").value,C=t.pstyle("text-border-width").pfValue,S=t.pstyle("text-background-padding").pfValue,D=0===t.pstyle("text-background-shape").strValue.indexOf("round");if(E>0||C>0&&k>0){var T=s-S;switch(x){case"left":T-=f;break;case"center":T-=f/2}var P=l-g-S,_=f+2*S,M=g+2*S;if(E>0){var B=e.fillStyle,A=t.pstyle("text-background-color").value;e.fillStyle="rgba("+A[0]+","+A[1]+","+A[2]+","+E*o+")",D?s5(e,T,P,_,M,2):e.fillRect(T,P,_,M),e.fillStyle=B}if(C>0&&k>0){var N=e.strokeStyle,I=e.lineWidth,O=t.pstyle("text-border-color").value,L=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+O[0]+","+O[1]+","+O[2]+","+k*o+")",e.lineWidth=C,e.setLineDash)switch(L){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=C/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(D?s5(e,T,P,_,M,2,"stroke"):e.strokeRect(T,P,_,M),"double"===L){var R=C/2;D?s5(e,T+R,P+R,_-2*R,M-2*R,2,"stroke"):e.strokeRect(T+R,P+R,_-2*R,M-2*R)}e.setLineDash&&e.setLineDash([]),e.lineWidth=I,e.strokeStyle=N}}var z=2*t.pstyle("text-outline-width").pfValue;if(z>0&&(e.lineWidth=z),"wrap"===t.pstyle("text-wrap").value){var V=e8(a,"labelWrapCachedLines",n),F=e8(a,"labelLineHeight",n),j=f/2,q=this.getLabelJustification(t);switch("auto"===q||("left"===x?"left"===q?s+=-f:"center"===q&&(s+=-j):"center"===x?"left"===q?s+=-j:"right"===q&&(s+=j):"right"===x&&("center"===q?s+=j:"right"===q&&(s+=f))),w){case"top":case"center":case"bottom":l-=(V.length-1)*F}for(var X=0;X0&&e.strokeText(V[X],s,l),e.fillText(V[X],s,l),l+=F}else z>0&&e.strokeText(u,s,l),e.fillText(u,s,l);0!==h&&(e.rotate(-h),e.translate(-c,-d))}}};var s3={};s3.drawNode=function(e,t,n){var r,i,a,o,s=!(arguments.length>3)||void 0===arguments[3]||arguments[3],l=!(arguments.length>4)||void 0===arguments[4]||arguments[4],u=!(arguments.length>5)||void 0===arguments[5]||arguments[5],c=this,d=t._private,h=d.rscratch,p=t.position();if(_(p.x)&&_(p.y)&&(!u||t.visible())){var f=u?t.effectiveOpacity():1,g=c.usePaths(),v=!1,y=t.padding();r=t.width()+2*y,i=t.height()+2*y,n&&(o=n,e.translate(-o.x1,-o.y1));for(var b=t.pstyle("background-image").value,x=Array(b.length),w=Array(b.length),E=0,k=0;k0&&void 0!==arguments[0]?arguments[0]:P;c.eleFillStyle(e,t,n)},W=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:R;c.colorStrokeStyle(e,M[0],M[1],M[2],t)},H=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:j;c.colorStrokeStyle(e,V[0],V[1],V[2],t)},G=function(e,t,n,r){var i,a=c.nodePathCache=c.nodePathCache||[],o=ej("polygon"===n?n+","+r.join(","):n,""+t,""+e,""+X),s=a[o],l=!1;return null!=s?(i=s,l=!0,h.pathCache=i):(i=new Path2D,a[o]=h.pathCache=i),{path:i,cacheHit:l}},U=t.pstyle("shape").strValue,K=t.pstyle("shape-polygon-points").pfValue;if(g){e.translate(p.x,p.y);var Z=G(r,i,U,K);a=Z.path,v=Z.cacheHit}var $=function(){if(!v){var n=p;g&&(n={x:0,y:0}),c.nodeShapes[c.getNodeShape(t)].draw(a||e,n.x,n.y,r,i,X,h)}g?e.fill(a):e.fill()},Q=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,r=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=d.backgrounding,a=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f;c.hasPie(t)&&(c.drawPie(e,t,a),n&&!g&&c.nodeShapes[c.getNodeShape(t)].draw(e,p.x,p.y,r,i,X,h))},ee=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,n=D>0?0:255;0!==D&&(c.colorFillStyle(e,n,n,n,(D>0?D:-D)*t),g?e.fill(a):e.fill())},et=function(){if(T>0){if(e.lineWidth=T,e.lineCap=N,e.lineJoin=A,e.setLineDash)switch(B){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash(O),e.lineDashOffset=L;break;case"solid":case"double":e.setLineDash([])}if("center"!==I){if(e.save(),e.lineWidth*=2,"inside"===I)g?e.clip(a):e.clip();else{var t=new Path2D;t.rect(-r/2-T,-i/2-T,r+2*T,i+2*T),t.addPath(a),e.clip(t,"evenodd")}g?e.stroke(a):e.stroke(),e.restore()}else g?e.stroke(a):e.stroke();if("double"===B){e.lineWidth=T/3;var n=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",g?e.stroke(a):e.stroke(),e.globalCompositeOperation=n}e.setLineDash&&e.setLineDash([])}},en=function(){if(z>0){if(e.lineWidth=z,e.lineCap="butt",e.setLineDash)switch(F){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}var n=p;g&&(n={x:0,y:0});var a=c.getNodeShape(t),o=T;"inside"===I&&(o=0),"outside"===I&&(o*=2);var s=(r+o+(z+q))/r,l=(i+o+(z+q))/i,u=r*s,d=i*l,h=c.nodeShapes[a].points;if(g&&(S=G(u,d,a,h).path),"ellipse"===a)c.drawEllipsePath(S||e,n.x,n.y,u,d);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var f=0,v=0,y=0;"round-diamond"===a?f=(o+q+z)*1.4:"round-heptagon"===a?(f=(o+q+z)*1.075,y=-(o/2+q+z)/35):"round-hexagon"===a?f=(o+q+z)*1.12:"round-pentagon"===a?(f=(o+q+z)*1.13,y=-(o/2+q+z)/15):"round-tag"===a?(f=(o+q+z)*1.12,v=(o/2+z+q)*.07):"round-triangle"===a&&(f=Math.PI/2*(o+q+z),y=-(o+q/2+z)/Math.PI),0===f||(s=(r+f)/r,u=r*s,["round-hexagon","round-tag"].includes(a)||(l=(i+f)/i,d=i*l)),X="auto"===X?nt(u,d):X;for(var b=u/2,x=d/2,w=X+(o+z+q)/2,E=Array(h.length/2),k=Array(h.length/2),C=0;C0){if(r=r||n.position(),null==i||null==a){var d=n.padding();i=n.width()+2*d,a=n.height()+2*d}this.colorFillStyle(t,l[0],l[1],l[2],s),this.nodeShapes[u].draw(t,r.x,r.y,i+2*o,a+2*o,c),t.fill()}}}};s3.drawNodeOverlay=s4("overlay"),s3.drawNodeUnderlay=s4("underlay"),s3.hasPie=function(e){return(e=e[0])._private.hasPie},s3.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=t.pstyle("pie-size"),o=r.x,s=r.y,l=Math.min(t.width(),t.height())/2,u=0;this.usePaths()&&(o=0,s=0),"%"===a.units?l*=a.pfValue:void 0!==a.pfValue&&(l=a.pfValue/2);for(var c=1;c<=i.pieBackgroundN;c++){var d=t.pstyle("pie-"+c+"-background-size").value,h=t.pstyle("pie-"+c+"-background-color").value,p=t.pstyle("pie-"+c+"-background-opacity").value*n,f=d/100;f+u>1&&(f=1-u);var g=1.5*Math.PI+2*Math.PI*u,v=g+2*Math.PI*f;0===d||u>=1||u+f>1||(e.beginPath(),e.moveTo(o,s),e.arc(o,s,l,g,v),e.closePath(),this.colorFillStyle(e,h[0],h[1],h[2],p),e.fill(),u+=f)}};var s9={};s9.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},s9.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;io.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!d&&(c[o.NODE]=!0,c[o.SELECT_BOX]=!0);var b=l.style(),x=l.zoom(),w=void 0!==i?i:x,E=l.pan(),k={x:E.x,y:E.y},C={zoom:x,pan:{x:E.x,y:E.y}},S=o.prevViewport;void 0===S||C.zoom!==S.zoom||C.pan.x!==S.pan.x||C.pan.y!==S.pan.y||g&&!f||(o.motionBlurPxRatio=1),a&&(k=a),w*=s,k.x*=s,k.y*=s;var D=o.getCachedZSortedEles();function T(e,t,n,r,i){var a=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=a}function P(e,r){var s,l,c,d;o.clearingMotionBlur||e!==u.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==u.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=k,l=w,c=o.canvasWidth,d=o.canvasHeight):(s={x:E.x*p,y:E.y*p},l=x*p,c=o.canvasWidth*p,d=o.canvasHeight*p),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?T(e,0,0,c,d):!t&&(void 0===r||r)&&e.clearRect(0,0,c,d),n||(e.translate(s.x,s.y),e.scale(l,l)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(d||(o.textureDrawLastFrame=!1),d){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=l.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var _=o.data.bufferContexts[o.TEXTURE_BUFFER];_.setTransform(1,0,0,1,0,0),_.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:_,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult});var C=o.textureCache.viewport={zoom:l.zoom(),pan:l.pan(),width:o.canvasWidth,height:o.canvasHeight};C.mpan={x:(0-C.pan.x)/C.zoom,y:(0-C.pan.y)/C.zoom}}c[o.DRAG]=!1,c[o.NODE]=!1;var M=u.contexts[o.NODE],B=o.textureCache.texture,C=o.textureCache.viewport;M.setTransform(1,0,0,1,0,0),h?T(M,0,0,C.width,C.height):M.clearRect(0,0,C.width,C.height);var A=b.core("outside-texture-bg-color").value,N=b.core("outside-texture-bg-opacity").value;o.colorFillStyle(M,A[0],A[1],A[2],N),M.fillRect(0,0,C.width,C.height);var x=l.zoom();P(M,!1),M.clearRect(C.mpan.x,C.mpan.y,C.width/C.zoom/s,C.height/C.zoom/s),M.drawImage(B,C.mpan.x,C.mpan.y,C.width/C.zoom/s,C.height/C.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var I=l.extent(),O=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),L=o.hideEdgesOnViewport&&O,R=[];if(R[o.NODE]=!c[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,R[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),R[o.DRAG]=!c[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,R[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),c[o.NODE]||n||r||R[o.NODE]){var z=h&&!R[o.NODE]&&1!==p,M=t||(z?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:u.contexts[o.NODE]);P(M,h&&!z?"motionBlur":void 0),L?o.drawCachedNodes(M,D.nondrag,s,I):o.drawLayeredElements(M,D.nondrag,s,I),o.debug&&o.drawDebugPoints(M,D.nondrag),n||h||(c[o.NODE]=!1)}if(!r&&(c[o.DRAG]||n||R[o.DRAG])){var z=h&&!R[o.DRAG]&&1!==p,M=t||(z?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:u.contexts[o.DRAG]);P(M,h&&!z?"motionBlur":void 0),L?o.drawCachedNodes(M,D.drag,s,I):o.drawCachedElements(M,D.drag,s,I),o.debug&&o.drawDebugPoints(M,D.drag),n||h||(c[o.DRAG]=!1)}if(o.showFps||!r&&c[o.SELECT_BOX]&&!n){var M=t||u.contexts[o.SELECT_BOX];if(P(M),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){var x=o.cy.zoom(),V=b.core("selection-box-border-width").value/x;M.lineWidth=V,M.fillStyle="rgba("+b.core("selection-box-color").value[0]+","+b.core("selection-box-color").value[1]+","+b.core("selection-box-color").value[2]+","+b.core("selection-box-opacity").value+")",M.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),V>0&&(M.strokeStyle="rgba("+b.core("selection-box-border-color").value[0]+","+b.core("selection-box-border-color").value[1]+","+b.core("selection-box-border-color").value[2]+","+b.core("selection-box-opacity").value+")",M.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(u.bgActivePosistion&&!o.hoverData.selecting){var x=o.cy.zoom(),F=u.bgActivePosistion;M.fillStyle="rgba("+b.core("active-bg-color").value[0]+","+b.core("active-bg-color").value[1]+","+b.core("active-bg-color").value[2]+","+b.core("active-bg-opacity").value+")",M.beginPath(),M.arc(F.x,F.y,b.core("active-bg-size").pfValue/x,0,2*Math.PI),M.fill()}var j=o.lastRedrawTime;if(o.showFps&&j){var q=Math.round(1e3/(j=Math.round(j)));M.setTransform(1,0,0,1,0,0),M.fillStyle="rgba(255, 0, 0, 0.75)",M.strokeStyle="rgba(255, 0, 0, 0.75)",M.lineWidth=1,M.fillText("1 frame = "+j+" ms = "+q+" fps",0,20),M.strokeRect(0,30,250,20),M.fillRect(0,30,250*Math.min(q/60,1),20)}n||(c[o.SELECT_BOX]=!1)}if(h&&1!==p){var X=u.contexts[o.NODE],Y=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],W=u.contexts[o.DRAG],H=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],G=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!y?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):T(e,0,0,o.canvasWidth,o.canvasHeight),e.drawImage(t,0,0,o.canvasWidth*p,o.canvasHeight*p,0,0,o.canvasWidth,o.canvasHeight)};(c[o.NODE]||R[o.NODE])&&(G(X,Y,R[o.NODE]),c[o.NODE]=!1),(c[o.DRAG]||R[o.DRAG])&&(G(W,H,R[o.DRAG]),c[o.DRAG]=!1)}o.prevViewport=C,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout(function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!d,o.mbFrames=0,c[o.NODE]=!0,c[o.DRAG]=!0,o.redraw()},100)),t||l.emit("render")};var s6={};s6.drawPolygonPath=function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var l=1;l0&&a>0){h.clearRect(0,0,i,a),h.globalCompositeOperation="source-over";var p=this.getCachedZSortedEles();if(e.full)h.translate(-n.x1*l,-n.y1*l),h.scale(l,l),this.drawElements(h,p),h.scale(1/l,1/l),h.translate(n.x1*l,n.y1*l);else{var f=t.pan(),g={x:f.x*l,y:f.y*l};l*=t.zoom(),h.translate(g.x,g.y),h.scale(l,l),this.drawElements(h,p),h.scale(1/l,1/l),h.translate(-g.x,-g.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,i,a),h.fill())}return d},ln.png=function(e){return li(e,this.bufferCanvasImage(e),"image/png")},ln.jpg=function(e){return li(e,this.bufferCanvasImage(e),"image/jpeg")};var la={};la.nodeShapeImpl=function(e,t,n,r,i,a,o,s){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,i,a);case"polygon":return this.drawPolygonPath(t,n,r,i,a,o);case"round-polygon":return this.drawRoundPolygonPath(t,n,r,i,a,o,s);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,n,r,i,a,s);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,n,r,i,a,o,s);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,n,r,i,a,s);case"barrel":return this.drawBarrelPath(t,n,r,i,a)}};var lo=ls.prototype;function ls(e){var t=this;t.data={canvases:Array(lo.CANVAS_LAYERS),contexts:Array(lo.CANVAS_LAYERS),canvasNeedsRedraw:Array(lo.CANVAS_LAYERS),bufferCanvases:Array(lo.BUFFER_COUNT),bufferContexts:Array(lo.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",r="rgba(0,0,0,0)";t.data.canvasContainer=document.createElement("div");var i=t.data.canvasContainer.style;t.data.canvasContainer.style[n]=r,i.position="relative",i.zIndex="0",i.overflow="hidden";var a=e.cy.container();a.appendChild(t.data.canvasContainer),a.style[n]=r;var o={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};b&&b.userAgent.match(/msie|trident|edge/i)&&(o["-ms-touch-action"]="none",o["touch-action"]="none");for(var s=0;s2&&P.push("'"+this.terminals_[T]+"'");k=h.showPosition?"Parse error on line "+(c+1)+":\n"+h.showPosition()+"\nExpecting "+P.join(", ")+", got '"+(this.terminals_[y]||y)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==y?"end of input":"'"+(this.terminals_[y]||y)+"'"),this.parseError(k,{text:h.match,token:this.terminals_[y]||y,line:h.yylineno,loc:u,expected:P})}if(f[0]instanceof Array&&f.length>1)throw Error("Parse Error: multiple actions possible at state: "+m+", token: "+y);switch(f[0]){case 1:a.push(y),i.push(h.yytext),s.push(h.yylloc),a.push(f[1]),y=null,l=h.yyleng,n=h.yytext,c=h.yylineno,u=h.yylloc;break;case 2:if(E=this.productions_[f[1]][1],_.$=i[i.length-E],_._$={first_line:s[s.length-(E||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(E||1)].first_column,last_column:s[s.length-1].last_column},x&&(_._$.range=[s[s.length-(E||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(_,[n,l,c,p.yy,f[1],i,s].concat(d))))return b;E&&(a=a.slice(0,-1*E*2),i=i.slice(0,-1*E),s=s.slice(0,-1*E)),a.push(this.productions_[f[1]][0]),i.push(_.$),s.push(_._$),w=o[a[a.length-2]][a[a.length-1]],a.push(w);break;case 3:return!0}}return!0}};function W(){this.yy={}}return q.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,a=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===r.length?this.yylloc.first_column:0)+r[r.length-a.length].length-a[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var a,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],a=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack)for(var s in i)this[s]=i[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,a,r,i=this._currentRules(),s=0;se[0].length)){if(e=a,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(a,i[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,a,r){switch(a){case 0:case 51:case 64:return 5;case 1:case 2:case 3:case 4:case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 52:return e.yytext=e.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 65:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}},W.prototype=q,q.Parser=W,new W}();n.parser=n;class c{constructor(t){this.init=t,this.records=this.init()}reset(){this.records=this.init()}}let l=new c(()=>({prevActor:void 0,actors:{},createdActors:{},destroyedActors:{},boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),d=function(t){l.records.boxes.push({name:t.text,wrap:void 0===t.wrap&&x()||!!t.wrap,fill:t.color,actorKeys:[]}),l.records.currentBox=l.records.boxes.slice(-1)[0]},h=function(t,e,a,r){let i=l.records.currentBox,s=l.records.actors[t];if(s){if(l.records.currentBox&&s.box&&l.records.currentBox!==s.box)throw Error("A same participant should only be defined in one Box: "+s.name+" can't be in '"+s.box.name+"' and in '"+l.records.currentBox.name+"' at the same time.");if(i=s.box?s.box:l.records.currentBox,s.box=i,s&&e===s.name&&null==a)return}(null==a||null==a.text)&&(a={text:e,wrap:null,type:r}),(null==r||null==a.text)&&(a={text:e,wrap:null,type:r}),l.records.actors[t]={box:i,name:e,description:a.text,wrap:void 0===a.wrap&&x()||!!a.wrap,prevActor:l.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:r||"participant"},l.records.prevActor&&l.records.actors[l.records.prevActor]&&(l.records.actors[l.records.prevActor].nextActor=t),l.records.currentBox&&l.records.currentBox.actorKeys.push(t),l.records.prevActor=t},p=t=>{let e;let a=0;for(e=0;ep(t.actor)){let e=Error("Trying to inactivate an inactive participant ("+t.actor+")");throw e.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},e}return l.records.messages.push({from:t,to:e,message:a.text,wrap:void 0===a.wrap&&x()||!!a.wrap,type:r,activate:i}),!0},u=function(t){return l.records.actors[t]},x=()=>void 0!==l.records.wrapEnabled?l.records.wrapEnabled:(0,r.c)().sequence.wrap,y={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32},m=function(t,e,a){let r={actor:t,placement:e,message:a.text,wrap:void 0===a.wrap&&x()||!!a.wrap},i=[].concat(t,t);l.records.notes.push(r),l.records.messages.push({from:i[0],to:i[1],message:a.text,wrap:void 0===a.wrap&&x()||!!a.wrap,type:y.NOTE,placement:e})},f=function(t,e){let a=u(t);try{let t=(0,r.d)(e.text,(0,r.c)());t=(t=t.replace(/&/g,"&")).replace(/=/g,"=");let i=JSON.parse(t);T(a,i)}catch(t){r.l.error("error while parsing actor link text",t)}},b=function(t,e){let a=u(t);try{let t={},n=(0,r.d)(e.text,(0,r.c)());var i=n.indexOf("@"),s=(n=(n=n.replace(/&/g,"&")).replace(/=/g,"=")).slice(0,i-1).trim(),o=n.slice(i+1).trim();t[s]=o,T(a,t)}catch(t){r.l.error("error while parsing actor link text",t)}};function T(t,e){if(null==t.links)t.links=e;else for(let a in e)t.links[a]=e[a]}let E=function(t,e){let a=u(t);try{let t=(0,r.d)(e.text,(0,r.c)()),i=JSON.parse(t);w(a,i)}catch(t){r.l.error("error while parsing actor properties text",t)}};function w(t,e){if(null==t.properties)t.properties=e;else for(let a in e)t.properties[a]=e[a]}let P=function(t,e){let a=u(t),i=document.getElementById(e.text);try{let t=i.innerHTML,e=JSON.parse(t);e.properties&&w(a,e.properties),e.links&&T(a,e.links)}catch(t){r.l.error("error while parsing actor details text",t)}},_=function(t){if(Array.isArray(t))t.forEach(function(t){_(t)});else switch(t.type){case"sequenceIndex":l.records.messages.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":h(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if(l.records.actors[t.actor])throw Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");l.records.lastCreated=t.actor,h(t.actor,t.actor,t.description,t.draw),l.records.createdActors[t.actor]=l.records.messages.length;break;case"destroyParticipant":l.records.lastDestroyed=t.actor,l.records.destroyedActors[t.actor]=l.records.messages.length;break;case"activeStart":case"activeEnd":g(t.actor,void 0,void 0,t.signalType);break;case"addNote":m(t.actor,t.placement,t.text);break;case"addLinks":f(t.actor,t.text);break;case"addALink":b(t.actor,t.text);break;case"addProperties":E(t.actor,t.text);break;case"addDetails":P(t.actor,t.text);break;case"addMessage":if(l.records.lastCreated){if(t.to!==l.records.lastCreated)throw Error("The created participant "+l.records.lastCreated+" does not have an associated creating message after its declaration. Please check the sequence diagram.");l.records.lastCreated=void 0}else if(l.records.lastDestroyed){if(t.to!==l.records.lastDestroyed&&t.from!==l.records.lastDestroyed)throw Error("The destroyed participant "+l.records.lastDestroyed+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");l.records.lastDestroyed=void 0}g(t.from,t.to,t.msg,t.signalType,t.activate);break;case"boxStart":d(t.boxData);break;case"boxEnd":l.records.currentBox=void 0;break;case"loopStart":g(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":case"criticalEnd":case"breakEnd":g(void 0,void 0,void 0,t.signalType);break;case"rectStart":g(void 0,void 0,t.color,t.signalType);break;case"optStart":g(void 0,void 0,t.optText,t.signalType);break;case"altStart":case"else":g(void 0,void 0,t.altText,t.signalType);break;case"setAccTitle":(0,r.s)(t.text);break;case"parStart":case"and":g(void 0,void 0,t.parText,t.signalType);break;case"criticalStart":g(void 0,void 0,t.criticalText,t.signalType);break;case"option":g(void 0,void 0,t.optionText,t.signalType);break;case"breakStart":g(void 0,void 0,t.breakText,t.signalType)}},k={addActor:h,addMessage:function(t,e,a,r){l.records.messages.push({from:t,to:e,message:a.text,wrap:void 0===a.wrap&&x()||!!a.wrap,answer:r})},addSignal:g,addLinks:f,addDetails:P,addProperties:E,autoWrap:x,setWrap:function(t){l.records.wrapEnabled=t},enableSequenceNumbers:function(){l.records.sequenceNumbersEnabled=!0},disableSequenceNumbers:function(){l.records.sequenceNumbersEnabled=!1},showSequenceNumbers:()=>l.records.sequenceNumbersEnabled,getMessages:function(){return l.records.messages},getActors:function(){return l.records.actors},getCreatedActors:function(){return l.records.createdActors},getDestroyedActors:function(){return l.records.destroyedActors},getActor:u,getActorKeys:function(){return Object.keys(l.records.actors)},getActorProperty:function(t,e){if(void 0!==t&&void 0!==t.properties)return t.properties[e]},getAccTitle:r.g,getBoxes:function(){return l.records.boxes},getDiagramTitle:r.t,setDiagramTitle:r.q,getConfig:()=>(0,r.c)().sequence,clear:function(){l.reset(),(0,r.v)()},parseMessage:function(t){let e=t.trim(),a={text:e.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:null!==e.match(/^:?wrap:/)||null===e.match(/^:?nowrap:/)&&void 0};return r.l.debug("parseMessage:",a),a},parseBoxData:function(t){let e=t.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/),a=null!=e&&e[1]?e[1].trim():"transparent",i=null!=e&&e[2]?e[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",a)||(a="transparent",i=t.trim());else{let e=new Option().style;e.color=a,e.color!==a&&(a="transparent",i=t.trim())}return{color:a,text:void 0!==i?(0,r.d)(i.replace(/^:?(?:no)?wrap:/,""),(0,r.c)()):void 0,wrap:void 0!==i?null!==i.match(/^:?wrap:/)||null===i.match(/^:?nowrap:/)&&void 0:void 0}},LINETYPE:y,ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},addNote:m,setAccTitle:r.s,apply:_,setAccDescription:r.b,getAccDescription:r.a,hasAtLeastOneBox:function(){return l.records.boxes.length>0},hasAtLeastOneBoxWithTitle:function(){return l.records.boxes.some(t=>t.name)}},v="actor-top",L="actor-bottom",I=function(t,e){return(0,s.d)(t,e)},M=async function(t,e,a=null){let i=t.append("foreignObject"),s=await (0,r.r)(e.text,(0,r.F)()),o=i.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(s).node().getBoundingClientRect();if(i.attr("height",Math.round(o.height)).attr("width",Math.round(o.width)),"noteText"===e.class){let a=t.node().firstChild;a.setAttribute("height",o.height+2*e.textMargin);let r=a.getBBox();i.attr("x",Math.round(r.x+r.width/2-o.width/2)).attr("y",Math.round(r.y+r.height/2-o.height/2))}else if(a){let{startx:t,stopx:r,starty:s}=a;if(t>r){let e=t;t=r,r=e}i.attr("x",Math.round(t+Math.abs(t-r)/2-o.width/2)),"loopText"===e.class?i.attr("y",Math.round(s)):i.attr("y",Math.round(s-o.height))}return[i]},N=function(t,e){let a=0,i=0,s=e.text.split(r.e.lineBreakRegex),[o,n]=(0,r.D)(e.fontSize),c=[],l=0,d=()=>e.y;if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":d=()=>Math.round(e.y+e.textMargin);break;case"middle":case"center":d=()=>Math.round(e.y+(a+i+e.textMargin)/2);break;case"bottom":case"end":d=()=>Math.round(e.y+(a+i+2*e.textMargin)-e.textMargin)}if(void 0!==e.anchor&&void 0!==e.textMargin&&void 0!==e.width)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle"}for(let[h,p]of s.entries()){void 0!==e.textMargin&&0===e.textMargin&&void 0!==o&&(l=h*o);let s=t.append("text");s.attr("x",e.x),s.attr("y",d()),void 0!==e.anchor&&s.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),void 0!==e.fontFamily&&s.style("font-family",e.fontFamily),void 0!==n&&s.style("font-size",n),void 0!==e.fontWeight&&s.style("font-weight",e.fontWeight),void 0!==e.fill&&s.attr("fill",e.fill),void 0!==e.class&&s.attr("class",e.class),void 0!==e.dy?s.attr("dy",e.dy):0!==l&&s.attr("dy",l);let g=p||r.Z;if(e.tspan){let t=s.append("tspan");t.attr("x",e.x),void 0!==e.fill&&t.attr("fill",e.fill),t.text(g)}else s.text(g);void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0&&(i+=(s._groups||s)[0][0].getBBox().height,a=i),c.push(s)}return c},A=function(t,e){var a,r,i,s;let o=t.append("polygon");return o.attr("points",(a=e.x,r=e.y,a+","+r+" "+(a+(i=e.width))+","+r+" "+(a+i)+","+(r+(s=e.height)-7)+" "+(a+i-8.4)+","+(r+s)+" "+a+","+(r+s))),o.attr("class","labelBox"),e.y=e.y+e.height/2,N(t,e),o},O=-1,S=(t,e,a,r)=>{t.select&&a.forEach(a=>{let i=e[a],s=t.select("#actor"+i.actorCnt);!r.mirrorActors&&i.stopy?s.attr("y2",i.stopy+i.height/2):r.mirrorActors&&s.attr("y2",i.stopy)})},D=async function(t,e,a,i){let o=i?e.stopy:e.starty,n=e.x+e.width/2,c=o+5,l=t.append("g").lower();var d=l;i||(O++,Object.keys(e.links||{}).length&&!a.forceMenus&&d.attr("onclick",`var pu = document.getElementById('actor${O}_popup'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }`).attr("cursor","pointer"),d.append("line").attr("id","actor"+O).attr("x1",n).attr("y1",c).attr("x2",n).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),d=l.append("g"),e.actorCnt=O,null!=e.links&&d.attr("id","root-"+O));let h=(0,s.g)();var p="actor";null!=e.properties&&e.properties.class?p=e.properties.class:h.fill="#eaeaea",i?p+=` ${L}`:p+=` ${v}`,h.x=e.x,h.y=o,h.width=e.width,h.height=e.height,h.class=p,h.rx=3,h.ry=3,h.name=e.name;let g=I(d,h);if(e.rectData=h,null!=e.properties&&e.properties.icon){let t=e.properties.icon.trim();"@"===t.charAt(0)?(0,s.b)(d,h.x+h.width-20,h.y+10,t.substr(1)):(0,s.c)(d,h.x+h.width-20,h.y+10,t)}await F(a,(0,r.G)(e.description))(e.description,d,h.x,h.y,h.width,h.height,{class:"actor"},a);let u=e.height;if(g.node){let t=g.node().getBBox();e.height=t.height,u=t.height}return u},R=async function(t,e,a,i){let o=i?e.stopy:e.starty,n=e.x+e.width/2,c=o+80;t.lower(),i||(O++,t.append("line").attr("id","actor"+O).attr("x1",n).attr("y1",c).attr("x2",n).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),e.actorCnt=O);let l=t.append("g"),d="actor-man";i?d+=` ${L}`:d+=` ${v}`,l.attr("class",d),l.attr("name",e.name);let h=(0,s.g)();h.x=e.x,h.y=o,h.fill="#eaeaea",h.width=e.width,h.height=e.height,h.class="actor",h.rx=3,h.ry=3,l.append("line").attr("id","actor-man-torso"+O).attr("x1",n).attr("y1",o+25).attr("x2",n).attr("y2",o+45),l.append("line").attr("id","actor-man-arms"+O).attr("x1",n-18).attr("y1",o+33).attr("x2",n+18).attr("y2",o+33),l.append("line").attr("x1",n-18).attr("y1",o+60).attr("x2",n).attr("y2",o+45),l.append("line").attr("x1",n).attr("y1",o+45).attr("x2",n+18-2).attr("y2",o+60);let p=l.append("circle");p.attr("cx",e.x+e.width/2),p.attr("cy",o+10),p.attr("r",15),p.attr("width",e.width),p.attr("height",e.height);let g=l.node().getBBox();return e.height=g.height,await F(a,(0,r.G)(e.description))(e.description,l,h.x,h.y+35,h.width,h.height,{class:"actor"},a),e.height},C=async function(t,e,a,r){switch(e.type){case"actor":return await R(t,e,a,r);case"participant":return await D(t,e,a,r)}},$=async function(t,e,a){let r=t.append("g");B(r,e),e.name&&await F(a)(e.name,r,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},a),r.lower()},Y=async function(t,e,a,i){let{boxMargin:o,boxTextMargin:n,labelBoxHeight:c,labelBoxWidth:l,messageFontFamily:d,messageFontSize:h,messageFontWeight:p}=i,g=t.append("g"),u=function(t,e,a,r){return g.append("line").attr("x1",t).attr("y1",e).attr("x2",a).attr("y2",r).attr("class","loopLine")};u(e.startx,e.starty,e.stopx,e.starty),u(e.stopx,e.starty,e.stopx,e.stopy),u(e.startx,e.stopy,e.stopx,e.stopy),u(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach(function(t){u(e.startx,t.y,e.stopx,t.y).style("stroke-dasharray","3, 3")});let x=(0,s.e)();x.text=a,x.x=e.startx,x.y=e.starty,x.fontFamily=d,x.fontSize=h,x.fontWeight=p,x.anchor="middle",x.valign="middle",x.tspan=!1,x.width=l||50,x.height=c||20,x.textMargin=n,x.class="labelText",A(g,x),(x=V()).text=e.title,x.x=e.startx+l/2+(e.stopx-e.startx)/2,x.y=e.starty+o+n,x.anchor="middle",x.valign="middle",x.textMargin=n,x.class="loopText",x.fontFamily=d,x.fontSize=h,x.fontWeight=p,x.wrap=!0;let y=(0,r.G)(x.text)?await M(g,x,e):N(g,x);if(void 0!==e.sectionTitles){for(let[t,a]of Object.entries(e.sectionTitles))if(a.message){x.text=a.message,x.x=e.startx+(e.stopx-e.startx)/2,x.y=e.sections[t].y+o+n,x.class="loopText",x.anchor="middle",x.valign="middle",x.tspan=!1,x.fontFamily=d,x.fontSize=h,x.fontWeight=p,x.wrap=e.wrap,(0,r.G)(x.text)?(e.starty=e.sections[t].y,await M(g,x,e)):N(g,x);let i=Math.round(y.map(t=>(t._groups||t)[0][0].getBBox().height).reduce((t,e)=>t+e));e.sections[t].height+=i-(o+n)}}return e.height=Math.round(e.stopy-e.starty),g},B=function(t,e){(0,s.a)(t,e)},V=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},F=function(){function t(t,e,a,r,i,o,n){s(e.append("text").attr("x",a+i/2).attr("y",r+o/2+5).style("text-anchor","middle").text(t),n)}function e(t,e,a,i,o,n,c,l){let{actorFontSize:d,actorFontFamily:h,actorFontWeight:p}=l,[g,u]=(0,r.D)(d),x=t.split(r.e.lineBreakRegex);for(let t=0;ta?c.width:a,g=d.append("rect");if(g.attr("class","actorPopupMenuPanel"+h),g.attr("x",c.x),g.attr("y",c.height),g.attr("fill",c.fill),g.attr("stroke",c.stroke),g.attr("width",p),g.attr("height",c.height),g.attr("rx",c.rx),g.attr("ry",c.ry),null!=s){var u=20;for(let t in s){var x=d.append("a"),y=(0,o.Nm)(s[t]);x.attr("xlink:href",y),x.attr("target","_blank"),q(r)(t,x,c.x+10,c.height+u,p,20,{class:"actor"},r),u+=30}}return g.attr("height",u),{height:c.height+u,width:p}},anchorElement:function(t){return t.append("g")},drawActivation:function(t,e,a,r,i){let o=(0,s.g)(),n=e.anchored;o.x=e.startx,o.y=e.starty,o.class="activation"+i%3,o.width=e.stopx-e.startx,o.height=a-e.starty,I(n,o)},drawLoop:Y,drawBackgroundRect:B,insertArrowHead:function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},insertArrowFilledHead:function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},insertSequenceNumber:function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},insertArrowCrossHead:function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},insertDatabaseIcon:function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},insertComputerIcon:function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},insertClockIcon:function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},getTextObj:V,getNoteRect:function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},fixLifeLineHeights:S,sanitizeUrl:o.Nm},z={},H={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map(t=>t.height||0))+(0===this.loops.length?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(0===this.messages.length?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(0===this.notes.length?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(t){this.boxes.push(t)},addActor:function(t){this.actors.push(t)},addLoop:function(t){this.loops.push(t)},addMessage:function(t){this.messages.push(t)},addNote:function(t){this.notes.push(t)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,te((0,r.c)())},updateVal:function(t,e,a,r){void 0===t[e]?t[e]=a:t[e]=r(a,t[e])},updateBounds:function(t,e,a,r){let i=this,s=0;function o(o){return function(n){s++;let c=i.sequenceItems.length-s+1;i.updateVal(n,"starty",e-c*z.boxMargin,Math.min),i.updateVal(n,"stopy",r+c*z.boxMargin,Math.max),i.updateVal(H.data,"startx",t-c*z.boxMargin,Math.min),i.updateVal(H.data,"stopx",a+c*z.boxMargin,Math.max),"activation"!==o&&(i.updateVal(n,"startx",t-c*z.boxMargin,Math.min),i.updateVal(n,"stopx",a+c*z.boxMargin,Math.max),i.updateVal(H.data,"starty",e-c*z.boxMargin,Math.min),i.updateVal(H.data,"stopy",r+c*z.boxMargin,Math.max))}}this.sequenceItems.forEach(o()),this.activations.forEach(o("activation"))},insert:function(t,e,a,i){let s=r.e.getMin(t,a),o=r.e.getMax(t,a),n=r.e.getMin(e,i),c=r.e.getMax(e,i);this.updateVal(H.data,"startx",s,Math.min),this.updateVal(H.data,"starty",n,Math.min),this.updateVal(H.data,"stopx",o,Math.max),this.updateVal(H.data,"stopy",c,Math.max),this.updateBounds(s,n,o,c)},newActivation:function(t,e,a){let r=a[t.from.actor],i=ta(t.from.actor).length||0,s=r.x+r.width/2+(i-1)*z.activationWidth/2;this.activations.push({startx:s,starty:this.verticalPos+2,stopx:s+z.activationWidth,stopy:void 0,actor:t.from.actor,anchored:W.anchorElement(e)})},endActivation:function(t){let e=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},createLoop:function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},newLoop:function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return!!this.sequenceItems.length&&this.sequenceItems[this.sequenceItems.length-1].overlap},addSectionToLoop:function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:H.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=r.e.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},U=async function(t,e){H.bumpVerticalPos(z.boxMargin),e.height=z.boxMargin,e.starty=H.getVerticalPos();let a=(0,s.g)();a.x=e.startx,a.y=e.starty,a.width=e.width||z.width,a.class="note";let i=t.append("g"),o=W.drawRect(i,a),n=(0,s.e)();n.x=e.startx,n.y=e.starty,n.width=a.width,n.dy="1em",n.text=e.message,n.class="noteText",n.fontFamily=z.noteFontFamily,n.fontSize=z.noteFontSize,n.fontWeight=z.noteFontWeight,n.anchor=z.noteAlign,n.textMargin=z.noteMargin,n.valign="center";let c=Math.round(((0,r.G)(n.text)?await M(i,n):N(i,n)).map(t=>(t._groups||t)[0][0].getBBox().height).reduce((t,e)=>t+e));o.attr("height",c+2*z.noteMargin),e.height+=c+2*z.noteMargin,H.bumpVerticalPos(c+2*z.noteMargin),e.stopy=e.starty+c+2*z.noteMargin,e.stopx=e.startx+a.width,H.insert(e.startx,e.starty,e.stopx,e.stopy),H.models.addNote(e)},j=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),G=t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),K=t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight});async function X(t,e){let a;H.bumpVerticalPos(10);let{startx:i,stopx:s,message:o}=e,n=r.e.splitBreaks(o).length,c=(0,r.G)(o),l=c?await (0,r.H)(o,(0,r.c)()):r.u.calculateTextDimensions(o,j(z));if(!c){let t=l.height/n;e.height+=t,H.bumpVerticalPos(t)}let d=l.height-10,h=l.width;if(i===s){a=H.getVerticalPos()+d,z.rightAngles||(d+=z.boxMargin,a=H.getVerticalPos()+d),d+=30;let t=r.e.getMax(h/2,z.width/2);H.insert(i-t,H.getVerticalPos()-10+d,s+t,H.getVerticalPos()+30+d)}else d+=z.boxMargin,a=H.getVerticalPos()+d,H.insert(i,a-10,s,a);return H.bumpVerticalPos(d),e.height+=d,e.stopy=e.starty+e.height,H.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),a}let J=async function(t,e,a,i){let o;let{startx:n,stopx:c,starty:l,message:d,type:h,sequenceIndex:p,sequenceVisible:g}=e,u=r.u.calculateTextDimensions(d,j(z)),x=(0,s.e)();x.x=n,x.y=l+10,x.width=c-n,x.class="messageText",x.dy="1em",x.text=d,x.fontFamily=z.messageFontFamily,x.fontSize=z.messageFontSize,x.fontWeight=z.messageFontWeight,x.anchor=z.messageAlign,x.valign="center",x.textMargin=z.wrapPadding,x.tspan=!1,(0,r.G)(x.text)?await M(t,x,{startx:n,stopx:c,starty:a}):N(t,x);let y=u.width;n===c?o=z.rightAngles?t.append("path").attr("d",`M ${n},${a} H ${n+r.e.getMax(z.width/2,y/2)} V ${a+25} H ${n}`):t.append("path").attr("d","M "+n+","+a+" C "+(n+60)+","+(a-10)+" "+(n+60)+","+(a+30)+" "+n+","+(a+20)):((o=t.append("line")).attr("x1",n),o.attr("y1",a),o.attr("x2",c),o.attr("y2",a)),h===i.db.LINETYPE.DOTTED||h===i.db.LINETYPE.DOTTED_CROSS||h===i.db.LINETYPE.DOTTED_POINT||h===i.db.LINETYPE.DOTTED_OPEN?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0");let m="";z.arrowMarkerAbsolute&&(m=(m=(m=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),o.attr("stroke-width",2),o.attr("stroke","none"),o.style("fill","none"),(h===i.db.LINETYPE.SOLID||h===i.db.LINETYPE.DOTTED)&&o.attr("marker-end","url("+m+"#arrowhead)"),(h===i.db.LINETYPE.SOLID_POINT||h===i.db.LINETYPE.DOTTED_POINT)&&o.attr("marker-end","url("+m+"#filled-head)"),(h===i.db.LINETYPE.SOLID_CROSS||h===i.db.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url("+m+"#crosshead)"),(g||z.showSequenceNumbers)&&(o.attr("marker-start","url("+m+"#sequencenumber)"),t.append("text").attr("x",n).attr("y",a+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(p))},Z=async function(t,e,a,i,s,o,n){let c,l=0,d=0,h=0;for(let t of i){let i=e[t],o=i.box;c&&c!=o&&(n||H.models.addBox(c),d+=z.boxMargin+c.margin),o&&o!=c&&(n||(o.x=l+d,o.y=s),d+=o.margin),i.width=i.width||z.width,i.height=r.e.getMax(i.height||z.height,z.height),i.margin=i.margin||z.actorMargin,h=r.e.getMax(h,i.height),a[i.name]&&(d+=i.width/2),i.x=l+d,i.starty=H.getVerticalPos(),H.insert(i.x,s,i.x+i.width,i.height),l+=i.width+d,i.box&&(i.box.width=l+o.margin-i.box.x),d=i.margin,c=i.box,H.models.addActor(i)}c&&!n&&H.models.addBox(c),H.bumpVerticalPos(h)},Q=async function(t,e,a,i){if(i){let i=0;for(let s of(H.bumpVerticalPos(2*z.boxMargin),a)){let a=e[s];a.stopy||(a.stopy=H.getVerticalPos());let o=await W.drawActor(t,a,z,!0);i=r.e.getMax(i,o)}H.bumpVerticalPos(i+z.boxMargin)}else for(let r of a){let a=e[r];await W.drawActor(t,a,z,!1)}},tt=function(t,e,a,r){let i=0,s=0;for(let o of a){let a=e[o],n=tn(a),c=W.drawPopup(t,a,n,z,z.forceMenus,r);c.height>i&&(i=c.height),c.width+a.x>s&&(s=c.width+a.x)}return{maxHeight:i,maxWidth:s}},te=function(t){(0,r.f)(z,t),t.fontFamily&&(z.actorFontFamily=z.noteFontFamily=z.messageFontFamily=t.fontFamily),t.fontSize&&(z.actorFontSize=z.noteFontSize=z.messageFontSize=t.fontSize),t.fontWeight&&(z.actorFontWeight=z.noteFontWeight=z.messageFontWeight=t.fontWeight)},ta=function(t){return H.activations.filter(function(e){return e.actor===t})},tr=function(t,e){let a=e[t],i=ta(t);return[i.reduce(function(t,e){return r.e.getMin(t,e.startx)},a.x+a.width/2-1),i.reduce(function(t,e){return r.e.getMax(t,e.stopx)},a.x+a.width/2+1)]};function ti(t,e,a,i,s){H.bumpVerticalPos(a);let o=i;if(e.id&&e.message&&t[e.id]){let a=t[e.id].width,s=j(z);e.message=r.u.wrapLabel(`[${e.message}]`,a-2*z.wrapPadding,s),e.width=a,e.wrap=!0;let n=r.u.calculateTextDimensions(e.message,s),c=r.e.getMax(n.height,z.labelBoxHeight);o=i+c,r.l.debug(`${c} - ${e.message}`)}s(e),H.bumpVerticalPos(o)}let ts=async function(t,e,a,s){let o;let{securityLevel:n,sequence:c}=(0,r.c)();z=c,"sandbox"===n&&(o=(0,i.Ys)("#i"+e));let l="sandbox"===n?(0,i.Ys)(o.nodes()[0].contentDocument.body):(0,i.Ys)("body"),d="sandbox"===n?o.nodes()[0].contentDocument:document;H.init(),r.l.debug(s.db);let h="sandbox"===n?l.select(`[id="${e}"]`):(0,i.Ys)(`[id="${e}"]`),p=s.db.getActors(),g=s.db.getCreatedActors(),u=s.db.getDestroyedActors(),x=s.db.getBoxes(),y=s.db.getActorKeys(),m=s.db.getMessages(),f=s.db.getDiagramTitle(),b=s.db.hasAtLeastOneBox(),T=s.db.hasAtLeastOneBoxWithTitle(),E=await to(p,m,s);if(z.height=await tc(p,E,x),W.insertComputerIcon(h),W.insertDatabaseIcon(h),W.insertClockIcon(h),b&&(H.bumpVerticalPos(z.boxMargin),T&&H.bumpVerticalPos(x[0].textMaxHeight)),!0===z.hideUnusedParticipants){let t=new Set;m.forEach(e=>{t.add(e.from),t.add(e.to)}),y=y.filter(e=>t.has(e))}await Z(h,p,g,y,0,m,!1);let w=await th(m,p,E,s);W.insertArrowHead(h),W.insertArrowCrossHead(h),W.insertArrowFilledHead(h),W.insertSequenceNumber(h);let P=1,_=1,k=[],v=[],L=0;for(let t of m){let e,a,i;switch(t.type){case s.db.LINETYPE.NOTE:H.resetVerticalPos(),a=t.noteModel,await U(h,a);break;case s.db.LINETYPE.ACTIVE_START:H.newActivation(t,h,p);break;case s.db.LINETYPE.ACTIVE_END:!function(t,e){let a=H.endActivation(t);a.starty+18>e&&(a.starty=e-6,e+=12),W.drawActivation(h,a,e,z,ta(t.from.actor).length),H.insert(a.startx,e-10,a.stopx,e)}(t,H.getVerticalPos());break;case s.db.LINETYPE.LOOP_START:ti(w,t,z.boxMargin,z.boxMargin+z.boxTextMargin,t=>H.newLoop(t));break;case s.db.LINETYPE.LOOP_END:e=H.endLoop(),await W.drawLoop(h,e,"loop",z),H.bumpVerticalPos(e.stopy-H.getVerticalPos()),H.models.addLoop(e);break;case s.db.LINETYPE.RECT_START:ti(w,t,z.boxMargin,z.boxMargin,t=>H.newLoop(void 0,t.message));break;case s.db.LINETYPE.RECT_END:e=H.endLoop(),v.push(e),H.models.addLoop(e),H.bumpVerticalPos(e.stopy-H.getVerticalPos());break;case s.db.LINETYPE.OPT_START:ti(w,t,z.boxMargin,z.boxMargin+z.boxTextMargin,t=>H.newLoop(t));break;case s.db.LINETYPE.OPT_END:e=H.endLoop(),await W.drawLoop(h,e,"opt",z),H.bumpVerticalPos(e.stopy-H.getVerticalPos()),H.models.addLoop(e);break;case s.db.LINETYPE.ALT_START:ti(w,t,z.boxMargin,z.boxMargin+z.boxTextMargin,t=>H.newLoop(t));break;case s.db.LINETYPE.ALT_ELSE:ti(w,t,z.boxMargin+z.boxTextMargin,z.boxMargin,t=>H.addSectionToLoop(t));break;case s.db.LINETYPE.ALT_END:e=H.endLoop(),await W.drawLoop(h,e,"alt",z),H.bumpVerticalPos(e.stopy-H.getVerticalPos()),H.models.addLoop(e);break;case s.db.LINETYPE.PAR_START:case s.db.LINETYPE.PAR_OVER_START:ti(w,t,z.boxMargin,z.boxMargin+z.boxTextMargin,t=>H.newLoop(t)),H.saveVerticalPos();break;case s.db.LINETYPE.PAR_AND:ti(w,t,z.boxMargin+z.boxTextMargin,z.boxMargin,t=>H.addSectionToLoop(t));break;case s.db.LINETYPE.PAR_END:e=H.endLoop(),await W.drawLoop(h,e,"par",z),H.bumpVerticalPos(e.stopy-H.getVerticalPos()),H.models.addLoop(e);break;case s.db.LINETYPE.AUTONUMBER:P=t.message.start||P,_=t.message.step||_,t.message.visible?s.db.enableSequenceNumbers():s.db.disableSequenceNumbers();break;case s.db.LINETYPE.CRITICAL_START:ti(w,t,z.boxMargin,z.boxMargin+z.boxTextMargin,t=>H.newLoop(t));break;case s.db.LINETYPE.CRITICAL_OPTION:ti(w,t,z.boxMargin+z.boxTextMargin,z.boxMargin,t=>H.addSectionToLoop(t));break;case s.db.LINETYPE.CRITICAL_END:e=H.endLoop(),await W.drawLoop(h,e,"critical",z),H.bumpVerticalPos(e.stopy-H.getVerticalPos()),H.models.addLoop(e);break;case s.db.LINETYPE.BREAK_START:ti(w,t,z.boxMargin,z.boxMargin+z.boxTextMargin,t=>H.newLoop(t));break;case s.db.LINETYPE.BREAK_END:e=H.endLoop(),await W.drawLoop(h,e,"break",z),H.bumpVerticalPos(e.stopy-H.getVerticalPos()),H.models.addLoop(e);break;default:try{(i=t.msgModel).starty=H.getVerticalPos(),i.sequenceIndex=P,i.sequenceVisible=s.db.showSequenceNumbers();let e=await X(h,i);!function(t,e,a,r,i,s,o){function n(a,r){a.xW.drawBackgroundRect(h,t)),S(h,p,y,z),H.models.boxes))t.height=H.getVerticalPos()-t.y,H.insert(t.x,t.y,t.x+t.width,t.height),t.startx=t.x,t.starty=t.y,t.stopx=t.startx+t.width,t.stopy=t.starty+t.height,t.stroke="rgb(0,0,0, 0.5)",await W.drawBox(h,t,z);b&&H.bumpVerticalPos(z.boxMargin);let I=tt(h,p,y,d),{bounds:M}=H.getBounds(),N=M.stopy-M.starty;N{let a=j(z),i=e.actorKeys.reduce((e,a)=>e+=t[a].width+(t[a].margin||0),0);i-=2*z.boxTextMargin,e.wrap&&(e.name=r.u.wrapLabel(e.name,i-2*z.wrapPadding,a));let o=r.u.calculateTextDimensions(e.name,a);s=r.e.getMax(o.height,s);let n=r.e.getMax(i,o.width+2*z.wrapPadding);if(e.margin=z.boxTextMargin,it.textMaxHeight=s),r.e.getMax(i,z.height)}let tl=async function(t,e,a){let i=e[t.from].x,s=e[t.to].x,o=t.wrap&&t.message,n=(0,r.G)(t.message)?await (0,r.H)(t.message,(0,r.c)()):r.u.calculateTextDimensions(o?r.u.wrapLabel(t.message,z.width,G(z)):t.message,G(z)),c={width:o?z.width:r.e.getMax(z.width,n.width+2*z.noteMargin),height:0,startx:e[t.from].x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===a.db.PLACEMENT.RIGHTOF?(c.width=o?r.e.getMax(z.width,n.width):r.e.getMax(e[t.from].width/2+e[t.to].width/2,n.width+2*z.noteMargin),c.startx=i+(e[t.from].width+z.actorMargin)/2):t.placement===a.db.PLACEMENT.LEFTOF?(c.width=o?r.e.getMax(z.width,n.width+2*z.noteMargin):r.e.getMax(e[t.from].width/2+e[t.to].width/2,n.width+2*z.noteMargin),c.startx=i-c.width+(e[t.from].width-z.actorMargin)/2):t.to===t.from?(n=r.u.calculateTextDimensions(o?r.u.wrapLabel(t.message,r.e.getMax(z.width,e[t.from].width),G(z)):t.message,G(z)),c.width=o?r.e.getMax(z.width,e[t.from].width):r.e.getMax(e[t.from].width,z.width,n.width+2*z.noteMargin),c.startx=i+(e[t.from].width-c.width)/2):(c.width=Math.abs(i+e[t.from].width/2-(s+e[t.to].width/2))+z.actorMargin,c.startx=i2,p=t=>c?-t:t;t.from===t.to?d=l:(t.activate&&!h&&(d+=p(z.activationWidth/2-1)),[a.db.LINETYPE.SOLID_OPEN,a.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(d+=p(3)));let g=[i,s,o,n],u=Math.abs(l-d);t.wrap&&t.message&&(t.message=r.u.wrapLabel(t.message,r.e.getMax(u+2*z.wrapPadding,z.width),j(z)));let x=r.u.calculateTextDimensions(t.message,j(z));return{width:r.e.getMax(t.wrap?0:x.width+2*z.wrapPadding,u+2*z.wrapPadding,z.width),height:0,startx:l,stopx:d,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,g),toBounds:Math.max.apply(null,g)}},th=async function(t,e,a,i){let s,o,n;let c={},l=[];for(let a of t){switch(a.id=r.u.random({length:10}),a.type){case i.db.LINETYPE.LOOP_START:case i.db.LINETYPE.ALT_START:case i.db.LINETYPE.OPT_START:case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:case i.db.LINETYPE.CRITICAL_START:case i.db.LINETYPE.BREAK_START:l.push({id:a.id,msg:a.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case i.db.LINETYPE.ALT_ELSE:case i.db.LINETYPE.PAR_AND:case i.db.LINETYPE.CRITICAL_OPTION:a.message&&(c[(s=l.pop()).id]=s,c[a.id]=s,l.push(s));break;case i.db.LINETYPE.LOOP_END:case i.db.LINETYPE.ALT_END:case i.db.LINETYPE.OPT_END:case i.db.LINETYPE.PAR_END:case i.db.LINETYPE.CRITICAL_END:case i.db.LINETYPE.BREAK_END:c[(s=l.pop()).id]=s;break;case i.db.LINETYPE.ACTIVE_START:{let t=e[a.from?a.from.actor:a.to.actor],r=ta(a.from?a.from.actor:a.to.actor).length,i=t.x+t.width/2+(r-1)*z.activationWidth/2,s={startx:i,stopx:i+z.activationWidth,actor:a.from.actor,enabled:!0};H.activations.push(s)}break;case i.db.LINETYPE.ACTIVE_END:{let t=H.activations.map(t=>t.actor).lastIndexOf(a.from.actor);delete H.activations.splice(t,1)[0]}}void 0!==a.placement?(o=await tl(a,e,i),a.noteModel=o,l.forEach(t=>{(s=t).from=r.e.getMin(s.from,o.startx),s.to=r.e.getMax(s.to,o.startx+o.width),s.width=r.e.getMax(s.width,Math.abs(s.from-s.to))-z.labelBoxWidth})):(n=td(a,e,i),a.msgModel=n,n.startx&&n.stopx&&l.length>0&&l.forEach(t=>{if(s=t,n.startx===n.stopx){let t=e[a.from],i=e[a.to];s.from=r.e.getMin(t.x-n.width/2,t.x-t.width/2,s.from),s.to=r.e.getMax(i.x+n.width/2,i.x+t.width/2,s.to),s.width=r.e.getMax(s.width,Math.abs(s.to-s.from))-z.labelBoxWidth}else s.from=r.e.getMin(n.startx,s.from),s.to=r.e.getMax(n.stopx,s.to),s.width=r.e.getMax(s.width,n.width)-z.labelBoxWidth}))}return H.activations=[],r.l.debug("Loop type widths:",c),c},tp={parser:n,db:k,renderer:{bounds:H,drawActors:Q,drawActorsPopup:tt,setConf:te,draw:ts},styles:t=>`.actor { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + + text.actor > tspan { + fill: ${t.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${t.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${t.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${t.signalColor}; + } + + #arrowhead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .sequenceNumber { + fill: ${t.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${t.signalColor}; + } + + #crosshead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .messageText { + fill: ${t.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${t.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${t.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${t.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation1 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation2 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${t.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + .actor-man circle, line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + stroke-width: 2px; + } +`,init:({wrap:t})=>{k.setWrap(t)}}},3789:function(t,e,a){a.d(e,{a:function(){return o},b:function(){return l},c:function(){return c},d:function(){return s},e:function(){return h},f:function(){return n},g:function(){return d}});var r=a(6574),i=a(1835);let s=(t,e)=>{let a=t.append("rect");if(a.attr("x",e.x),a.attr("y",e.y),a.attr("fill",e.fill),a.attr("stroke",e.stroke),a.attr("width",e.width),a.attr("height",e.height),e.name&&a.attr("name",e.name),void 0!==e.rx&&a.attr("rx",e.rx),void 0!==e.ry&&a.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)a.attr(t,e.attrs[t]);return void 0!==e.class&&a.attr("class",e.class),a},o=(t,e)=>{s(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},n=(t,e)=>{let a=e.text.replace(i.J," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),void 0!==e.class&&r.attr("class",e.class);let s=r.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.text(a),r},c=(t,e,a,i)=>{let s=t.append("image");s.attr("x",e),s.attr("y",a);let o=(0,r.Nm)(i);s.attr("xlink:href",o)},l=(t,e,a,i)=>{let s=t.append("use");s.attr("x",e),s.attr("y",a);let o=(0,r.Nm)(i);s.attr("xlink:href",`#${o}`)},d=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),h=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0})}}]); \ No newline at end of file diff --git a/_next/static/chunks/9528-ae38f81c8934c830.js b/_next/static/chunks/9528-ae38f81c8934c830.js new file mode 100644 index 0000000..11417f6 --- /dev/null +++ b/_next/static/chunks/9528-ae38f81c8934c830.js @@ -0,0 +1,16 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9528],{9463:function(e,t,r){"use strict";r.d(t,{Z:function(){return m}});var n=function(){function e(e){var t=this;this._insertTag=function(e){var r;r=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,r),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){if(this.ctr%(this.isSpeedy?65e3:1)==0){var t;this._insertTag(((t=document.createElement("style")).setAttribute("data-emotion",this.key),void 0!==this.nonce&&t.setAttribute("nonce",this.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t))}var r=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t-1&&!e.return)switch(e.type){case a.h5:e.return=function e(t,r){switch((0,i.vp)(t,r)){case 5103:return a.G$+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return a.G$+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return a.G$+t+a.uj+t+a.MS+t+t;case 6828:case 4268:return a.G$+t+a.MS+t+t;case 6165:return a.G$+t+a.MS+"flex-"+t+t;case 5187:return a.G$+t+(0,i.gx)(t,/(\w+).+(:[^]+)/,a.G$+"box-$1$2"+a.MS+"flex-$1$2")+t;case 5443:return a.G$+t+a.MS+"flex-item-"+(0,i.gx)(t,/flex-|-self/,"")+t;case 4675:return a.G$+t+a.MS+"flex-line-pack"+(0,i.gx)(t,/align-content|flex-|-self/,"")+t;case 5548:return a.G$+t+a.MS+(0,i.gx)(t,"shrink","negative")+t;case 5292:return a.G$+t+a.MS+(0,i.gx)(t,"basis","preferred-size")+t;case 6060:return a.G$+"box-"+(0,i.gx)(t,"-grow","")+a.G$+t+a.MS+(0,i.gx)(t,"grow","positive")+t;case 4554:return a.G$+(0,i.gx)(t,/([^-])(transform)/g,"$1"+a.G$+"$2")+t;case 6187:return(0,i.gx)((0,i.gx)((0,i.gx)(t,/(zoom-|grab)/,a.G$+"$1"),/(image-set)/,a.G$+"$1"),t,"")+t;case 5495:case 3959:return(0,i.gx)(t,/(image-set\([^]*)/,a.G$+"$1$`$1");case 4968:return(0,i.gx)((0,i.gx)(t,/(.+:)(flex-)?(.*)/,a.G$+"box-pack:$3"+a.MS+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+a.G$+t+t;case 4095:case 3583:case 4068:case 2532:return(0,i.gx)(t,/(.+)-inline(.+)/,a.G$+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if((0,i.to)(t)-1-r>6)switch((0,i.uO)(t,r+1)){case 109:if(45!==(0,i.uO)(t,r+4))break;case 102:return(0,i.gx)(t,/(.+:)(.+)-([^]+)/,"$1"+a.G$+"$2-$3$1"+a.uj+(108==(0,i.uO)(t,r+3)?"$3":"$2-$3"))+t;case 115:return~(0,i.Cw)(t,"stretch")?e((0,i.gx)(t,"stretch","fill-available"),r)+t:t}break;case 4949:if(115!==(0,i.uO)(t,r+1))break;case 6444:switch((0,i.uO)(t,(0,i.to)(t)-3-(~(0,i.Cw)(t,"!important")&&10))){case 107:return(0,i.gx)(t,":",":"+a.G$)+t;case 101:return(0,i.gx)(t,/(.+:)([^;!]+)(;|!.+)?/,"$1"+a.G$+(45===(0,i.uO)(t,14)?"inline-":"")+"box$3$1"+a.G$+"$2$3$1"+a.MS+"$2box$3")+t}break;case 5936:switch((0,i.uO)(t,r+11)){case 114:return a.G$+t+a.MS+(0,i.gx)(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return a.G$+t+a.MS+(0,i.gx)(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return a.G$+t+a.MS+(0,i.gx)(t,/[svh]\w+-[tblr]{2}/,"lr")+t}return a.G$+t+a.MS+t+t}return t}(e.value,e.length);break;case a.lK:return(0,l.q)([(0,o.JG)(e,{value:(0,i.gx)(e.value,"@","@"+a.G$)})],n);case a.Fr:if(e.length)return(0,i.$e)(e.props,function(t){switch((0,i.EQ)(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return(0,l.q)([(0,o.JG)(e,{props:[(0,i.gx)(t,/:(read-\w+)/,":"+a.uj+"$1")]})],n);case"::placeholder":return(0,l.q)([(0,o.JG)(e,{props:[(0,i.gx)(t,/:(plac\w+)/,":"+a.G$+"input-$1")]}),(0,o.JG)(e,{props:[(0,i.gx)(t,/:(plac\w+)/,":"+a.uj+"$1")]}),(0,o.JG)(e,{props:[(0,i.gx)(t,/:(plac\w+)/,a.MS+"input-$1")]})],n)}return""})}}],m=function(e){var t,r,o,a,u,s,f=e.key;if("css"===f){var m=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(m,function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))})}var g=e.stylisPlugins||h,y={},v=[];r=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+f+' "]'),function(e){for(var t=e.getAttribute("data-emotion").split(" "),r=1;r=4;++n,o-=4)t=(65535&(t=255&e.charCodeAt(n)|(255&e.charCodeAt(++n))<<8|(255&e.charCodeAt(++n))<<16|(255&e.charCodeAt(++n))<<24))*1540483477+((t>>>16)*59797<<16),t^=t>>>24,r=(65535&t)*1540483477+((t>>>16)*59797<<16)^(65535&r)*1540483477+((r>>>16)*59797<<16);switch(o){case 3:r^=(255&e.charCodeAt(n+2))<<16;case 2:r^=(255&e.charCodeAt(n+1))<<8;case 1:r^=255&e.charCodeAt(n),r=(65535&r)*1540483477+((r>>>16)*59797<<16)}return r^=r>>>13,(((r=(65535&r)*1540483477+((r>>>16)*59797<<16))^r>>>15)>>>0).toString(36)}(a)+u,styles:a,next:n}}},7278:function(e,t,r){"use strict";r.d(t,{L:function(){return a},j:function(){return l}});var n,o=r(7294),i=!!(n||(n=r.t(o,2))).useInsertionEffect&&(n||(n=r.t(o,2))).useInsertionEffect,a=i||function(e){return e()},l=i||o.useLayoutEffect},444:function(e,t,r){"use strict";function n(e,t,r){var n="";return r.split(" ").forEach(function(r){void 0!==e[r]?t.push(e[r]+";"):n+=r+" "}),n}r.d(t,{My:function(){return i},fp:function(){return n},hC:function(){return o}});var o=function(e,t,r){var n=e.key+"-"+t.name;!1===r&&void 0===e.registered[n]&&(e.registered[n]=t.styles)},i=function(e,t,r){o(e,t,r);var n=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var i=t;do e.insert(t===i?"."+n:"",i,e.sheet,!0),i=i.next;while(void 0!==i)}}},3534:function(e,t,r){"use strict";let n;r.r(t),r.d(t,{GlobalStyles:function(){return k},StyledEngineProvider:function(){return Z},ThemeContext:function(){return u.T},css:function(){return v.iv},default:function(){return w},internal_processStyles:function(){return S},keyframes:function(){return v.F4}});var o=r(7462),i=r(7294),a=r(5042),l=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,c=(0,a.Z)(function(e){return l.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&91>e.charCodeAt(2)}),u=r(6498),s=r(444),f=r(8137),d=r(7278),p=function(e){return"theme"!==e},h=function(e){return"string"==typeof e&&e.charCodeAt(0)>96?c:p},m=function(e,t,r){var n;if(t){var o=t.shouldForwardProp;n=e.__emotion_forwardProp&&o?function(t){return e.__emotion_forwardProp(t)&&o(t)}:o}return"function"!=typeof n&&r&&(n=e.__emotion_forwardProp),n},g=function(e){var t=e.cache,r=e.serialized,n=e.isStringTag;return(0,s.hC)(t,r,n),(0,d.L)(function(){return(0,s.My)(t,r,n)}),null},y=(function e(t,r){var n,a,l=t.__emotion_real===t,c=l&&t.__emotion_base||t;void 0!==r&&(n=r.label,a=r.target);var d=m(t,r,l),p=d||h(c),y=!p("as");return function(){var v=arguments,b=l&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==n&&b.push("label:"+n+";"),null==v[0]||void 0===v[0].raw)b.push.apply(b,v);else{b.push(v[0][0]);for(var x=v.length,Z=1;Zt(null==e||0===Object.keys(e).length?r:e):t;return(0,x.jsx)(v.xB,{styles:n})}function w(e,t){return y(e,t)}"object"==typeof document&&(n=(0,b.Z)({key:"css",prepend:!0}));let S=(e,t)=>{Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))}},2101:function(e,t,r){"use strict";var n=r(4836);t.Fq=function(e,t){return e=l(e),t=a(t),("rgb"===e.type||"hsl"===e.type)&&(e.type+="a"),"color"===e.type?e.values[3]=`/${t}`:e.values[3]=t,c(e)},t._j=function(e,t){if(e=l(e),t=a(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb")||-1!==e.type.indexOf("color"))for(let r=0;r<3;r+=1)e.values[r]*=1-t;return c(e)},t.mi=function(e,t){let r=u(e),n=u(t);return(Math.max(r,n)+.05)/(Math.min(r,n)+.05)},t.$n=function(e,t){if(e=l(e),t=a(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(let r=0;r<3;r+=1)e.values[r]+=(255-e.values[r])*t;else if(-1!==e.type.indexOf("color"))for(let r=0;r<3;r+=1)e.values[r]+=(1-e.values[r])*t;return c(e)};var o=n(r(743)),i=n(r(9425));function a(e,t=0,r=1){return(0,i.default)(e,t,r)}function l(e){let t;if(e.type)return e;if("#"===e.charAt(0))return l(function(e){e=e.slice(1);let t=RegExp(`.{1,${e.length>=6?2:1}}`,"g"),r=e.match(t);return r&&1===r[0].length&&(r=r.map(e=>e+e)),r?`rgb${4===r.length?"a":""}(${r.map((e,t)=>t<3?parseInt(e,16):Math.round(parseInt(e,16)/255*1e3)/1e3).join(", ")})`:""}(e));let r=e.indexOf("("),n=e.substring(0,r);if(-1===["rgb","rgba","hsl","hsla","color"].indexOf(n))throw Error((0,o.default)(9,e));let i=e.substring(r+1,e.length-1);if("color"===n){if(t=(i=i.split(" ")).shift(),4===i.length&&"/"===i[3].charAt(0)&&(i[3]=i[3].slice(1)),-1===["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(t))throw Error((0,o.default)(10,t))}else i=i.split(",");return{type:n,values:i=i.map(e=>parseFloat(e)),colorSpace:t}}function c(e){let{type:t,colorSpace:r}=e,{values:n}=e;return -1!==t.indexOf("rgb")?n=n.map((e,t)=>t<3?parseInt(e,10):e):-1!==t.indexOf("hsl")&&(n[1]=`${n[1]}%`,n[2]=`${n[2]}%`),n=-1!==t.indexOf("color")?`${r} ${n.join(" ")}`:`${n.join(", ")}`,`${t}(${n})`}function u(e){let t="hsl"===(e=l(e)).type||"hsla"===e.type?l(function(e){let{values:t}=e=l(e),r=t[0],n=t[1]/100,o=t[2]/100,i=n*Math.min(o,1-o),a=(e,t=(e+r/30)%12)=>o-i*Math.max(Math.min(t-3,9-t,1),-1),u="rgb",s=[Math.round(255*a(0)),Math.round(255*a(8)),Math.round(255*a(4))];return"hsla"===e.type&&(u+="a",s.push(t[3])),c({type:u,values:s})}(e)).values:e.values;return Number((.2126*(t=t.map(t=>("color"!==e.type&&(t/=255),t<=.03928?t/12.92:((t+.055)/1.055)**2.4)))[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}},8128:function(e,t,r){"use strict";var n=r(4836);t.ZP=function(e={}){let{themeId:t,defaultTheme:r=m,rootShouldForwardProp:n=h,slotShouldForwardProp:c=h}=e,s=e=>(0,u.default)((0,o.default)({},e,{theme:y((0,o.default)({},e,{defaultTheme:r,themeId:t}))}));return s.__mui_systemSx=!0,(e,u={})=>{var f;let p;(0,a.internal_processStyles)(e,e=>e.filter(e=>!(null!=e&&e.__mui_systemSx)));let{name:m,slot:b,skipVariantsResolver:x,skipSx:Z,overridesResolver:k=(f=g(b))?(e,t)=>t[f]:null}=u,w=(0,i.default)(u,d),S=void 0!==x?x:b&&"Root"!==b&&"root"!==b||!1,C=Z||!1,P=h;"Root"===b||"root"===b?P=n:b?P=c:"string"==typeof e&&e.charCodeAt(0)>96&&(P=void 0);let O=(0,a.default)(e,(0,o.default)({shouldForwardProp:P,label:p},w)),A=e=>"function"==typeof e&&e.__emotion_real!==e||(0,l.isPlainObject)(e)?n=>v(e,(0,o.default)({},n,{theme:y({theme:n.theme,defaultTheme:r,themeId:t})})):e,M=(n,...i)=>{let a=A(n),l=i?i.map(A):[];m&&k&&l.push(e=>{let n=y((0,o.default)({},e,{defaultTheme:r,themeId:t}));if(!n.components||!n.components[m]||!n.components[m].styleOverrides)return null;let i=n.components[m].styleOverrides,a={};return Object.entries(i).forEach(([t,r])=>{a[t]=v(r,(0,o.default)({},e,{theme:n}))}),k(e,a)}),m&&!S&&l.push(e=>{var n;let i=y((0,o.default)({},e,{defaultTheme:r,themeId:t}));return v({variants:null==i||null==(n=i.components)||null==(n=n[m])?void 0:n.variants},(0,o.default)({},e,{theme:i}))}),C||l.push(s);let c=l.length-i.length;if(Array.isArray(n)&&c>0){let e=Array(c).fill("");(a=[...n,...e]).raw=[...n.raw,...e]}let u=O(a,...l);return e.muiName&&(u.muiName=e.muiName),u};return O.withConfig&&(M.withConfig=O.withConfig),M}};var o=n(r(434)),i=n(r(7071)),a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=p(void 0);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(3534)),l=r(9023);n(r(9698)),n(r(7889));var c=n(r(9926)),u=n(r(386));let s=["ownerState"],f=["variants"],d=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(p=function(e){return e?r:t})(e)}function h(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}let m=(0,c.default)(),g=e=>e?e.charAt(0).toLowerCase()+e.slice(1):e;function y({defaultTheme:e,theme:t,themeId:r}){return 0===Object.keys(t).length?e:t[r]||t}function v(e,t){let{ownerState:r}=t,n=(0,i.default)(t,s),a="function"==typeof e?e((0,o.default)({ownerState:r},n)):e;if(Array.isArray(a))return a.flatMap(e=>v(e,(0,o.default)({ownerState:r},n)));if(a&&"object"==typeof a&&Array.isArray(a.variants)){let{variants:e=[]}=a,t=(0,i.default)(a,f);return e.forEach(e=>{let i=!0;"function"==typeof e.props?i=e.props((0,o.default)({ownerState:r},n,r)):Object.keys(e.props).forEach(t=>{(null==r?void 0:r[t])!==e.props[t]&&n[t]!==e.props[t]&&(i=!1)}),i&&(Array.isArray(t)||(t=[t]),t.push("function"==typeof e.style?e.style((0,o.default)({ownerState:r},n,r)):e.style))}),t}return a}},5408:function(e,t,r){"use strict";r.d(t,{L7:function(){return l},P$:function(){return c},VO:function(){return n},W8:function(){return a},k9:function(){return i}});let n={xs:0,sm:600,md:900,lg:1200,xl:1536},o={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${n[e]}px)`};function i(e,t,r){let i=e.theme||{};if(Array.isArray(t)){let e=i.breakpoints||o;return t.reduce((n,o,i)=>(n[e.up(e.keys[i])]=r(t[i]),n),{})}if("object"==typeof t){let e=i.breakpoints||o;return Object.keys(t).reduce((o,i)=>(-1!==Object.keys(e.values||n).indexOf(i)?o[e.up(i)]=r(t[i],i):o[i]=t[i],o),{})}return r(t)}function a(e={}){var t;return(null==(t=e.keys)?void 0:t.reduce((t,r)=>(t[e.up(r)]={},t),{}))||{}}function l(e,t){return e.reduce((e,t)=>{let r=e[t];return r&&0!==Object.keys(r).length||delete e[t],e},t)}function c({values:e,breakpoints:t,base:r}){let n;let o=Object.keys(r||function(e,t){if("object"!=typeof e)return{};let r={},n=Object.keys(t);return Array.isArray(e)?n.forEach((t,n)=>{n{null!=e[t]&&(r[t]=!0)}),r}(e,t));return 0===o.length?e:o.reduce((t,r,o)=>(Array.isArray(e)?(t[r]=null!=e[o]?e[o]:e[n],n=o):"object"==typeof e?(t[r]=null!=e[r]?e[r]:e[n],n=r):t[r]=e,t),{})}},7064:function(e,t,r){"use strict";function n(e,t){return this.vars&&"function"==typeof this.getColorSchemeSelector?{[this.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/,"*:where($1)")]:t}:this.palette.mode===e?t:{}}r.d(t,{Z:function(){return n}})},1512:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var n=r(3366),o=r(7462);let i=["values","unit","step"],a=e=>{let t=Object.keys(e).map(t=>({key:t,val:e[t]}))||[];return t.sort((e,t)=>e.val-t.val),t.reduce((e,t)=>(0,o.Z)({},e,{[t.key]:t.val}),{})};function l(e){let{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:r="px",step:l=5}=e,c=(0,n.Z)(e,i),u=a(t),s=Object.keys(u);function f(e){let n="number"==typeof t[e]?t[e]:e;return`@media (min-width:${n}${r})`}function d(e){let n="number"==typeof t[e]?t[e]:e;return`@media (max-width:${n-l/100}${r})`}function p(e,n){let o=s.indexOf(n);return`@media (min-width:${"number"==typeof t[e]?t[e]:e}${r}) and (max-width:${(-1!==o&&"number"==typeof t[s[o]]?t[s[o]]:n)-l/100}${r})`}return(0,o.Z)({keys:s,values:u,up:f,down:d,between:p,only:function(e){return s.indexOf(e)+1(0===e.length?[1]:e).map(e=>{let r=t(e);return"number"==typeof r?`${r}px`:r}).join(" ");return r.mui=!0,r}(h),b=(0,i.Z)({breakpoints:y,direction:"ltr",components:{},palette:(0,n.Z)({mode:"light"},p),spacing:v,shape:(0,n.Z)({},l,m)},g);return b.applyStyles=f.Z,(b=t.reduce((e,t)=>(0,i.Z)(e,t),b)).unstable_sxConfig=(0,n.Z)({},s.Z,null==g?void 0:g.unstable_sxConfig),b.unstable_sx=function(e){return(0,u.Z)({sx:e,theme:this})},b}},9926:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return n.Z},private_createBreakpoints:function(){return o.Z},unstable_applyStyles:function(){return i.Z}});var n=r(7172),o=r(1512),i=r(7064)},7730:function(e,t,r){"use strict";var n=r(8027);t.Z=function(e,t){return t?(0,n.Z)(e,t,{clone:!1}):e}},8700:function(e,t,r){"use strict";r.d(t,{hB:function(){return h},eI:function(){return p},NA:function(){return m},e6:function(){return y},o3:function(){return v}});var n=r(5408),o=r(4844),i=r(7730);let a={m:"margin",p:"padding"},l={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},c={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},u=function(e){let t={};return r=>(void 0===t[r]&&(t[r]=e(r)),t[r])}(e=>{if(e.length>2){if(!c[e])return[e];e=c[e]}let[t,r]=e.split(""),n=a[t],o=l[r]||"";return Array.isArray(o)?o.map(e=>n+e):[n+o]}),s=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],f=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],d=[...s,...f];function p(e,t,r,n){var i;let a=null!=(i=(0,o.DW)(e,t,!1))?i:r;return"number"==typeof a?e=>"string"==typeof e?e:a*e:Array.isArray(a)?e=>"string"==typeof e?e:a[e]:"function"==typeof a?a:()=>void 0}function h(e){return p(e,"spacing",8,"spacing")}function m(e,t){if("string"==typeof t||null==t)return t;let r=e(Math.abs(t));return t>=0?r:"number"==typeof r?-r:`-${r}`}function g(e,t){let r=h(e.theme);return Object.keys(e).map(o=>(function(e,t,r,o){var i;if(-1===t.indexOf(r))return null;let a=(i=u(r),e=>i.reduce((t,r)=>(t[r]=m(o,e),t),{})),l=e[r];return(0,n.k9)(e,l,a)})(e,t,o,r)).reduce(i.Z,{})}function y(e){return g(e,s)}function v(e){return g(e,f)}function b(e){return g(e,d)}y.propTypes={},y.filterProps=s,v.propTypes={},v.filterProps=f,b.propTypes={},b.filterProps=d},4844:function(e,t,r){"use strict";r.d(t,{DW:function(){return i},Jq:function(){return a}});var n=r(2908),o=r(5408);function i(e,t,r=!0){if(!t||"string"!=typeof t)return null;if(e&&e.vars&&r){let r=`vars.${t}`.split(".").reduce((e,t)=>e&&e[t]?e[t]:null,e);if(null!=r)return r}return t.split(".").reduce((e,t)=>e&&null!=e[t]?e[t]:null,e)}function a(e,t,r,n=r){let o;return o="function"==typeof e?e(r):Array.isArray(e)?e[r]||n:i(e,r)||n,t&&(o=t(o,n,e)),o}t.ZP=function(e){let{prop:t,cssProperty:r=e.prop,themeKey:l,transform:c}=e,u=e=>{if(null==e[t])return null;let u=e[t],s=i(e.theme,l)||{};return(0,o.k9)(e,u,e=>{let o=a(s,c,e);return(e===o&&"string"==typeof e&&(o=a(s,c,`${t}${"default"===e?"":(0,n.Z)(e)}`,e)),!1===r)?o:{[r]:o}})};return u.propTypes={},u.filterProps=[t],u}},4920:function(e,t,r){"use strict";r.d(t,{Z:function(){return B}});var n=r(8700),o=r(4844),i=r(7730),a=function(...e){let t=e.reduce((e,t)=>(t.filterProps.forEach(r=>{e[r]=t}),e),{}),r=e=>Object.keys(e).reduce((r,n)=>t[n]?(0,i.Z)(r,t[n](e)):r,{});return r.propTypes={},r.filterProps=e.reduce((e,t)=>e.concat(t.filterProps),[]),r},l=r(5408);function c(e){return"number"!=typeof e?e:`${e}px solid`}function u(e,t){return(0,o.ZP)({prop:e,themeKey:"borders",transform:t})}let s=u("border",c),f=u("borderTop",c),d=u("borderRight",c),p=u("borderBottom",c),h=u("borderLeft",c),m=u("borderColor"),g=u("borderTopColor"),y=u("borderRightColor"),v=u("borderBottomColor"),b=u("borderLeftColor"),x=u("outline",c),Z=u("outlineColor"),k=e=>{if(void 0!==e.borderRadius&&null!==e.borderRadius){let t=(0,n.eI)(e.theme,"shape.borderRadius",4,"borderRadius");return(0,l.k9)(e,e.borderRadius,e=>({borderRadius:(0,n.NA)(t,e)}))}return null};k.propTypes={},k.filterProps=["borderRadius"],a(s,f,d,p,h,m,g,y,v,b,k,x,Z);let w=e=>{if(void 0!==e.gap&&null!==e.gap){let t=(0,n.eI)(e.theme,"spacing",8,"gap");return(0,l.k9)(e,e.gap,e=>({gap:(0,n.NA)(t,e)}))}return null};w.propTypes={},w.filterProps=["gap"];let S=e=>{if(void 0!==e.columnGap&&null!==e.columnGap){let t=(0,n.eI)(e.theme,"spacing",8,"columnGap");return(0,l.k9)(e,e.columnGap,e=>({columnGap:(0,n.NA)(t,e)}))}return null};S.propTypes={},S.filterProps=["columnGap"];let C=e=>{if(void 0!==e.rowGap&&null!==e.rowGap){let t=(0,n.eI)(e.theme,"spacing",8,"rowGap");return(0,l.k9)(e,e.rowGap,e=>({rowGap:(0,n.NA)(t,e)}))}return null};C.propTypes={},C.filterProps=["rowGap"];let P=(0,o.ZP)({prop:"gridColumn"}),O=(0,o.ZP)({prop:"gridRow"}),A=(0,o.ZP)({prop:"gridAutoFlow"}),M=(0,o.ZP)({prop:"gridAutoColumns"}),R=(0,o.ZP)({prop:"gridAutoRows"}),$=(0,o.ZP)({prop:"gridTemplateColumns"});function j(e,t){return"grey"===t?t:e}function E(e){return e<=1&&0!==e?`${100*e}%`:e}a(w,S,C,P,O,A,M,R,$,(0,o.ZP)({prop:"gridTemplateRows"}),(0,o.ZP)({prop:"gridTemplateAreas"}),(0,o.ZP)({prop:"gridArea"})),a((0,o.ZP)({prop:"color",themeKey:"palette",transform:j}),(0,o.ZP)({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:j}),(0,o.ZP)({prop:"backgroundColor",themeKey:"palette",transform:j}));let _=(0,o.ZP)({prop:"width",transform:E}),T=e=>void 0!==e.maxWidth&&null!==e.maxWidth?(0,l.k9)(e,e.maxWidth,t=>{var r,n;let o=(null==(r=e.theme)||null==(r=r.breakpoints)||null==(r=r.values)?void 0:r[t])||l.VO[t];return o?(null==(n=e.theme)||null==(n=n.breakpoints)?void 0:n.unit)!=="px"?{maxWidth:`${o}${e.theme.breakpoints.unit}`}:{maxWidth:o}:{maxWidth:E(t)}}):null;T.filterProps=["maxWidth"];let z=(0,o.ZP)({prop:"minWidth",transform:E}),I=(0,o.ZP)({prop:"height",transform:E}),N=(0,o.ZP)({prop:"maxHeight",transform:E}),W=(0,o.ZP)({prop:"minHeight",transform:E});(0,o.ZP)({prop:"size",cssProperty:"width",transform:E}),(0,o.ZP)({prop:"size",cssProperty:"height",transform:E}),a(_,T,z,I,N,W,(0,o.ZP)({prop:"boxSizing"}));var B={border:{themeKey:"borders",transform:c},borderTop:{themeKey:"borders",transform:c},borderRight:{themeKey:"borders",transform:c},borderBottom:{themeKey:"borders",transform:c},borderLeft:{themeKey:"borders",transform:c},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:c},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:k},color:{themeKey:"palette",transform:j},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:j},backgroundColor:{themeKey:"palette",transform:j},p:{style:n.o3},pt:{style:n.o3},pr:{style:n.o3},pb:{style:n.o3},pl:{style:n.o3},px:{style:n.o3},py:{style:n.o3},padding:{style:n.o3},paddingTop:{style:n.o3},paddingRight:{style:n.o3},paddingBottom:{style:n.o3},paddingLeft:{style:n.o3},paddingX:{style:n.o3},paddingY:{style:n.o3},paddingInline:{style:n.o3},paddingInlineStart:{style:n.o3},paddingInlineEnd:{style:n.o3},paddingBlock:{style:n.o3},paddingBlockStart:{style:n.o3},paddingBlockEnd:{style:n.o3},m:{style:n.e6},mt:{style:n.e6},mr:{style:n.e6},mb:{style:n.e6},ml:{style:n.e6},mx:{style:n.e6},my:{style:n.e6},margin:{style:n.e6},marginTop:{style:n.e6},marginRight:{style:n.e6},marginBottom:{style:n.e6},marginLeft:{style:n.e6},marginX:{style:n.e6},marginY:{style:n.e6},marginInline:{style:n.e6},marginInlineStart:{style:n.e6},marginInlineEnd:{style:n.e6},marginBlock:{style:n.e6},marginBlockStart:{style:n.e6},marginBlockEnd:{style:n.e6},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:w},rowGap:{style:C},columnGap:{style:S},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:E},maxWidth:{style:T},minWidth:{transform:E},height:{transform:E},maxHeight:{transform:E},minHeight:{transform:E},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}}},9707:function(e,t,r){"use strict";r.d(t,{Z:function(){return u}});var n=r(7462),o=r(3366),i=r(8027),a=r(4920);let l=["sx"],c=e=>{var t,r;let n={systemProps:{},otherProps:{}},o=null!=(t=null==e||null==(r=e.theme)?void 0:r.unstable_sxConfig)?t:a.Z;return Object.keys(e).forEach(t=>{o[t]?n.systemProps[t]=e[t]:n.otherProps[t]=e[t]}),n};function u(e){let t;let{sx:r}=e,{systemProps:a,otherProps:u}=c((0,o.Z)(e,l));return t=Array.isArray(r)?[a,...r]:"function"==typeof r?(...e)=>{let t=r(...e);return(0,i.P)(t)?(0,n.Z)({},a,t):a}:(0,n.Z)({},a,r),(0,n.Z)({},u,{sx:t})}},386:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return n.Z},extendSxProp:function(){return o.Z},unstable_createStyleFunctionSx:function(){return n.n},unstable_defaultSxConfig:function(){return i.Z}});var n=r(6523),o=r(9707),i=r(4920)},6523:function(e,t,r){"use strict";r.d(t,{n:function(){return c}});var n=r(2908),o=r(7730),i=r(4844),a=r(5408),l=r(4920);function c(){function e(e,t,r,o){let l={[e]:t,theme:r},c=o[e];if(!c)return{[e]:t};let{cssProperty:u=e,themeKey:s,transform:f,style:d}=c;if(null==t)return null;if("typography"===s&&"inherit"===t)return{[e]:t};let p=(0,i.DW)(r,s)||{};return d?d(l):(0,a.k9)(l,t,t=>{let r=(0,i.Jq)(p,f,t);return(t===r&&"string"==typeof t&&(r=(0,i.Jq)(p,f,`${e}${"default"===t?"":(0,n.Z)(t)}`,t)),!1===u)?r:{[u]:r}})}return function t(r){var n;let{sx:i,theme:c={}}=r||{};if(!i)return null;let u=null!=(n=c.unstable_sxConfig)?n:l.Z;function s(r){let n=r;if("function"==typeof r)n=r(c);else if("object"!=typeof r)return r;if(!n)return null;let i=(0,a.W8)(c.breakpoints),l=Object.keys(i),s=i;return Object.keys(n).forEach(r=>{var i;let l="function"==typeof(i=n[r])?i(c):i;if(null!=l){if("object"==typeof l){if(u[r])s=(0,o.Z)(s,e(r,l,c,u));else{let e=(0,a.k9)({theme:c},l,e=>({[r]:e}));(function(...e){let t=new Set(e.reduce((e,t)=>e.concat(Object.keys(t)),[]));return e.every(e=>t.size===Object.keys(e).length)})(e,l)?s[r]=t({sx:l,theme:c}):s=(0,o.Z)(s,e)}}else s=(0,o.Z)(s,e(r,l,c,u))}}),(0,a.L7)(l,s)}return Array.isArray(i)?i.map(s):s(i)}}let u=c();u.filterProps=["sx"],t.Z=u},9718:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(7172),o=r(7294),i=r(6498),a=function(e=null){let t=o.useContext(i.T);return t&&0!==Object.keys(t).length?t:e};let l=(0,n.Z)();var c=function(e=l){return a(e)}},5149:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var n=r(2236),o=r(9718);function i({props:e,name:t,defaultTheme:r,themeId:i}){let a=(0,o.Z)(r);return i&&(a=a[i]||a),function(e){let{theme:t,name:r,props:o}=e;return t&&t.components&&t.components[r]&&t.components[r].defaultProps?(0,n.Z)(t.components[r].defaultProps,o):o}({theme:a,name:t,props:e})}},1983:function(e,t){"use strict";let r;let n=e=>e,o=(r=n,{configure(e){r=e},generate:e=>r(e),reset(){r=n}});t.Z=o},2908:function(e,t,r){"use strict";r.d(t,{Z:function(){return o}});var n=r(8758);function o(e){if("string"!=typeof e)throw Error((0,n.Z)(7));return e.charAt(0).toUpperCase()+e.slice(1)}},9698:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return n.Z}});var n=r(2908)},9425:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return n}});var n=function(e,t=Number.MIN_SAFE_INTEGER,r=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,r))}},8510:function(e,t,r){"use strict";function n(e,t,r){let n={};return Object.keys(e).forEach(o=>{n[o]=e[o].reduce((e,n)=>{if(n){let o=t(n);""!==o&&e.push(o),r&&r[n]&&e.push(r[n])}return e},[]).join(" ")}),n}r.d(t,{Z:function(){return n}})},8027:function(e,t,r){"use strict";r.d(t,{P:function(){return o},Z:function(){return function e(t,r,i={clone:!0}){let a=i.clone?(0,n.Z)({},t):t;return o(t)&&o(r)&&Object.keys(r).forEach(n=>{o(r[n])&&Object.prototype.hasOwnProperty.call(t,n)&&o(t[n])?a[n]=e(t[n],r[n],i):i.clone?a[n]=o(r[n])?function e(t){if(!o(t))return t;let r={};return Object.keys(t).forEach(n=>{r[n]=e(t[n])}),r}(r[n]):r[n]:a[n]=r[n]}),a}}});var n=r(7462);function o(e){if("object"!=typeof e||null===e)return!1;let t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}},9023:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return n.Z},isPlainObject:function(){return n.P}});var n=r(8027)},8758:function(e,t,r){"use strict";function n(e){let t="https://mui.com/production-error/?code="+e;for(let e=1;e{o[t]=(0,n.ZP)(e,t,r)}),o}},7889:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return c},getFunctionName:function(){return i}});var n=r(9864);let o=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function i(e){let t=`${e}`.match(o);return t&&t[1]||""}function a(e,t=""){return e.displayName||e.name||i(e)||t}function l(e,t,r){let n=a(t);return e.displayName||(""!==n?`${r}(${n})`:r)}function c(e){if(null!=e){if("string"==typeof e)return e;if("function"==typeof e)return a(e,"Component");if("object"==typeof e)switch(e.$$typeof){case n.ForwardRef:return l(e,e.render,"ForwardRef");case n.Memo:return l(e,e.type,"memo")}}}},2236:function(e,t,r){"use strict";r.d(t,{Z:function(){return function e(t,r){let o=(0,n.Z)({},r);return Object.keys(t).forEach(i=>{if(i.toString().match(/^(components|slots)$/))o[i]=(0,n.Z)({},t[i],o[i]);else if(i.toString().match(/^(componentsProps|slotProps)$/)){let a=t[i]||{},l=r[i];o[i]={},l&&Object.keys(l)?a&&Object.keys(a)?(o[i]=(0,n.Z)({},l),Object.keys(a).forEach(t=>{o[i][t]=e(a[t],l[t])})):o[i]=l:o[i]=a}else void 0===o[i]&&(o[i]=t[i])}),o}}});var n=r(7462)},5091:function(e,t,r){"use strict";function n(e,t){"function"==typeof e?e(t):e&&(e.current=t)}r.d(t,{Z:function(){return n}})},4895:function(e,t,r){"use strict";var n=r(7294);let o="undefined"!=typeof window?n.useLayoutEffect:n.useEffect;t.Z=o},9192:function(e,t,r){"use strict";r.d(t,{V:function(){return a},Z:function(){return l}});var n=r(7294);let o={},i=[];class a{constructor(){this.currentId=null,this.clear=()=>{null!==this.currentId&&(clearTimeout(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.clear}static create(){return new a}start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,t()},e)}}function l(){var e;let t=function(e,t){let r=n.useRef(o);return r.current===o&&(r.current=e(void 0)),r}(a.create).current;return e=t.disposeEffect,n.useEffect(e,i),t}},8679:function(e,t,r){"use strict";var n=r(1296),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function c(e){return n.isMemo(e)?a:l[e.$$typeof]||o}l[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[n.Memo]=a;var u=Object.defineProperty,s=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,r,n){if("string"!=typeof r){if(h){var o=p(r);o&&o!==h&&e(t,o,n)}var a=s(r);f&&(a=a.concat(f(r)));for(var l=c(t),m=c(r),g=0;g"theme"!==e&&"sx"!==e&&"as"!==e})(c.Z);return i.forwardRef(function(e,i){let l=(0,s.Z)(r),c=(0,u.Z)(e),{className:g,component:y="div"}=c,v=(0,o.Z)(c,d);return(0,f.jsx)(m,(0,n.Z)({as:y,ref:i,className:(0,a.Z)(g,h?h(p):p),theme:t&&l[t]||l},v))})}({themeId:m.Z,defaultTheme:y,defaultClassName:g.root,generateClassName:p.Z.generate})},8163:function(e,t,r){"use strict";r.d(t,{Z:function(){return A}});var n=r(3366),o=r(7462),i=r(7294),a=r(512),l=r(2236),c=r(8510),u=r(2101),s=r(9262),f=r(7633),d=r(9145),p=r(3220),h=r(5228),m=r(1977),g=r(5463);function y(e){return(0,g.ZP)("MuiButton",e)}let v=(0,m.Z)("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]),b=i.createContext({}),x=i.createContext(void 0);var Z=r(5893);let k=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],w=e=>{let{color:t,disableElevation:r,fullWidth:n,size:i,variant:a,classes:l}=e,u={root:["root",a,"".concat(a).concat((0,h.Z)(t)),"size".concat((0,h.Z)(i)),"".concat(a,"Size").concat((0,h.Z)(i)),"color".concat((0,h.Z)(t)),r&&"disableElevation",n&&"fullWidth"],label:["label"],startIcon:["icon","startIcon","iconSize".concat((0,h.Z)(i))],endIcon:["icon","endIcon","iconSize".concat((0,h.Z)(i))]},s=(0,c.Z)(u,y,l);return(0,o.Z)({},l,s)},S=e=>(0,o.Z)({},"small"===e.size&&{"& > *:nth-of-type(1)":{fontSize:18}},"medium"===e.size&&{"& > *:nth-of-type(1)":{fontSize:20}},"large"===e.size&&{"& > *:nth-of-type(1)":{fontSize:22}}),C=(0,s.ZP)(p.Z,{shouldForwardProp:e=>(0,f.Z)(e)||"classes"===e,name:"MuiButton",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],t["".concat(r.variant).concat((0,h.Z)(r.color))],t["size".concat((0,h.Z)(r.size))],t["".concat(r.variant,"Size").concat((0,h.Z)(r.size))],"inherit"===r.color&&t.colorInherit,r.disableElevation&&t.disableElevation,r.fullWidth&&t.fullWidth]}})(e=>{var t,r;let{theme:n,ownerState:i}=e,a="light"===n.palette.mode?n.palette.grey[300]:n.palette.grey[800],l="light"===n.palette.mode?n.palette.grey.A100:n.palette.grey[700];return(0,o.Z)({},n.typography.button,{minWidth:64,padding:"6px 16px",borderRadius:(n.vars||n).shape.borderRadius,transition:n.transitions.create(["background-color","box-shadow","border-color","color"],{duration:n.transitions.duration.short}),"&:hover":(0,o.Z)({textDecoration:"none",backgroundColor:n.vars?"rgba(".concat(n.vars.palette.text.primaryChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,u.Fq)(n.palette.text.primary,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"text"===i.variant&&"inherit"!==i.color&&{backgroundColor:n.vars?"rgba(".concat(n.vars.palette[i.color].mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,u.Fq)(n.palette[i.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"outlined"===i.variant&&"inherit"!==i.color&&{border:"1px solid ".concat((n.vars||n).palette[i.color].main),backgroundColor:n.vars?"rgba(".concat(n.vars.palette[i.color].mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,u.Fq)(n.palette[i.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"contained"===i.variant&&{backgroundColor:n.vars?n.vars.palette.Button.inheritContainedHoverBg:l,boxShadow:(n.vars||n).shadows[4],"@media (hover: none)":{boxShadow:(n.vars||n).shadows[2],backgroundColor:(n.vars||n).palette.grey[300]}},"contained"===i.variant&&"inherit"!==i.color&&{backgroundColor:(n.vars||n).palette[i.color].dark,"@media (hover: none)":{backgroundColor:(n.vars||n).palette[i.color].main}}),"&:active":(0,o.Z)({},"contained"===i.variant&&{boxShadow:(n.vars||n).shadows[8]}),["&.".concat(v.focusVisible)]:(0,o.Z)({},"contained"===i.variant&&{boxShadow:(n.vars||n).shadows[6]}),["&.".concat(v.disabled)]:(0,o.Z)({color:(n.vars||n).palette.action.disabled},"outlined"===i.variant&&{border:"1px solid ".concat((n.vars||n).palette.action.disabledBackground)},"contained"===i.variant&&{color:(n.vars||n).palette.action.disabled,boxShadow:(n.vars||n).shadows[0],backgroundColor:(n.vars||n).palette.action.disabledBackground})},"text"===i.variant&&{padding:"6px 8px"},"text"===i.variant&&"inherit"!==i.color&&{color:(n.vars||n).palette[i.color].main},"outlined"===i.variant&&{padding:"5px 15px",border:"1px solid currentColor"},"outlined"===i.variant&&"inherit"!==i.color&&{color:(n.vars||n).palette[i.color].main,border:n.vars?"1px solid rgba(".concat(n.vars.palette[i.color].mainChannel," / 0.5)"):"1px solid ".concat((0,u.Fq)(n.palette[i.color].main,.5))},"contained"===i.variant&&{color:n.vars?n.vars.palette.text.primary:null==(t=(r=n.palette).getContrastText)?void 0:t.call(r,n.palette.grey[300]),backgroundColor:n.vars?n.vars.palette.Button.inheritContainedBg:a,boxShadow:(n.vars||n).shadows[2]},"contained"===i.variant&&"inherit"!==i.color&&{color:(n.vars||n).palette[i.color].contrastText,backgroundColor:(n.vars||n).palette[i.color].main},"inherit"===i.color&&{color:"inherit",borderColor:"currentColor"},"small"===i.size&&"text"===i.variant&&{padding:"4px 5px",fontSize:n.typography.pxToRem(13)},"large"===i.size&&"text"===i.variant&&{padding:"8px 11px",fontSize:n.typography.pxToRem(15)},"small"===i.size&&"outlined"===i.variant&&{padding:"3px 9px",fontSize:n.typography.pxToRem(13)},"large"===i.size&&"outlined"===i.variant&&{padding:"7px 21px",fontSize:n.typography.pxToRem(15)},"small"===i.size&&"contained"===i.variant&&{padding:"4px 10px",fontSize:n.typography.pxToRem(13)},"large"===i.size&&"contained"===i.variant&&{padding:"8px 22px",fontSize:n.typography.pxToRem(15)},i.fullWidth&&{width:"100%"})},e=>{let{ownerState:t}=e;return t.disableElevation&&{boxShadow:"none","&:hover":{boxShadow:"none"},["&.".concat(v.focusVisible)]:{boxShadow:"none"},"&:active":{boxShadow:"none"},["&.".concat(v.disabled)]:{boxShadow:"none"}}}),P=(0,s.ZP)("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.startIcon,t["iconSize".concat((0,h.Z)(r.size))]]}})(e=>{let{ownerState:t}=e;return(0,o.Z)({display:"inherit",marginRight:8,marginLeft:-4},"small"===t.size&&{marginLeft:-2},S(t))}),O=(0,s.ZP)("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.endIcon,t["iconSize".concat((0,h.Z)(r.size))]]}})(e=>{let{ownerState:t}=e;return(0,o.Z)({display:"inherit",marginRight:-4,marginLeft:8},"small"===t.size&&{marginRight:-2},S(t))});var A=i.forwardRef(function(e,t){let r=i.useContext(b),c=i.useContext(x),u=(0,l.Z)(r,e),s=(0,d.Z)({props:u,name:"MuiButton"}),{children:f,color:p="primary",component:h="button",className:m,disabled:g=!1,disableElevation:y=!1,disableFocusRipple:v=!1,endIcon:S,focusVisibleClassName:A,fullWidth:M=!1,size:R="medium",startIcon:$,type:j,variant:E="text"}=s,_=(0,n.Z)(s,k),T=(0,o.Z)({},s,{color:p,component:h,disabled:g,disableElevation:y,disableFocusRipple:v,fullWidth:M,size:R,type:j,variant:E}),z=w(T),I=$&&(0,Z.jsx)(P,{className:z.startIcon,ownerState:T,children:$}),N=S&&(0,Z.jsx)(O,{className:z.endIcon,ownerState:T,children:S});return(0,Z.jsxs)(C,(0,o.Z)({ownerState:T,className:(0,a.Z)(r.className,z.root,m,c||""),component:h,disabled:g,focusRipple:!v,focusVisibleClassName:(0,a.Z)(z.focusVisible,A),ref:t,type:j},_,{classes:z,children:[I,f,N]}))})},3220:function(e,t,r){"use strict";let n,o,i,a;r.d(t,{Z:function(){return H}});var l=r(7462),c=r(3366),u=r(7294),s=r(512),f=r(8510),d=r(9262),p=r(9145),h=r(6619),m=r(6778),g=r(2859);function y(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function v(e,t){return(v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var b=u.createContext(null);function x(e,t){var r=Object.create(null);return e&&u.Children.map(e,function(e){return e}).forEach(function(e){r[e.key]=t&&(0,u.isValidElement)(e)?t(e):e}),r}function Z(e,t,r){return null!=r[t]?r[t]:e.props[t]}var k=Object.values||function(e){return Object.keys(e).map(function(t){return e[t]})},w=function(e){function t(t,r){var n,o=(n=e.call(this,t,r)||this).handleExited.bind(function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(n));return n.state={contextValue:{isMounting:!0},handleExited:o,firstRender:!0},n}t.prototype=Object.create(e.prototype),t.prototype.constructor=t,v(t,e);var r=t.prototype;return r.componentDidMount=function(){this.mounted=!0,this.setState({contextValue:{isMounting:!1}})},r.componentWillUnmount=function(){this.mounted=!1},t.getDerivedStateFromProps=function(e,t){var r,n,o=t.children,i=t.handleExited;return{children:t.firstRender?x(e.children,function(t){return(0,u.cloneElement)(t,{onExited:i.bind(null,t),in:!0,appear:Z(t,"appear",e),enter:Z(t,"enter",e),exit:Z(t,"exit",e)})}):(Object.keys(n=function(e,t){function r(r){return r in t?t[r]:e[r]}e=e||{},t=t||{};var n,o=Object.create(null),i=[];for(var a in e)a in t?i.length&&(o[a]=i,i=[]):i.push(a);var l={};for(var c in t){if(o[c])for(n=0;n{if(!l&&null!=c){let e=setTimeout(c,f);return()=>{clearTimeout(e)}}},[c,l,f]),(0,P.jsx)("span",{className:h,style:{width:a,height:a,top:-(a/2)+i,left:-(a/2)+o},children:(0,P.jsx)("span",{className:m})})},{name:"MuiTouchRipple",slot:"Ripple"})(a||(a=j()),A.rippleVisible,_,550,e=>{let{theme:t}=e;return t.transitions.easing.easeInOut},A.ripplePulsate,e=>{let{theme:t}=e;return t.transitions.duration.shorter},A.child,A.childLeaving,T,550,e=>{let{theme:t}=e;return t.transitions.easing.easeInOut},A.childPulsate,z,e=>{let{theme:t}=e;return t.transitions.easing.easeInOut}),W=u.forwardRef(function(e,t){let r=(0,p.Z)({props:e,name:"MuiTouchRipple"}),{center:n=!1,classes:o={},className:i}=r,a=(0,c.Z)(r,E),[f,d]=u.useState([]),h=u.useRef(0),m=u.useRef(null);u.useEffect(()=>{m.current&&(m.current(),m.current=null)},[f]);let g=u.useRef(!1),y=(0,C.Z)(),v=u.useRef(null),b=u.useRef(null),x=u.useCallback(e=>{let{pulsate:t,rippleX:r,rippleY:n,rippleSize:i,cb:a}=e;d(e=>[...e,(0,P.jsx)(N,{classes:{ripple:(0,s.Z)(o.ripple,A.ripple),rippleVisible:(0,s.Z)(o.rippleVisible,A.rippleVisible),ripplePulsate:(0,s.Z)(o.ripplePulsate,A.ripplePulsate),child:(0,s.Z)(o.child,A.child),childLeaving:(0,s.Z)(o.childLeaving,A.childLeaving),childPulsate:(0,s.Z)(o.childPulsate,A.childPulsate)},timeout:550,pulsate:t,rippleX:r,rippleY:n,rippleSize:i},h.current)]),h.current+=1,m.current=a},[o]),Z=u.useCallback(function(){let e,t,r,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>{},{pulsate:l=!1,center:c=n||i.pulsate,fakeElement:u=!1}=i;if((null==o?void 0:o.type)==="mousedown"&&g.current){g.current=!1;return}(null==o?void 0:o.type)==="touchstart"&&(g.current=!0);let s=u?null:b.current,f=s?s.getBoundingClientRect():{width:0,height:0,left:0,top:0};if(!c&&void 0!==o&&(0!==o.clientX||0!==o.clientY)&&(o.clientX||o.touches)){let{clientX:r,clientY:n}=o.touches&&o.touches.length>0?o.touches[0]:o;e=Math.round(r-f.left),t=Math.round(n-f.top)}else e=Math.round(f.width/2),t=Math.round(f.height/2);c?(r=Math.sqrt((2*f.width**2+f.height**2)/3))%2==0&&(r+=1):r=Math.sqrt((2*Math.max(Math.abs((s?s.clientWidth:0)-e),e)+2)**2+(2*Math.max(Math.abs((s?s.clientHeight:0)-t),t)+2)**2),null!=o&&o.touches?null===v.current&&(v.current=()=>{x({pulsate:l,rippleX:e,rippleY:t,rippleSize:r,cb:a})},y.start(80,()=>{v.current&&(v.current(),v.current=null)})):x({pulsate:l,rippleX:e,rippleY:t,rippleSize:r,cb:a})},[n,x,y]),k=u.useCallback(()=>{Z({},{pulsate:!0})},[Z]),S=u.useCallback((e,t)=>{if(y.clear(),(null==e?void 0:e.type)==="touchend"&&v.current){v.current(),v.current=null,y.start(0,()=>{S(e,t)});return}v.current=null,d(e=>e.length>0?e.slice(1):e),m.current=t},[y]);return u.useImperativeHandle(t,()=>({pulsate:k,start:Z,stop:S}),[k,Z,S]),(0,P.jsx)(I,(0,l.Z)({className:(0,s.Z)(A.root,o.root,i),ref:b},a,{children:(0,P.jsx)(w,{component:null,exit:!0,children:f})}))});var B=r(5463);function G(e){return(0,B.ZP)("MuiButtonBase",e)}let L=(0,O.Z)("MuiButtonBase",["root","disabled","focusVisible"]),F=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],V=e=>{let{disabled:t,focusVisible:r,focusVisibleClassName:n,classes:o}=e,i=(0,f.Z)({root:["root",t&&"disabled",r&&"focusVisible"]},G,o);return r&&n&&(i.root+=" ".concat(n)),i},D=(0,d.ZP)("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},["&.".concat(L.disabled)]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}});var H=u.forwardRef(function(e,t){let r=(0,p.Z)({props:e,name:"MuiButtonBase"}),{action:n,centerRipple:o=!1,children:i,className:a,component:f="button",disabled:d=!1,disableRipple:y=!1,disableTouchRipple:v=!1,focusRipple:b=!1,LinkComponent:x="a",onBlur:Z,onClick:k,onContextMenu:w,onDragLeave:S,onFocus:C,onFocusVisible:O,onKeyDown:A,onKeyUp:M,onMouseDown:R,onMouseLeave:$,onMouseUp:j,onTouchEnd:E,onTouchMove:_,onTouchStart:T,tabIndex:z=0,TouchRippleProps:I,touchRippleRef:N,type:B}=r,G=(0,c.Z)(r,F),L=u.useRef(null),H=u.useRef(null),K=(0,h.Z)(H,N),{isFocusVisibleRef:q,onFocus:U,onBlur:X,ref:Y}=(0,g.Z)(),[J,Q]=u.useState(!1);d&&J&&Q(!1),u.useImperativeHandle(n,()=>({focusVisible:()=>{Q(!0),L.current.focus()}}),[]);let[ee,et]=u.useState(!1);u.useEffect(()=>{et(!0)},[]);let er=ee&&!y&&!d;function en(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:v;return(0,m.Z)(n=>(t&&t(n),!r&&H.current&&H.current[e](n),!0))}u.useEffect(()=>{J&&b&&!y&&ee&&H.current.pulsate()},[y,b,J,ee]);let eo=en("start",R),ei=en("stop",w),ea=en("stop",S),el=en("stop",j),ec=en("stop",e=>{J&&e.preventDefault(),$&&$(e)}),eu=en("start",T),es=en("stop",E),ef=en("stop",_),ed=en("stop",e=>{X(e),!1===q.current&&Q(!1),Z&&Z(e)},!1),ep=(0,m.Z)(e=>{L.current||(L.current=e.currentTarget),U(e),!0===q.current&&(Q(!0),O&&O(e)),C&&C(e)}),eh=()=>{let e=L.current;return f&&"button"!==f&&!("A"===e.tagName&&e.href)},em=u.useRef(!1),eg=(0,m.Z)(e=>{b&&!em.current&&J&&H.current&&" "===e.key&&(em.current=!0,H.current.stop(e,()=>{H.current.start(e)})),e.target===e.currentTarget&&eh()&&" "===e.key&&e.preventDefault(),A&&A(e),e.target===e.currentTarget&&eh()&&"Enter"===e.key&&!d&&(e.preventDefault(),k&&k(e))}),ey=(0,m.Z)(e=>{b&&" "===e.key&&H.current&&J&&!e.defaultPrevented&&(em.current=!1,H.current.stop(e,()=>{H.current.pulsate(e)})),M&&M(e),k&&e.target===e.currentTarget&&eh()&&" "===e.key&&!e.defaultPrevented&&k(e)}),ev=f;"button"===ev&&(G.href||G.to)&&(ev=x);let eb={};"button"===ev?(eb.type=void 0===B?"button":B,eb.disabled=d):(G.href||G.to||(eb.role="button"),d&&(eb["aria-disabled"]=d));let ex=(0,h.Z)(t,Y,L),eZ=(0,l.Z)({},r,{centerRipple:o,component:f,disabled:d,disableRipple:y,disableTouchRipple:v,focusRipple:b,tabIndex:z,focusVisible:J}),ek=V(eZ);return(0,P.jsxs)(D,(0,l.Z)({as:ev,className:(0,s.Z)(ek.root,a),ownerState:eZ,onBlur:ed,onClick:k,onContextMenu:ei,onFocus:ep,onKeyDown:eg,onKeyUp:ey,onMouseDown:eo,onMouseLeave:ec,onMouseUp:el,onDragLeave:ea,onTouchEnd:es,onTouchMove:ef,onTouchStart:eu,ref:ex,tabIndex:d?-1:z,type:B},eb,G,{children:[i,er?(0,P.jsx)(W,(0,l.Z)({ref:K,center:o},I)):null]}))})},7868:function(e,t,r){"use strict";r.d(t,{Z:function(){return x}});var n=r(7462),o=r(3366),i=r(7294),a=r(512),l=r(8510),c=r(9145),u=r(9262),s=r(1977),f=r(5463);function d(e){return(0,f.ZP)("MuiCardActionArea",e)}let p=(0,s.Z)("MuiCardActionArea",["root","focusVisible","focusHighlight"]);var h=r(3220),m=r(5893);let g=["children","className","focusVisibleClassName"],y=e=>{let{classes:t}=e;return(0,l.Z)({root:["root"],focusHighlight:["focusHighlight"]},d,t)},v=(0,u.ZP)(h.Z,{name:"MuiCardActionArea",slot:"Root",overridesResolver:(e,t)=>t.root})(e=>{let{theme:t}=e;return{display:"block",textAlign:"inherit",borderRadius:"inherit",width:"100%",["&:hover .".concat(p.focusHighlight)]:{opacity:(t.vars||t).palette.action.hoverOpacity,"@media (hover: none)":{opacity:0}},["&.".concat(p.focusVisible," .").concat(p.focusHighlight)]:{opacity:(t.vars||t).palette.action.focusOpacity}}}),b=(0,u.ZP)("span",{name:"MuiCardActionArea",slot:"FocusHighlight",overridesResolver:(e,t)=>t.focusHighlight})(e=>{let{theme:t}=e;return{overflow:"hidden",pointerEvents:"none",position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:"inherit",opacity:0,backgroundColor:"currentcolor",transition:t.transitions.create("opacity",{duration:t.transitions.duration.short})}});var x=i.forwardRef(function(e,t){let r=(0,c.Z)({props:e,name:"MuiCardActionArea"}),{children:i,className:l,focusVisibleClassName:u}=r,s=(0,o.Z)(r,g),f=y(r);return(0,m.jsxs)(v,(0,n.Z)({className:(0,a.Z)(f.root,l),focusVisibleClassName:(0,a.Z)(u,f.focusVisible),ref:t,ownerState:r},s,{children:[i,(0,m.jsx)(b,{className:f.focusHighlight,ownerState:r})]}))})},9203:function(e,t,r){"use strict";r.d(t,{Z:function(){return y}});var n=r(7462),o=r(3366),i=r(7294),a=r(512),l=r(8510),c=r(9262),u=r(9145),s=r(1977),f=r(5463);function d(e){return(0,f.ZP)("MuiCardContent",e)}(0,s.Z)("MuiCardContent",["root"]);var p=r(5893);let h=["className","component"],m=e=>{let{classes:t}=e;return(0,l.Z)({root:["root"]},d,t)},g=(0,c.ZP)("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(e,t)=>t.root})(()=>({padding:16,"&:last-child":{paddingBottom:24}}));var y=i.forwardRef(function(e,t){let r=(0,u.Z)({props:e,name:"MuiCardContent"}),{className:i,component:l="div"}=r,c=(0,o.Z)(r,h),s=(0,n.Z)({},r,{component:l}),f=m(s);return(0,p.jsx)(g,(0,n.Z)({as:l,className:(0,a.Z)(f.root,i),ownerState:s,ref:t},c))})},5369:function(e,t,r){"use strict";r.d(t,{Z:function(){return E}});var n=r(3366),o=r(7462),i=r(7294),a=r(512),l=r(5463),c=r(8510),u=r(2908),s=r(5149),f=r(3534),d=r(8027),p=r(7172),h=r(6523);let m=["ownerState"],g=["variants"],y=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function v(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}let b=(0,p.Z)(),x=e=>e?e.charAt(0).toLowerCase()+e.slice(1):e;function Z({defaultTheme:e,theme:t,themeId:r}){return 0===Object.keys(t).length?e:t[r]||t}function k(e,t){let{ownerState:r}=t,i=(0,n.Z)(t,m),a="function"==typeof e?e((0,o.Z)({ownerState:r},i)):e;if(Array.isArray(a))return a.flatMap(e=>k(e,(0,o.Z)({ownerState:r},i)));if(a&&"object"==typeof a&&Array.isArray(a.variants)){let{variants:e=[]}=a,t=(0,n.Z)(a,g);return e.forEach(e=>{let n=!0;"function"==typeof e.props?n=e.props((0,o.Z)({ownerState:r},i,r)):Object.keys(e.props).forEach(t=>{(null==r?void 0:r[t])!==e.props[t]&&i[t]!==e.props[t]&&(n=!1)}),n&&(Array.isArray(t)||(t=[t]),t.push("function"==typeof e.style?e.style((0,o.Z)({ownerState:r},i,r)):e.style))}),t}return a}let w=function(e={}){let{themeId:t,defaultTheme:r=b,rootShouldForwardProp:i=v,slotShouldForwardProp:a=v}=e,l=e=>(0,h.Z)((0,o.Z)({},e,{theme:Z((0,o.Z)({},e,{defaultTheme:r,themeId:t}))}));return l.__mui_systemSx=!0,(e,c={})=>{var u;let s;(0,f.internal_processStyles)(e,e=>e.filter(e=>!(null!=e&&e.__mui_systemSx)));let{name:p,slot:h,skipVariantsResolver:m,skipSx:g,overridesResolver:b=(u=x(h))?(e,t)=>t[u]:null}=c,w=(0,n.Z)(c,y),S=void 0!==m?m:h&&"Root"!==h&&"root"!==h||!1,C=g||!1,P=v;"Root"===h||"root"===h?P=i:h?P=a:"string"==typeof e&&e.charCodeAt(0)>96&&(P=void 0);let O=(0,f.default)(e,(0,o.Z)({shouldForwardProp:P,label:s},w)),A=e=>"function"==typeof e&&e.__emotion_real!==e||(0,d.P)(e)?n=>k(e,(0,o.Z)({},n,{theme:Z({theme:n.theme,defaultTheme:r,themeId:t})})):e,M=(n,...i)=>{let a=A(n),c=i?i.map(A):[];p&&b&&c.push(e=>{let n=Z((0,o.Z)({},e,{defaultTheme:r,themeId:t}));if(!n.components||!n.components[p]||!n.components[p].styleOverrides)return null;let i=n.components[p].styleOverrides,a={};return Object.entries(i).forEach(([t,r])=>{a[t]=k(r,(0,o.Z)({},e,{theme:n}))}),b(e,a)}),p&&!S&&c.push(e=>{var n;let i=Z((0,o.Z)({},e,{defaultTheme:r,themeId:t}));return k({variants:null==i||null==(n=i.components)||null==(n=n[p])?void 0:n.variants},(0,o.Z)({},e,{theme:i}))}),C||c.push(l);let u=c.length-i.length;if(Array.isArray(n)&&u>0){let e=Array(u).fill("");(a=[...n,...e]).raw=[...n.raw,...e]}let s=O(a,...c);return e.muiName&&(s.muiName=e.muiName),s};return O.withConfig&&(M.withConfig=O.withConfig),M}}();var S=r(5893);let C=["className","component","disableGutters","fixed","maxWidth","classes"],P=(0,p.Z)(),O=w("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[`maxWidth${(0,u.Z)(String(r.maxWidth))}`],r.fixed&&t.fixed,r.disableGutters&&t.disableGutters]}}),A=e=>(0,s.Z)({props:e,name:"MuiContainer",defaultTheme:P}),M=(e,t)=>{let{classes:r,fixed:n,disableGutters:o,maxWidth:i}=e,a={root:["root",i&&`maxWidth${(0,u.Z)(String(i))}`,n&&"fixed",o&&"disableGutters"]};return(0,c.Z)(a,e=>(0,l.ZP)(t,e),r)};var R=r(5228),$=r(9262),j=r(9145),E=function(e={}){let{createStyledComponent:t=O,useThemeProps:r=A,componentName:l="MuiContainer"}=e,c=t(({theme:e,ownerState:t})=>(0,o.Z)({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",display:"block"},!t.disableGutters&&{paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up("sm")]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}}),({theme:e,ownerState:t})=>t.fixed&&Object.keys(e.breakpoints.values).reduce((t,r)=>{let n=e.breakpoints.values[r];return 0!==n&&(t[e.breakpoints.up(r)]={maxWidth:`${n}${e.breakpoints.unit}`}),t},{}),({theme:e,ownerState:t})=>(0,o.Z)({},"xs"===t.maxWidth&&{[e.breakpoints.up("xs")]:{maxWidth:Math.max(e.breakpoints.values.xs,444)}},t.maxWidth&&"xs"!==t.maxWidth&&{[e.breakpoints.up(t.maxWidth)]:{maxWidth:`${e.breakpoints.values[t.maxWidth]}${e.breakpoints.unit}`}}));return i.forwardRef(function(e,t){let i=r(e),{className:u,component:s="div",disableGutters:f=!1,fixed:d=!1,maxWidth:p="lg"}=i,h=(0,n.Z)(i,C),m=(0,o.Z)({},i,{component:s,disableGutters:f,fixed:d,maxWidth:p}),g=M(m,l);return(0,S.jsx)(c,(0,o.Z)({as:s,ownerState:m,className:(0,a.Z)(g.root,u),ref:t},h))})}({createStyledComponent:(0,$.ZP)("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t["maxWidth".concat((0,R.Z)(String(r.maxWidth)))],r.fixed&&t.fixed,r.disableGutters&&t.disableGutters]}}),useThemeProps:e=>(0,j.Z)({props:e,name:"MuiContainer"})})},9619:function(e,t,r){"use strict";r.d(t,{Z:function(){return x}});var n=r(3366),o=r(7462),i=r(7294),a=r(512),l=r(8510),c=r(2101),u=r(9262),s=r(9145),f=r(1977),d=r(5463);function p(e){return(0,d.ZP)("MuiDivider",e)}(0,f.Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);var h=r(5893);let m=["absolute","children","className","component","flexItem","light","orientation","role","textAlign","variant"],g=e=>{let{absolute:t,children:r,classes:n,flexItem:o,light:i,orientation:a,textAlign:c,variant:u}=e;return(0,l.Z)({root:["root",t&&"absolute",u,i&&"light","vertical"===a&&"vertical",o&&"flexItem",r&&"withChildren",r&&"vertical"===a&&"withChildrenVertical","right"===c&&"vertical"!==a&&"textAlignRight","left"===c&&"vertical"!==a&&"textAlignLeft"],wrapper:["wrapper","vertical"===a&&"wrapperVertical"]},p,n)},y=(0,u.ZP)("div",{name:"MuiDivider",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.absolute&&t.absolute,t[r.variant],r.light&&t.light,"vertical"===r.orientation&&t.vertical,r.flexItem&&t.flexItem,r.children&&t.withChildren,r.children&&"vertical"===r.orientation&&t.withChildrenVertical,"right"===r.textAlign&&"vertical"!==r.orientation&&t.textAlignRight,"left"===r.textAlign&&"vertical"!==r.orientation&&t.textAlignLeft]}})(e=>{let{theme:t,ownerState:r}=e;return(0,o.Z)({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(t.vars||t).palette.divider,borderBottomWidth:"thin"},r.absolute&&{position:"absolute",bottom:0,left:0,width:"100%"},r.light&&{borderColor:t.vars?"rgba(".concat(t.vars.palette.dividerChannel," / 0.08)"):(0,c.Fq)(t.palette.divider,.08)},"inset"===r.variant&&{marginLeft:72},"middle"===r.variant&&"horizontal"===r.orientation&&{marginLeft:t.spacing(2),marginRight:t.spacing(2)},"middle"===r.variant&&"vertical"===r.orientation&&{marginTop:t.spacing(1),marginBottom:t.spacing(1)},"vertical"===r.orientation&&{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"},r.flexItem&&{alignSelf:"stretch",height:"auto"})},e=>{let{ownerState:t}=e;return(0,o.Z)({},t.children&&{display:"flex",whiteSpace:"nowrap",textAlign:"center",border:0,"&::before, &::after":{content:'""',alignSelf:"center"}})},e=>{let{theme:t,ownerState:r}=e;return(0,o.Z)({},r.children&&"vertical"!==r.orientation&&{"&::before, &::after":{width:"100%",borderTop:"thin solid ".concat((t.vars||t).palette.divider)}})},e=>{let{theme:t,ownerState:r}=e;return(0,o.Z)({},r.children&&"vertical"===r.orientation&&{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:"thin solid ".concat((t.vars||t).palette.divider)}})},e=>{let{ownerState:t}=e;return(0,o.Z)({},"right"===t.textAlign&&"vertical"!==t.orientation&&{"&::before":{width:"90%"},"&::after":{width:"10%"}},"left"===t.textAlign&&"vertical"!==t.orientation&&{"&::before":{width:"10%"},"&::after":{width:"90%"}})}),v=(0,u.ZP)("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.wrapper,"vertical"===r.orientation&&t.wrapperVertical]}})(e=>{let{theme:t,ownerState:r}=e;return(0,o.Z)({display:"inline-block",paddingLeft:"calc(".concat(t.spacing(1)," * 1.2)"),paddingRight:"calc(".concat(t.spacing(1)," * 1.2)")},"vertical"===r.orientation&&{paddingTop:"calc(".concat(t.spacing(1)," * 1.2)"),paddingBottom:"calc(".concat(t.spacing(1)," * 1.2)")})}),b=i.forwardRef(function(e,t){let r=(0,s.Z)({props:e,name:"MuiDivider"}),{absolute:i=!1,children:l,className:c,component:u=l?"div":"hr",flexItem:f=!1,light:d=!1,orientation:p="horizontal",role:b="hr"!==u?"separator":void 0,textAlign:x="center",variant:Z="fullWidth"}=r,k=(0,n.Z)(r,m),w=(0,o.Z)({},r,{absolute:i,component:u,flexItem:f,light:d,orientation:p,role:b,textAlign:x,variant:Z}),S=g(w);return(0,h.jsx)(y,(0,o.Z)({as:u,className:(0,a.Z)(S.root,c),role:b,ref:t,ownerState:w},k,{children:l?(0,h.jsx)(v,{className:S.wrapper,ownerState:w,children:l}):null}))});b.muiSkipListHighlight=!0;var x=b},3402:function(e,t,r){"use strict";r.d(t,{ZP:function(){return O}});var n=r(3366),o=r(7462),i=r(7294),a=r(512),l=r(5408),c=r(9707),u=r(8510),s=r(9262),f=r(9145),d=r(9718),p=r(7854),h=r(5038);let m=i.createContext();var g=r(1977),y=r(5463);function v(e){return(0,y.ZP)("MuiGrid",e)}let b=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],x=(0,g.Z)("MuiGrid",["root","container","item","zeroMinWidth",...[0,1,2,3,4,5,6,7,8,9,10].map(e=>"spacing-xs-".concat(e)),...["column-reverse","column","row-reverse","row"].map(e=>"direction-xs-".concat(e)),...["nowrap","wrap-reverse","wrap"].map(e=>"wrap-xs-".concat(e)),...b.map(e=>"grid-xs-".concat(e)),...b.map(e=>"grid-sm-".concat(e)),...b.map(e=>"grid-md-".concat(e)),...b.map(e=>"grid-lg-".concat(e)),...b.map(e=>"grid-xl-".concat(e))]);var Z=r(5893);let k=["className","columns","columnSpacing","component","container","direction","item","rowSpacing","spacing","wrap","zeroMinWidth"];function w(e){let t=parseFloat(e);return"".concat(t).concat(String(e).replace(String(t),"")||"px")}function S(e){let{breakpoints:t,values:r}=e,n="";Object.keys(r).forEach(e=>{""===n&&0!==r[e]&&(n=e)});let o=Object.keys(t).sort((e,r)=>t[e]-t[r]);return o.slice(0,o.indexOf(n))}let C=(0,s.ZP)("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e,{container:n,direction:o,item:i,spacing:a,wrap:l,zeroMinWidth:c,breakpoints:u}=r,s=[];n&&(s=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e||e<=0)return[];if("string"==typeof e&&!Number.isNaN(Number(e))||"number"==typeof e)return[r["spacing-xs-".concat(String(e))]];let n=[];return t.forEach(t=>{let o=e[t];Number(o)>0&&n.push(r["spacing-".concat(t,"-").concat(String(o))])}),n}(a,u,t));let f=[];return u.forEach(e=>{let n=r[e];n&&f.push(t["grid-".concat(e,"-").concat(String(n))])}),[t.root,n&&t.container,i&&t.item,c&&t.zeroMinWidth,...s,"row"!==o&&t["direction-xs-".concat(String(o))],"wrap"!==l&&t["wrap-xs-".concat(String(l))],...f]}})(e=>{let{ownerState:t}=e;return(0,o.Z)({boxSizing:"border-box"},t.container&&{display:"flex",flexWrap:"wrap",width:"100%"},t.item&&{margin:0},t.zeroMinWidth&&{minWidth:0},"wrap"!==t.wrap&&{flexWrap:t.wrap})},function(e){let{theme:t,ownerState:r}=e,n=(0,l.P$)({values:r.direction,breakpoints:t.breakpoints.values});return(0,l.k9)({theme:t},n,e=>{let t={flexDirection:e};return 0===e.indexOf("column")&&(t["& > .".concat(x.item)]={maxWidth:"none"}),t})},function(e){let{theme:t,ownerState:r}=e,{container:n,rowSpacing:o}=r,i={};if(n&&0!==o){let e;let r=(0,l.P$)({values:o,breakpoints:t.breakpoints.values});"object"==typeof r&&(e=S({breakpoints:t.breakpoints.values,values:r})),i=(0,l.k9)({theme:t},r,(r,n)=>{var o;let i=t.spacing(r);return"0px"!==i?{marginTop:"-".concat(w(i)),["& > .".concat(x.item)]:{paddingTop:w(i)}}:null!=(o=e)&&o.includes(n)?{}:{marginTop:0,["& > .".concat(x.item)]:{paddingTop:0}}})}return i},function(e){let{theme:t,ownerState:r}=e,{container:n,columnSpacing:o}=r,i={};if(n&&0!==o){let e;let r=(0,l.P$)({values:o,breakpoints:t.breakpoints.values});"object"==typeof r&&(e=S({breakpoints:t.breakpoints.values,values:r})),i=(0,l.k9)({theme:t},r,(r,n)=>{var o;let i=t.spacing(r);return"0px"!==i?{width:"calc(100% + ".concat(w(i),")"),marginLeft:"-".concat(w(i)),["& > .".concat(x.item)]:{paddingLeft:w(i)}}:null!=(o=e)&&o.includes(n)?{}:{width:"100%",marginLeft:0,["& > .".concat(x.item)]:{paddingLeft:0}}})}return i},function(e){let t,{theme:r,ownerState:n}=e;return r.breakpoints.keys.reduce((e,i)=>{let a={};if(n[i]&&(t=n[i]),!t)return e;if(!0===t)a={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if("auto"===t)a={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{let c=(0,l.P$)({values:n.columns,breakpoints:r.breakpoints.values}),u="object"==typeof c?c[i]:c;if(null==u)return e;let s="".concat(Math.round(t/u*1e8)/1e6,"%"),f={};if(n.container&&n.item&&0!==n.columnSpacing){let e=r.spacing(n.columnSpacing);if("0px"!==e){let t="calc(".concat(s," + ").concat(w(e),")");f={flexBasis:t,maxWidth:t}}}a=(0,o.Z)({flexBasis:s,flexGrow:0,maxWidth:s},f)}return 0===r.breakpoints.values[i]?Object.assign(e,a):e[r.breakpoints.up(i)]=a,e},{})}),P=e=>{let{classes:t,container:r,direction:n,item:o,spacing:i,wrap:a,zeroMinWidth:l,breakpoints:c}=e,s=[];r&&(s=function(e,t){if(!e||e<=0)return[];if("string"==typeof e&&!Number.isNaN(Number(e))||"number"==typeof e)return["spacing-xs-".concat(String(e))];let r=[];return t.forEach(t=>{let n=e[t];if(Number(n)>0){let e="spacing-".concat(t,"-").concat(String(n));r.push(e)}}),r}(i,c));let f=[];c.forEach(t=>{let r=e[t];r&&f.push("grid-".concat(t,"-").concat(String(r)))});let d={root:["root",r&&"container",o&&"item",l&&"zeroMinWidth",...s,"row"!==n&&"direction-xs-".concat(String(n)),"wrap"!==a&&"wrap-xs-".concat(String(a)),...f]};return(0,u.Z)(d,v,t)};var O=i.forwardRef(function(e,t){let r=(0,f.Z)({props:e,name:"MuiGrid"}),{breakpoints:l}=function(){let e=(0,d.Z)(p.Z);return e[h.Z]||e}(),u=(0,c.Z)(r),{className:s,columns:g,columnSpacing:y,component:v="div",container:b=!1,direction:x="row",item:w=!1,rowSpacing:S,spacing:O=0,wrap:A="wrap",zeroMinWidth:M=!1}=u,R=(0,n.Z)(u,k),$=S||O,j=y||O,E=i.useContext(m),_=b?g||12:E,T={},z=(0,o.Z)({},R);l.keys.forEach(e=>{null!=R[e]&&(T[e]=R[e],delete z[e])});let I=(0,o.Z)({},u,{columns:_,container:b,direction:x,item:w,rowSpacing:$,columnSpacing:j,wrap:A,zeroMinWidth:M,spacing:O},T,{breakpoints:l.keys}),N=P(I);return(0,Z.jsx)(m.Provider,{value:_,children:(0,Z.jsx)(C,(0,o.Z)({ownerState:I,className:(0,a.Z)(N.root,s),as:v,ref:t},z))})})},4246:function(e,t,r){"use strict";r.d(t,{Z:function(){return k}});var n=r(3366),o=r(7462),i=r(7294),a=r(512),l=r(9707),c=r(8510),u=r(9262),s=r(9145),f=r(5228),d=r(1977),p=r(5463);function h(e){return(0,p.ZP)("MuiTypography",e)}(0,d.Z)("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);var m=r(5893);let g=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],y=e=>{let{align:t,gutterBottom:r,noWrap:n,paragraph:o,variant:i,classes:a}=e,l={root:["root",i,"inherit"!==e.align&&"align".concat((0,f.Z)(t)),r&&"gutterBottom",n&&"noWrap",o&&"paragraph"]};return(0,c.Z)(l,h,a)},v=(0,u.ZP)("span",{name:"MuiTypography",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.variant&&t[r.variant],"inherit"!==r.align&&t["align".concat((0,f.Z)(r.align))],r.noWrap&&t.noWrap,r.gutterBottom&&t.gutterBottom,r.paragraph&&t.paragraph]}})(e=>{let{theme:t,ownerState:r}=e;return(0,o.Z)({margin:0},"inherit"===r.variant&&{font:"inherit"},"inherit"!==r.variant&&t.typography[r.variant],"inherit"!==r.align&&{textAlign:r.align},r.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},r.gutterBottom&&{marginBottom:"0.35em"},r.paragraph&&{marginBottom:16})}),b={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},x={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},Z=e=>x[e]||e;var k=i.forwardRef(function(e,t){let r=(0,s.Z)({props:e,name:"MuiTypography"}),i=Z(r.color),c=(0,l.Z)((0,o.Z)({},r,{color:i})),{align:u="inherit",className:f,component:d,gutterBottom:p=!1,noWrap:h=!1,paragraph:x=!1,variant:k="body1",variantMapping:w=b}=c,S=(0,n.Z)(c,g),C=(0,o.Z)({},c,{align:u,color:i,className:f,component:d,gutterBottom:p,noWrap:h,paragraph:x,variant:k,variantMapping:w}),P=d||(x?"p":w[k]||b[k])||"span",O=y(C);return(0,m.jsx)(v,(0,o.Z)({as:P,ref:t,ownerState:C,className:(0,a.Z)(O.root,f)},S))})},4191:function(e,t,r){"use strict";r.d(t,{Z:function(){return T}});var n=r(7462),o=r(3366),i=r(8758),a=r(8027),l=r(4920),c=r(6523),u=r(7172),s=r(2101),f={black:"#000",white:"#fff"},d={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},p={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},h={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},m={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},g={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},y={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},v={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"};let b=["mode","contrastThreshold","tonalOffset"],x={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:f.white,default:f.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},Z={text:{primary:f.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:f.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function k(e,t,r,n){let o=n.light||n,i=n.dark||1.5*n;e[t]||(e.hasOwnProperty(r)?e[t]=e[r]:"light"===t?e.light=(0,s.$n)(e.main,o):"dark"===t&&(e.dark=(0,s._j)(e.main,i)))}let w=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"],S={textTransform:"uppercase"},C='"Roboto", "Helvetica", "Arial", sans-serif';function P(){for(var e=arguments.length,t=Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:{};for(var t,r=arguments.length,P=Array(r>1?r-1:0),T=1;T0&&void 0!==arguments[0]?arguments[0]:"light";return"dark"===e?{main:g[200],light:g[50],dark:g[400]}:{main:g[700],light:g[400],dark:g[800]}}(t),w=e.secondary||function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";return"dark"===e?{main:p[200],light:p[50],dark:p[400]}:{main:p[500],light:p[300],dark:p[700]}}(t),S=e.error||function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";return"dark"===e?{main:h[500],light:h[300],dark:h[700]}:{main:h[700],light:h[400],dark:h[800]}}(t),C=e.info||function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";return"dark"===e?{main:y[400],light:y[300],dark:y[700]}:{main:y[700],light:y[500],dark:y[900]}}(t),P=e.success||function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";return"dark"===e?{main:v[400],light:v[300],dark:v[700]}:{main:v[800],light:v[500],dark:v[900]}}(t),O=e.warning||function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";return"dark"===e?{main:m[400],light:m[300],dark:m[700]}:{main:"#ed6c02",light:m[500],dark:m[900]}}(t);function A(e){return(0,s.mi)(e,Z.text.primary)>=r?Z.text.primary:x.text.primary}let M=e=>{let{color:t,name:r,mainShade:o=500,lightShade:a=300,darkShade:c=700}=e;if(!(t=(0,n.Z)({},t)).main&&t[o]&&(t.main=t[o]),!t.hasOwnProperty("main"))throw Error((0,i.Z)(11,r?" (".concat(r,")"):"",o));if("string"!=typeof t.main)throw Error((0,i.Z)(12,r?" (".concat(r,")"):"",JSON.stringify(t.main)));return k(t,"light",a,l),k(t,"dark",c,l),t.contrastText||(t.contrastText=A(t.main)),t};return(0,a.Z)((0,n.Z)({common:(0,n.Z)({},f),mode:t,primary:M({color:u,name:"primary"}),secondary:M({color:w,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:M({color:S,name:"error"}),warning:M({color:O,name:"warning"}),info:M({color:C,name:"info"}),success:M({color:P,name:"success"}),grey:d,contrastThreshold:r,getContrastText:A,augmentColor:M,tonalOffset:l},{dark:Z,light:x}[t]),c)}(I),L=(0,u.Z)(e),F=(0,a.Z)(L,{mixins:(t=L.breakpoints,(0,n.Z)({toolbar:{minHeight:56,[t.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[t.up("sm")]:{minHeight:64}}},z)),palette:G,shadows:O.slice(),typography:function(e,t){let r="function"==typeof t?t(e):t,{fontFamily:i=C,fontSize:l=14,fontWeightLight:c=300,fontWeightRegular:u=400,fontWeightMedium:s=500,fontWeightBold:f=700,htmlFontSize:d=16,allVariants:p,pxToRem:h}=r,m=(0,o.Z)(r,w),g=l/14,y=h||(e=>"".concat(e/d*g,"rem")),v=(e,t,r,o,a)=>(0,n.Z)({fontFamily:i,fontWeight:e,fontSize:y(t),lineHeight:r},i===C?{letterSpacing:"".concat(Math.round(o/t*1e5)/1e5,"em")}:{},a,p),b={h1:v(c,96,1.167,-1.5),h2:v(c,60,1.2,-.5),h3:v(u,48,1.167,0),h4:v(u,34,1.235,.25),h5:v(u,24,1.334,0),h6:v(s,20,1.6,.15),subtitle1:v(u,16,1.75,.15),subtitle2:v(s,14,1.57,.1),body1:v(u,16,1.5,.15),body2:v(u,14,1.43,.15),button:v(s,14,1.75,.4,S),caption:v(u,12,1.66,.4),overline:v(u,12,2.66,1,S),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return(0,a.Z)((0,n.Z)({htmlFontSize:d,pxToRem:y,fontFamily:i,fontSize:l,fontWeightLight:c,fontWeightRegular:u,fontWeightMedium:s,fontWeightBold:f},b),m,{clone:!1})}(G,W),transitions:function(e){let t=(0,n.Z)({},M,e.easing),r=(0,n.Z)({},R,e.duration);return(0,n.Z)({getAutoHeightDuration:j,create:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["all"],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{duration:i=r.standard,easing:a=t.easeInOut,delay:l=0}=n;return(0,o.Z)(n,A),(Array.isArray(e)?e:[e]).map(e=>"".concat(e," ").concat("string"==typeof i?i:$(i)," ").concat(a," ").concat("string"==typeof l?l:$(l))).join(",")}},e,{easing:t,duration:r})}(N),zIndex:(0,n.Z)({},E)});return F=(0,a.Z)(F,B),(F=P.reduce((e,t)=>(0,a.Z)(e,t),F)).unstable_sxConfig=(0,n.Z)({},l.Z,null==B?void 0:B.unstable_sxConfig),F.unstable_sx=function(e){return(0,c.Z)({sx:e,theme:this})},F}},7854:function(e,t,r){"use strict";let n=(0,r(4191).Z)();t.Z=n},5038:function(e,t){"use strict";t.Z="$$material"},7633:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});var n=e=>"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e&&"classes"!==e},9262:function(e,t,r){"use strict";var n=r(8128),o=r(7854),i=r(5038),a=r(7633);let l=(0,n.ZP)({themeId:i.Z,defaultTheme:o.Z,rootShouldForwardProp:a.Z});t.ZP=l},9145:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=r(5149),o=r(7854),i=r(5038);function a(e){let{props:t,name:r}=e;return(0,n.Z)({props:t,name:r,defaultTheme:o.Z,themeId:i.Z})}},5228:function(e,t,r){"use strict";var n=r(2908);t.Z=n.Z},6438:function(e,t,r){"use strict";r.r(t),r.d(t,{capitalize:function(){return o.Z},createChainedFunction:function(){return i},createSvgIcon:function(){return k},debounce:function(){return w},deprecatedPropType:function(){return S},isMuiElement:function(){return C},ownerDocument:function(){return O},ownerWindow:function(){return A},requirePropFactory:function(){return M},setRef:function(){return R},unstable_ClassNameGenerator:function(){return B},unstable_useEnhancedEffect:function(){return $},unstable_useId:function(){return _},unsupportedProp:function(){return T},useControlled:function(){return z},useEventCallback:function(){return I.Z},useForkRef:function(){return N.Z},useIsFocusVisible:function(){return W.Z}});var n=r(1983),o=r(5228),i=function(...e){return e.reduce((e,t)=>null==t?e:function(...r){e.apply(this,r),t.apply(this,r)},()=>{})},a=r(7462),l=r(7294),c=r.t(l,2),u=r(3366),s=r(512),f=r(8510),d=r(9145),p=r(9262),h=r(1977),m=r(5463);function g(e){return(0,m.ZP)("MuiSvgIcon",e)}(0,h.Z)("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);var y=r(5893);let v=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],b=e=>{let{color:t,fontSize:r,classes:n}=e,i={root:["root","inherit"!==t&&"color".concat((0,o.Z)(t)),"fontSize".concat((0,o.Z)(r))]};return(0,f.Z)(i,g,n)},x=(0,p.ZP)("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,"inherit"!==r.color&&t["color".concat((0,o.Z)(r.color))],t["fontSize".concat((0,o.Z)(r.fontSize))]]}})(e=>{var t,r,n,o,i,a,l,c,u,s,f,d,p;let{theme:h,ownerState:m}=e;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:m.hasSvgAsChild?void 0:"currentColor",flexShrink:0,transition:null==(t=h.transitions)||null==(r=t.create)?void 0:r.call(t,"fill",{duration:null==(n=h.transitions)||null==(n=n.duration)?void 0:n.shorter}),fontSize:({inherit:"inherit",small:(null==(o=h.typography)||null==(i=o.pxToRem)?void 0:i.call(o,20))||"1.25rem",medium:(null==(a=h.typography)||null==(l=a.pxToRem)?void 0:l.call(a,24))||"1.5rem",large:(null==(c=h.typography)||null==(u=c.pxToRem)?void 0:u.call(c,35))||"2.1875rem"})[m.fontSize],color:null!=(s=null==(f=(h.vars||h).palette)||null==(f=f[m.color])?void 0:f.main)?s:({action:null==(d=(h.vars||h).palette)||null==(d=d.action)?void 0:d.active,disabled:null==(p=(h.vars||h).palette)||null==(p=p.action)?void 0:p.disabled,inherit:void 0})[m.color]}}),Z=l.forwardRef(function(e,t){let r=(0,d.Z)({props:e,name:"MuiSvgIcon"}),{children:n,className:o,color:i="inherit",component:c="svg",fontSize:f="medium",htmlColor:p,inheritViewBox:h=!1,titleAccess:m,viewBox:g="0 0 24 24"}=r,Z=(0,u.Z)(r,v),k=l.isValidElement(n)&&"svg"===n.type,w=(0,a.Z)({},r,{color:i,component:c,fontSize:f,instanceFontSize:e.fontSize,inheritViewBox:h,viewBox:g,hasSvgAsChild:k}),S={};h||(S.viewBox=g);let C=b(w);return(0,y.jsxs)(x,(0,a.Z)({as:c,className:(0,s.Z)(C.root,o),focusable:"false",color:p,"aria-hidden":!m||void 0,role:m?"img":void 0,ref:t},S,Z,k&&n.props,{ownerState:w,children:[k?n.props.children:n,m?(0,y.jsx)("title",{children:m}):null]}))});function k(e,t){function r(r,n){return(0,y.jsx)(Z,(0,a.Z)({"data-testid":"".concat(t,"Icon"),ref:n},r,{children:e}))}return r.muiName=Z.muiName,l.memo(l.forwardRef(r))}Z.muiName="SvgIcon";var w=function(e,t=166){let r;function n(...o){clearTimeout(r),r=setTimeout(()=>{e.apply(this,o)},t)}return n.clear=()=>{clearTimeout(r)},n},S=function(e,t){return()=>null},C=function(e,t){var r,n;return l.isValidElement(e)&&-1!==t.indexOf(null!=(r=e.type.muiName)?r:null==(n=e.type)||null==(n=n._payload)||null==(n=n.value)?void 0:n.muiName)};function P(e){return e&&e.ownerDocument||document}var O=P,A=function(e){return P(e).defaultView||window},M=function(e,t){return()=>null},R=r(5091).Z,$=r(4895).Z;let j=0,E=c["useId".toString()];var _=function(e){if(void 0!==E){let t=E();return null!=e?e:t}return function(e){let[t,r]=l.useState(e),n=e||t;return l.useEffect(()=>{null==t&&(j+=1,r(`mui-${j}`))},[t]),n}(e)},T=function(e,t,r,n,o){return null},z=function({controlled:e,default:t,name:r,state:n="value"}){let{current:o}=l.useRef(void 0!==e),[i,a]=l.useState(t),c=l.useCallback(e=>{o||a(e)},[]);return[o?e:i,c]},I=r(6778),N=r(6619),W=r(2859);let B={configure:e=>{n.Z.configure(e)}}},6778:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var n=r(7294),o=r(4895),i=function(e){let t=n.useRef(e);return(0,o.Z)(()=>{t.current=e}),n.useRef((...e)=>(0,t.current)(...e)).current}},6619:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var n=r(7294),o=r(5091),i=function(...e){return n.useMemo(()=>e.every(e=>null==e)?null:t=>{e.forEach(e=>{(0,o.Z)(e,t)})},e)}},2859:function(e,t,r){"use strict";r.d(t,{Z:function(){return d}});var n=r(7294),o=r(9192);let i=!0,a=!1,l=new o.V,c={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function u(e){e.metaKey||e.altKey||e.ctrlKey||(i=!0)}function s(){i=!1}function f(){"hidden"===this.visibilityState&&a&&(i=!0)}var d=function(){let e=n.useCallback(e=>{if(null!=e){var t;(t=e.ownerDocument).addEventListener("keydown",u,!0),t.addEventListener("mousedown",s,!0),t.addEventListener("pointerdown",s,!0),t.addEventListener("touchstart",s,!0),t.addEventListener("visibilitychange",f,!0)}},[]),t=n.useRef(!1);return{isFocusVisibleRef:t,onFocus:function(e){return!!function(e){let{target:t}=e;try{return t.matches(":focus-visible")}catch(e){}return i||function(e){let{type:t,tagName:r}=e;return"INPUT"===r&&!!c[t]&&!e.readOnly||"TEXTAREA"===r&&!e.readOnly||!!e.isContentEditable}(t)}(e)&&(t.current=!0,!0)},onBlur:function(){return!!t.current&&(a=!0,l.start(100,()=>{a=!1}),t.current=!1,!0)},ref:e}}},9921:function(e,t){"use strict";Symbol.for("react.element"),Symbol.for("react.portal"),Symbol.for("react.fragment"),Symbol.for("react.strict_mode"),Symbol.for("react.profiler"),Symbol.for("react.provider"),Symbol.for("react.context"),Symbol.for("react.server_context");/** + * @license React + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var r=Symbol.for("react.forward_ref"),n=(Symbol.for("react.suspense"),Symbol.for("react.suspense_list"),Symbol.for("react.memo"));Symbol.for("react.lazy"),Symbol.for("react.offscreen"),Symbol.for("react.module.reference"),t.ForwardRef=r,t.Memo=n},9864:function(e,t,r){"use strict";e.exports=r(9921)},434:function(e){function t(){return e.exports=t=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)continue;r[n]=e[n]}return r},e.exports.__esModule=!0,e.exports.default=e.exports},7462:function(e,t,r){"use strict";function n(){return(n=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)continue;r[n]=e[n]}return r}r.d(t,{Z:function(){return n}})},7563:function(e,t,r){"use strict";r.d(t,{Ab:function(){return a},Fr:function(){return l},G$:function(){return i},JM:function(){return f},K$:function(){return u},MS:function(){return n},h5:function(){return c},lK:function(){return s},uj:function(){return o}});var n="-ms-",o="-moz-",i="-webkit-",a="comm",l="rule",c="decl",u="@import",s="@keyframes",f="@layer"},2190:function(e,t,r){"use strict";r.d(t,{MY:function(){return a}});var n=r(7563),o=r(6686),i=r(6411);function a(e){return(0,i.cE)(function e(t,r,a,u,s,f,d,p,h){for(var m,g=0,y=0,v=d,b=0,x=0,Z=0,k=1,w=1,S=1,C=0,P="",O=s,A=f,M=u,R=P;w;)switch(Z=C,C=(0,i.lp)()){case 40:if(108!=Z&&58==(0,o.uO)(R,v-1)){-1!=(0,o.Cw)(R+=(0,o.gx)((0,i.iF)(C),"&","&\f"),"&\f")&&(S=-1);break}case 34:case 39:case 91:R+=(0,i.iF)(C);break;case 9:case 10:case 13:case 32:R+=(0,i.Qb)(Z);break;case 92:R+=(0,i.kq)((0,i.Ud)()-1,7);continue;case 47:switch((0,i.fj)()){case 42:case 47:(0,o.R3)((m=(0,i.q6)((0,i.lp)(),(0,i.Ud)()),(0,i.dH)(m,r,a,n.Ab,(0,o.Dp)((0,i.Tb)()),(0,o.tb)(m,2,-2),0)),h);break;default:R+="/"}break;case 123*k:p[g++]=(0,o.to)(R)*S;case 125*k:case 59:case 0:switch(C){case 0:case 125:w=0;case 59+y:-1==S&&(R=(0,o.gx)(R,/\f/g,"")),x>0&&(0,o.to)(R)-v&&(0,o.R3)(x>32?c(R+";",u,a,v-1):c((0,o.gx)(R," ","")+";",u,a,v-2),h);break;case 59:R+=";";default:if((0,o.R3)(M=l(R,r,a,g,y,s,p,P,O=[],A=[],v),f),123===C){if(0===y)e(R,r,M,M,O,f,v,p,A);else switch(99===b&&110===(0,o.uO)(R,3)?100:b){case 100:case 108:case 109:case 115:e(t,M,M,u&&(0,o.R3)(l(t,M,M,0,0,s,p,P,s,O=[],v),A),s,A,v,p,u?O:A);break;default:e(R,M,M,M,[""],A,0,p,A)}}}g=y=x=0,k=S=1,P=R="",v=d;break;case 58:v=1+(0,o.to)(R),x=Z;default:if(k<1){if(123==C)--k;else if(125==C&&0==k++&&125==(0,i.mp)())continue}switch(R+=(0,o.Dp)(C),C*k){case 38:S=y>0?1:(R+="\f",-1);break;case 44:p[g++]=((0,o.to)(R)-1)*S,S=1;break;case 64:45===(0,i.fj)()&&(R+=(0,i.iF)((0,i.lp)())),b=(0,i.fj)(),y=v=(0,o.to)(P=R+=(0,i.QU)((0,i.Ud)())),C++;break;case 45:45===Z&&2==(0,o.to)(R)&&(k=0)}}return f}("",null,null,null,[""],e=(0,i.un)(e),0,[0],e))}function l(e,t,r,a,l,c,u,s,f,d,p){for(var h=l-1,m=0===l?c:[""],g=(0,o.Ei)(m),y=0,v=0,b=0;y0?m[x]+" "+Z:(0,o.gx)(Z,/&\f/g,m[x])))&&(f[b++]=k);return(0,i.dH)(e,t,r,0===l?n.Fr:s,f,d,p)}function c(e,t,r,a){return(0,i.dH)(e,t,r,n.h5,(0,o.tb)(e,0,a),(0,o.tb)(e,a+1,-1),a)}},211:function(e,t,r){"use strict";r.d(t,{P:function(){return a},q:function(){return i}});var n=r(7563),o=r(6686);function i(e,t){for(var r="",n=(0,o.Ei)(e),i=0;i0?(0,n.uO)(u,--l):0,i--,10===c&&(i=1,o--),c}function h(){return c=l2||v(c)>3?"":" "}function w(e,t){for(;--t&&h()&&!(c<48)&&!(c>102)&&(!(c>57)||!(c<65))&&(!(c>70)||!(c<97)););return y(e,l+(t<6&&32==m()&&32==h()))}function S(e,t){for(;h();)if(e+c===57)break;else if(e+c===84&&47===m())break;return"/*"+y(t,l-1)+"*"+(0,n.Dp)(47===e?e:h())}function C(e){for(;!v(m());)h();return y(e,l)}},6686:function(e,t,r){"use strict";r.d(t,{$e:function(){return g},Cw:function(){return s},Dp:function(){return o},EQ:function(){return c},Ei:function(){return h},R3:function(){return m},Wn:function(){return n},f0:function(){return i},fy:function(){return l},gx:function(){return u},tb:function(){return d},to:function(){return p},uO:function(){return f},vp:function(){return a}});var n=Math.abs,o=String.fromCharCode,i=Object.assign;function a(e,t){return 45^f(e,0)?(((t<<2^f(e,0))<<2^f(e,1))<<2^f(e,2))<<2^f(e,3):0}function l(e){return e.trim()}function c(e,t){return(e=t.exec(e))?e[0]:e}function u(e,t,r){return e.replace(t,r)}function s(e,t){return e.indexOf(t)}function f(e,t){return 0|e.charCodeAt(t)}function d(e,t,r){return e.slice(t,r)}function p(e){return e.length}function h(e){return e.length}function m(e,t){return t.push(e),e}function g(e,t){return e.map(t).join("")}}}]); \ No newline at end of file diff --git a/_next/static/chunks/9805.46686bae545676c3.js b/_next/static/chunks/9805.46686bae545676c3.js new file mode 100644 index 0000000..f7a29bf --- /dev/null +++ b/_next/static/chunks/9805.46686bae545676c3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9805],{8805:function(t,e,n){n.d(e,{k:function(){return N}});var r=n(3625),i=n(547),o=n(7124),u=n(1289),s=n(715),c=n(9003),a=n(4678),f=n(4279),h=n(9115),l=n(8702),d=n(191),Z=n(8489),v=function(t){return t!=t},b=function(t,e,n){for(var r=n-1,i=t.length;++r-1},p=function(t,e,n){for(var r=-1,i=null==t?0:t.length;++r=200){var a=e?null:m(t);if(a)return(0,y.Z)(a);u=!1,i=g.Z,c=new d.Z}else c=e?[]:s;t:for(;++r1?r.setNode(t,e):r.setNode(t)}),this}setNode(t,e){return r.Z(this._nodes,t)?arguments.length>1&&(this._nodes[t]=e):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount),this}node(t){return this._nodes[t]}hasNode(t){return r.Z(this._nodes,t)}removeNode(t){var e=this;if(r.Z(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],a.Z(this.children(t),function(t){e.setParent(t)}),delete this._children[t]),a.Z(u.Z(this._in[t]),n),delete this._in[t],delete this._preds[t],a.Z(u.Z(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(f.Z(e))e="\0";else{e+="";for(var n=e;!f.Z(n);n=this.parent(n))if(n===t)throw Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if("\0"!==e)return e}}children(t){if(f.Z(t)&&(t="\0"),this._isCompound){var e=this._children[t];if(e)return u.Z(e)}else if("\0"===t)return this.nodes();else if(this.hasNode(t))return[]}predecessors(t){var e=this._preds[t];if(e)return u.Z(e)}successors(t){var e=this._sucs[t];if(e)return u.Z(e)}neighbors(t){var e=this.predecessors(t);if(e)return C(e,this.successors(t))}isLeaf(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;a.Z(this._nodes,function(n,r){t(r)&&e.setNode(r,n)}),a.Z(this._edgeObjs,function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))});var r={};return this._isCompound&&a.Z(e.nodes(),function(t){e.setParent(t,function t(i){var o=n.parent(i);return void 0===o||e.hasNode(o)?(r[i]=o,o):o in r?r[o]:t(o)}(t))}),e}setDefaultEdgeLabel(t){return o.Z(t)||(t=i.Z(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return E.Z(this._edgeObjs)}setPath(t,e){var n=this,r=arguments;return A.Z(t,function(t,i){return r.length>1?n.setEdge(t,i,e):n.setEdge(t,i),i}),this}setEdge(){var t,e,n,i,o=!1,u=arguments[0];"object"==typeof u&&null!==u&&"v"in u?(t=u.v,e=u.w,n=u.name,2==arguments.length&&(i=arguments[1],o=!0)):(t=u,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),t=""+t,e=""+e,f.Z(n)||(n=""+n);var s=k(this._isDirected,t,e,n);if(r.Z(this._edgeLabels,s))return o&&(this._edgeLabels[s]=i),this;if(!f.Z(n)&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[s]=o?i:this._defaultEdgeLabelFn(t,e,n);var c=function(t,e,n,r){var i=""+e,o=""+n;if(!t&&i>o){var u=i;i=o,o=u}var s={v:i,w:o};return r&&(s.name=r),s}(this._isDirected,t,e,n);return t=c.v,e=c.w,Object.freeze(c),this._edgeObjs[s]=c,L(this._preds[e],t),L(this._sucs[t],e),this._in[e][s]=c,this._out[t][s]=c,this._edgeCount++,this}edge(t,e,n){var r=1==arguments.length?S(this._isDirected,arguments[0]):k(this._isDirected,t,e,n);return this._edgeLabels[r]}hasEdge(t,e,n){var i=1==arguments.length?S(this._isDirected,arguments[0]):k(this._isDirected,t,e,n);return r.Z(this._edgeLabels,i)}removeEdge(t,e,n){var r=1==arguments.length?S(this._isDirected,arguments[0]):k(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],D(this._preds[e],t),D(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this}inEdges(t,e){var n=this._in[t];if(n){var r=E.Z(n);return e?s.Z(r,function(t){return t.v===e}):r}}outEdges(t,e){var n=this._out[t];if(n){var r=E.Z(n);return e?s.Z(r,function(t){return t.w===e}):r}}nodeEdges(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}}function L(t,e){t[e]?t[e]++:t[e]=1}function D(t,e){--t[e]||delete t[e]}function k(t,e,n,r){var i=""+e,o=""+n;if(!t&&i>o){var u=i;i=o,o=u}return i+"\x01"+o+"\x01"+(f.Z(r)?"\0":r)}function S(t,e){return k(t,e.v,e.w,e.name)}N.prototype._nodeCount=0,N.prototype._edgeCount=0},5625:function(t,e,n){n.d(e,{k:function(){return r.k}});var r=n(8805)},191:function(t,e,n){n.d(e,{Z:function(){return o}});var r=n(9934);function i(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r.Z;++e0&&i(f)?n>1?t(f,n-1,i,o,u):(0,r.Z)(u,f):o||(u[u.length]=f)}return u}},323:function(t,e,n){var r=n(8042),i=n(1289);e.Z=function(t,e){return t&&(0,r.Z)(t,e,i.Z)}},7198:function(t,e,n){var r=n(4717),i=n(2119);e.Z=function(t,e){e=(0,r.Z)(e,t);for(var n=0,o=e.length;null!=t&&nf))return!1;var l=c.get(t),d=c.get(e);if(l&&d)return l==e&&d==t;var Z=-1,v=!0,b=2&n?new i.Z:void 0;for(c.set(t,e),c.set(e,t);++Z=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122||95===i){o+=e[a++];continue}break}if(!o)throw TypeError("Missing parameter name at "+r);t.push({type:"NAME",index:r,value:o}),r=a;continue}if("("===n){var u=1,l="",a=r+1;if("?"===e[a])throw TypeError('Pattern cannot start with "?" at '+a);for(;a-1:void 0===v;o||(p+="(?:"+d+"(?="+f+"))?"),b||(p+="(?="+d+"|"+f+")")}return new RegExp(p,i(r))}function l(e,t,n){return e instanceof RegExp?function(e,t){if(!t)return e;var r=e.source.match(/\((?!\?)/g);if(r)for(var n=0;n=0?n="back-forward-cache":r&&(n=document.prerendering||f()>0?"prerender":r.type.replace(/_/g,"-")),{name:e,value:void 0===t?-1:t,rating:"good",delta:0,entries:[],id:"v3-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:n}},p=function(e,t,r){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var n=new PerformanceObserver(function(e){t(e.getEntries())});return n.observe(Object.assign({type:e,buffered:!0},r||{})),n}}catch(e){}},h=function(e,t){var r=function r(n){"pagehide"!==n.type&&"hidden"!==document.visibilityState||(e(n),t&&(removeEventListener("visibilitychange",r,!0),removeEventListener("pagehide",r,!0)))};addEventListener("visibilitychange",r,!0),addEventListener("pagehide",r,!0)},m=function(e,t,r,n){var o,a;return function(i){var u;t.value>=0&&(i||n)&&((a=t.value-(o||0))||void 0===o)&&(o=t.value,t.delta=a,t.rating=(u=t.value)>r[1]?"poor":u>r[0]?"needs-improvement":"good",e(t))}},_=-1,g=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},y=function(){h(function(e){_=e.timeStamp},!0)},v=function(){return _<0&&(_=g(),y(),s(function(){setTimeout(function(){_=g(),y()},0)})),{get firstHiddenTime(){return _}}},b=function(e,t){t=t||{};var r,n=[1800,3e3],o=v(),a=d("FCP"),i=function(e){e.forEach(function(e){"first-contentful-paint"===e.name&&(l&&l.disconnect(),e.startTime-1&&e(t)},a=d("CLS",0),i=0,u=[],l=function(e){e.forEach(function(e){if(!e.hadRecentInput){var t=u[0],r=u[u.length-1];i&&e.startTime-r.startTime<1e3&&e.startTime-t.startTime<5e3?(i+=e.value,u.push(e)):(i=e.value,u=[e]),i>a.value&&(a.value=i,a.entries=u,n())}})},c=p("layout-shift",l);c&&(n=m(o,a,r,t.reportAllChanges),h(function(){l(c.takeRecords()),n(!0)}),s(function(){i=0,E=-1,n=m(o,a=d("CLS",0),r,t.reportAllChanges)}))},O={passive:!0,capture:!0},R=new Date,j=function(e,t){n||(n=t,o=e,a=new Date,x(removeEventListener),w())},w=function(){if(o>=0&&o1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?(t=function(){j(o,e),n()},r=function(){n()},n=function(){removeEventListener("pointerup",t,O),removeEventListener("pointercancel",r,O)},addEventListener("pointerup",t,O),addEventListener("pointercancel",r,O)):j(o,e)}},x=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach(function(t){return e(t,T,O)})},A=function(e,t){t=t||{};var r,a=[100,300],u=v(),l=d("FID"),c=function(e){e.startTimet.latency){if(r)r.entries.push(e),r.latency=Math.max(r.latency,e.duration);else{var n={id:e.interactionId,latency:e.duration,entries:[e]};B[n.id]=n,F.push(n)}F.sort(function(e,t){return t.latency-e.latency}),F.splice(10).forEach(function(e){delete B[e.id]})}},W=function(e,t){t=t||{};var r=[200,500];D();var n,o=d("INP"),a=function(e){e.forEach(function(e){e.interactionId&&H(e),"first-input"!==e.entryType||F.some(function(t){return t.entries.some(function(t){return e.duration===t.duration&&e.startTime===t.startTime})})||H(e)});var t,r=(t=Math.min(F.length-1,Math.floor(U()/50)),F[t]);r&&r.latency!==o.value&&(o.value=r.latency,o.entries=r.entries,n())},i=p("event",a,{durationThreshold:t.durationThreshold||40});n=m(e,o,r,t.reportAllChanges),i&&(i.observe({type:"first-input",buffered:!0}),h(function(){a(i.takeRecords()),o.value<0&&U()>0&&(o.value=0,o.entries=[]),n(!0)}),s(function(){F=[],k=L(),n=m(e,o=d("INP"),r,t.reportAllChanges)}))},q={},G=function(e,t){t=t||{};var r,n=[2500,4e3],o=v(),a=d("LCP"),i=function(e){var t=e[e.length-1];if(t){var n=t.startTime-f();nperformance.now())return;n.entries=[a],o(!0),s(function(){(o=m(e,n=d("TTFB",0),r,t.reportAllChanges))(!0)})}})},e.exports=r},9423:function(e,t){"use strict";function r(e){return"/api"===e||!!(null==e?void 0:e.startsWith("/api/"))}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isAPIRoute",{enumerable:!0,get:function(){return r}})},676:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return a}});let n=r(5841);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function a(e){return o(e)?e:Error((0,n.isPlainObject)(e)?JSON.stringify(e):e+"")}},1730:function(e,t,r){"use strict";function n(e){return function(){let{cookie:t}=e;if(!t)return{};let{parse:n}=r(738);return n(Array.isArray(t)?t.join("; "):t)}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getCookieParser",{enumerable:!0,get:function(){return n}})},2407:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return a}});let n=r(3787),o=["(..)(..)","(.)","(..)","(...)"];function a(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function i(e){let t,r,a;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,a]=e.split(r,2);break}if(!t||!r||!a)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":a="/"===t?`/${a}`:t+"/"+a;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);a=t.split("/").slice(0,-1).concat(a).join("/");break;case"(...)":a="/"+a;break;case"(..)(..)":let i=t.split("/");if(i.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);a=i.slice(0,-2).concat(a).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:a}}},8754:function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:function(){return n},_interop_require_default:function(){return n}})},1757:function(e,t,r){"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var u=a?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(o,i,u):o[i]=e[i]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:function(){return o},_interop_require_wildcard:function(){return o}})}},function(e){e.O(0,[774],function(){return e(e.s=4768)}),_N_E=e.O()}]); \ No newline at end of file + */(t={}).parse=function(e,t){if("string"!=typeof e)throw TypeError("argument str must be a string");for(var n={},a=e.split(o),i=(t||{}).decode||r,u=0;u=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122||95===i){o+=e[a++];continue}break}if(!o)throw TypeError("Missing parameter name at "+r);t.push({type:"NAME",index:r,value:o}),r=a;continue}if("("===n){var u=1,l="",a=r+1;if("?"===e[a])throw TypeError('Pattern cannot start with "?" at '+a);for(;a-1:void 0===v;o||(p+="(?:"+d+"(?="+f+"))?"),b||(p+="(?="+d+"|"+f+")")}return new RegExp(p,i(r))}function l(e,t,n){return e instanceof RegExp?function(e,t){if(!t)return e;var r=e.source.match(/\((?!\?)/g);if(r)for(var n=0;n=0?n="back-forward-cache":r&&(n=document.prerendering||f()>0?"prerender":r.type.replace(/_/g,"-")),{name:e,value:void 0===t?-1:t,rating:"good",delta:0,entries:[],id:"v3-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:n}},p=function(e,t,r){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var n=new PerformanceObserver(function(e){t(e.getEntries())});return n.observe(Object.assign({type:e,buffered:!0},r||{})),n}}catch(e){}},h=function(e,t){var r=function r(n){"pagehide"!==n.type&&"hidden"!==document.visibilityState||(e(n),t&&(removeEventListener("visibilitychange",r,!0),removeEventListener("pagehide",r,!0)))};addEventListener("visibilitychange",r,!0),addEventListener("pagehide",r,!0)},m=function(e,t,r,n){var o,a;return function(i){var u;t.value>=0&&(i||n)&&((a=t.value-(o||0))||void 0===o)&&(o=t.value,t.delta=a,t.rating=(u=t.value)>r[1]?"poor":u>r[0]?"needs-improvement":"good",e(t))}},_=-1,g=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},y=function(){h(function(e){_=e.timeStamp},!0)},v=function(){return _<0&&(_=g(),y(),s(function(){setTimeout(function(){_=g(),y()},0)})),{get firstHiddenTime(){return _}}},b=function(e,t){t=t||{};var r,n=[1800,3e3],o=v(),a=d("FCP"),i=function(e){e.forEach(function(e){"first-contentful-paint"===e.name&&(l&&l.disconnect(),e.startTime-1&&e(t)},a=d("CLS",0),i=0,u=[],l=function(e){e.forEach(function(e){if(!e.hadRecentInput){var t=u[0],r=u[u.length-1];i&&e.startTime-r.startTime<1e3&&e.startTime-t.startTime<5e3?(i+=e.value,u.push(e)):(i=e.value,u=[e]),i>a.value&&(a.value=i,a.entries=u,n())}})},c=p("layout-shift",l);c&&(n=m(o,a,r,t.reportAllChanges),h(function(){l(c.takeRecords()),n(!0)}),s(function(){i=0,E=-1,n=m(o,a=d("CLS",0),r,t.reportAllChanges)}))},O={passive:!0,capture:!0},R=new Date,j=function(e,t){n||(n=t,o=e,a=new Date,x(removeEventListener),w())},w=function(){if(o>=0&&o1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?(t=function(){j(o,e),n()},r=function(){n()},n=function(){removeEventListener("pointerup",t,O),removeEventListener("pointercancel",r,O)},addEventListener("pointerup",t,O),addEventListener("pointercancel",r,O)):j(o,e)}},x=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach(function(t){return e(t,T,O)})},A=function(e,t){t=t||{};var r,a=[100,300],u=v(),l=d("FID"),c=function(e){e.startTimet.latency){if(r)r.entries.push(e),r.latency=Math.max(r.latency,e.duration);else{var n={id:e.interactionId,latency:e.duration,entries:[e]};B[n.id]=n,F.push(n)}F.sort(function(e,t){return t.latency-e.latency}),F.splice(10).forEach(function(e){delete B[e.id]})}},W=function(e,t){t=t||{};var r=[200,500];D();var n,o=d("INP"),a=function(e){e.forEach(function(e){e.interactionId&&H(e),"first-input"!==e.entryType||F.some(function(t){return t.entries.some(function(t){return e.duration===t.duration&&e.startTime===t.startTime})})||H(e)});var t,r=(t=Math.min(F.length-1,Math.floor(U()/50)),F[t]);r&&r.latency!==o.value&&(o.value=r.latency,o.entries=r.entries,n())},i=p("event",a,{durationThreshold:t.durationThreshold||40});n=m(e,o,r,t.reportAllChanges),i&&(i.observe({type:"first-input",buffered:!0}),h(function(){a(i.takeRecords()),o.value<0&&U()>0&&(o.value=0,o.entries=[]),n(!0)}),s(function(){F=[],k=L(),n=m(e,o=d("INP"),r,t.reportAllChanges)}))},q={},G=function(e,t){t=t||{};var r,n=[2500,4e3],o=v(),a=d("LCP"),i=function(e){var t=e[e.length-1];if(t){var n=t.startTime-f();nperformance.now())return;n.entries=[a],o(!0),s(function(){(o=m(e,n=d("TTFB",0),r,t.reportAllChanges))(!0)})}})},e.exports=r},9423:function(e,t){"use strict";function r(e){return"/api"===e||!!(null==e?void 0:e.startsWith("/api/"))}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isAPIRoute",{enumerable:!0,get:function(){return r}})},676:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return a}});let n=r(5841);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function a(e){return o(e)?e:Error((0,n.isPlainObject)(e)?JSON.stringify(e):e+"")}},1730:function(e,t,r){"use strict";function n(e){return function(){let{cookie:t}=e;if(!t)return{};let{parse:n}=r(738);return n(Array.isArray(t)?t.join("; "):t)}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getCookieParser",{enumerable:!0,get:function(){return n}})},2407:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return a}});let n=r(3787),o=["(..)(..)","(.)","(..)","(...)"];function a(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function i(e){let t,r,a;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,a]=e.split(r,2);break}if(!t||!r||!a)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":a="/"===t?`/${a}`:t+"/"+a;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);a=t.split("/").slice(0,-1).concat(a).join("/");break;case"(...)":a="/"+a;break;case"(..)(..)":let i=t.split("/");if(i.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);a=i.slice(0,-2).concat(a).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:a}}},8754:function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:function(){return n},_interop_require_default:function(){return n}})},1757:function(e,t,r){"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var u=a?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(o,i,u):o[i]=e[i]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:function(){return o},_interop_require_wildcard:function(){return o}})}},function(e){e.O(0,[9774],function(){return e(e.s=4768)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/nextra-data-en-US.json b/_next/static/chunks/nextra-data-en-US.json index 81e952e..4dacf6b 100644 --- a/_next/static/chunks/nextra-data-en-US.json +++ b/_next/static/chunks/nextra-data-en-US.json @@ -1 +1 @@ -{"/docs/projects/chat":{"title":"Chat","data":{"preparing#Preparing":"Preparing the chatting application project documentation.Also, upgrading very old project to be modernized.https://github.com/samchon/tgrid.projects.chat"}},"/docs/projects/market":{"title":"Market","data":{"preparing#Preparing":"Preparing the grid market project documentation.Also, upgrading very old project to be modernized.https://github.com/samchon/tgrid.projects.market"}},"/docs/projects/mutex":{"title":"Mutex","data":{"preparing#Preparing":"Preparing the mutex server project documentation.Also, upgrading very old project to be modernized.https://github.com/samchon/mutex"}},"/docs/setup":{"title":"Setup","data":{"standalone#Standalone":"npm install tgrid\npnpm install tgrid\nyarn add tgrid\nIf you're planning to use TGrid standalone, without NestJS integration, just setup it.","nestjs#NestJS":"Nestia > Guide Documents > SetupOtherwise, you wanna use TGrid with NestJS integration, please refer to the guide documents of nestia.By the way, if you want to setup it right now without reading detailed documents, just run the below commands.\nnpx nestia setup\nnpm install tgrid\nnpx nestia setup --manager pnpm\npnpm install tgrid\nYarn beery is not supported.\nnpx nestia setup --manager yarn\nyarn add tgrid"}},"/":{"title":"Index","data":{"key-features#Key Features":""}},"/docs/examples/nestjs-websocket":{"title":"Nestjs Websocket","data":{"outline#Outline":"If you develop websocket application, I recommend integrate TGrid with NestJS / Nestia.It's because you can manage WebSocket API endpoints much effectively and easily by NestJS controller patterns. Also, you can make your server to support both HTTP and WebSocket protocols at the same time. NestJS controllers are compatible with both HTTP and WebSocket operations.Furthermore, you can generate SDK (Software Development Kit) library for your client application through Nestia. With the automatically generated SDK, client developers no more need to write the WebSocket connection and RPC (Remote Procedure Call) codes manually, so that the client development becomes much easier and safer.\nReferences\nNestia > Guide Documents > Setup\nNestia > Guide Documents > WebSocketRoute\nDemonstrationYou can run the example program on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.nestjs\nnpm install\nnpm start","server-program#Server Program":"","bootstrap#Bootstrap":"import { WebSocketAdaptor } from \"@nestia/core\";\nimport { INestApplication } from \"@nestjs/common\";\nimport { NestFactory } from \"@nestjs/core\";\nimport { CalculateModule } from \"./calculate.module\";\nexport const bootstrap = async (): Promise => {\n const app: INestApplication = await NestFactory.create(CalculateModule);\n await WebSocketAdaptor.upgrade(app);\n await app.listen(37_000, \"0.0.0.0\");\n return app;\n};\nTo integrate TGrid with NestJS, you have to upgrade the NestJS application like above.Just call the WebSocketAdaptor.upgrade(), then you can utilize TGrid in the NestJS server.","controller#Controller":"import { TypedRoute, WebSocketRoute } from \"@nestia/core\";\nimport { Controller } from \"@nestjs/common\";\nimport { Driver, WebSocketAcceptor } from \"tgrid\";\nimport { ICalcConfig } from \"./api/interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./api/interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./api/interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"./api/interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"./api/interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"./api/interfaces/IStatisticsCalculator\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\n@Controller(\"calculate\")\nexport class CalculateController {\n /**\n * Health check API (HTTP GET).\n */\n @TypedRoute.Get(\"health\")\n public health(): string {\n return \"Health check OK\";\n }\n /**\n * Prepare a composite calculator.\n */\n @WebSocketRoute(\"composite\")\n public async composite(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n ICompositeCalculator,\n ICalcEventListener\n >,\n @WebSocketRoute.Header() header: ICalcConfig,\n @WebSocketRoute.Driver() listener: Driver\n ): Promise {\n const provider: CompositeCalculator = new CompositeCalculator(\n header,\n listener\n );\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a simple calculator.\n */\n @WebSocketRoute(\"simple\")\n public async simple(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig, // header\n ISimpleCalculator, // provider for remote client\n ICalcEventListener // provider from remote client\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: SimpleCalculator = new SimpleCalculator(header, listener);\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a scientific calculator.\n */\n @WebSocketRoute(\"scientific\")\n public async scientific(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n IScientificCalculator,\n ICalcEventListener\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: ScientificCalculator = new ScientificCalculator(\n header,\n listener\n );\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a statistics calculator.\n */\n @WebSocketRoute(\"statistics\")\n public async statistics(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n IStatisticsCalculator,\n ICalcEventListener\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: IStatisticsCalculator = new StatisticsCalculator(\n header,\n listener\n );\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n}\nimport { Module } from \"@nestjs/common\";\nimport { CalculateController } from \"./calculate.controller\";\n@Module({\n controllers: [CalculateController],\n})\nexport class CalculateModule {}\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nAs you can see from the above code, CalculateController has many API operations, including both HTTP and WebSocket protocols. The CalculatorController.health() is an HTTP Get method operation, and the others are all WebSocket operations.When defining WebSocket operation, attach @WebSocketRoute() decorator to the target controller method with path specification. Also, the controller method must have the @WebSocketRoute.Acceptor() decorated parameter with WebSocketAcceptor type, because you have to determine whether to WebSocketAcceptor.accept() the client's connection or WebSocketAcceptor.reject() it.With such controller patterned WebSocket operation, you can manage WebSocket API endpoints much effectively and easily. Also, you can generate SDK (Software Development Kit) library for your client application through Nestia. Let's see how to generate SDK library, and how it would be looked like in the next section.\nPingIf client comes from web browser, the connection would be closed automatically after a certain period of time if there's no signal. In the Google Chrome case, it automatically closes the connection after 60 seconds.To make the connection alive forcibly, you can ping a signal to the remote client repeatedly in the specified interval by calling the WebSocketAcceptor.ping() method. Therefore, when developing WebSocket server application, consider to calling the WebSocketAcceptor.ping() method after accepting the connection.","software-development-kit#Software Development Kit":"/**\n * @packageDocumentation\n * @module api.functional.calculate\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\n//================================================================\nimport type { IConnection, Primitive } from \"@nestia/fetcher\";\nimport { PlainFetcher } from \"@nestia/fetcher/lib/PlainFetcher\";\nimport { WebSocketConnector } from \"tgrid\";\nimport type { Driver } from \"tgrid\";\nimport type { ICalcConfig } from \"../../interfaces/ICalcConfig\";\nimport type { ICalcEventListener } from \"../../interfaces/ICalcEventListener\";\nimport type { ICompositeCalculator } from \"../../interfaces/ICompositeCalculator\";\nimport type { IScientificCalculator } from \"../../interfaces/IScientificCalculator\";\nimport type { ISimpleCalculator } from \"../../interfaces/ISimpleCalculator\";\nimport type { IStatisticsCalculator } from \"../../interfaces/IStatisticsCalculator\";\n/**\n * Health check API (HTTP GET).\n *\n * @controller CalculateController.health\n * @path GET /calculate/health\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function health(connection: IConnection): Promise {\n return PlainFetcher.fetch(connection, {\n ...health.METADATA,\n path: health.path(),\n });\n}\nexport namespace health {\n export type Output = Primitive;\n export const METADATA = {\n method: \"GET\",\n path: \"/calculate/health\",\n request: null,\n response: {\n type: \"application/json\",\n encrypted: false,\n },\n status: null,\n } as const;\n export const path = () => \"/calculate/health\";\n}\n/**\n * Prepare a composite calculator.\n *\n * @controller CalculateController.composite\n * @path /calculate/composite\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function composite(\n connection: IConnection,\n provider: composite.Provider,\n): Promise {\n const connector: WebSocketConnector<\n composite.Header,\n composite.Provider,\n composite.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${composite.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace composite {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ICompositeCalculator;\n export const path = () => \"/calculate/composite\";\n}\n/**\n * Prepare a simple calculator.\n *\n * @controller CalculateController.simple\n * @path /calculate/simple\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function simple(\n connection: IConnection,\n provider: simple.Provider,\n): Promise {\n const connector: WebSocketConnector<\n simple.Header,\n simple.Provider,\n simple.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${simple.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace simple {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ISimpleCalculator;\n export const path = () => \"/calculate/simple\";\n}\n/**\n * Prepare a scientific calculator.\n *\n * @controller CalculateController.scientific\n * @path /calculate/scientific\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function scientific(\n connection: IConnection,\n provider: scientific.Provider,\n): Promise {\n const connector: WebSocketConnector<\n scientific.Header,\n scientific.Provider,\n scientific.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${scientific.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace scientific {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IScientificCalculator;\n export const path = () => \"/calculate/scientific\";\n}\n/**\n * Prepare a statistics calculator.\n *\n * @controller CalculateController.statistics\n * @path /calculate/statistics\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function statistics(\n connection: IConnection,\n provider: statistics.Provider,\n): Promise {\n const connector: WebSocketConnector<\n statistics.Header,\n statistics.Provider,\n statistics.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${statistics.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace statistics {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IStatisticsCalculator;\n export const path = () => \"/calculate/statistics\";\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nnpx nestia sdk\nWhen you run npx nestia sdk command, SDK (Software Development Kit) library be generated.Above file is one of the SDK library corresponding to the CalculateController class we've seen in the previous NestJS Controller section. Client developers can utilize the automatically generated SDK functions to connect to the WebSocket server, and interact it type safely. Also, HTTP operation is compatible with the WebSocket operation.Let's see how client developer utilizes the SDK library in the next section.","client-program#Client Program":"import api from \"./api\";\nimport { ICalcEvent } from \"./api/interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./api/interfaces/ICalcEventListener\";\nexport const testCalculateSdk = async () => {\n //----\n // HTTP PROTOCOL\n //---\n // CALL HEALTH CHECK API\n console.log(\n await api.functional.calculate.health({\n host: \"http://127.0.0.1:37000\",\n })\n );\n //----\n // WEBSOCKET PROTOCOL\n //---\n // PROVIDER FOR WEBSOCKET SERVER\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n // DO CONNECT\n const { connector, driver } = await api.functional.calculate.composite(\n {\n host: \"ws://127.0.0.1:37000\",\n headers: {\n precision: 2,\n },\n },\n listener\n );\n // CALL FUNCTIONS OF REMOTE SERVER\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9) // returns 4.33\n );\n // TERMINATE\n await connector.close();\n console.log(stack);\n};\n/**\n * @packageDocumentation\n * @module api.functional.calculate\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\n//================================================================\nimport type { IConnection, Primitive } from \"@nestia/fetcher\";\nimport { PlainFetcher } from \"@nestia/fetcher/lib/PlainFetcher\";\nimport { WebSocketConnector } from \"tgrid\";\nimport type { Driver } from \"tgrid\";\nimport type { ICalcConfig } from \"../../interfaces/ICalcConfig\";\nimport type { ICalcEventListener } from \"../../interfaces/ICalcEventListener\";\nimport type { ICompositeCalculator } from \"../../interfaces/ICompositeCalculator\";\nimport type { IScientificCalculator } from \"../../interfaces/IScientificCalculator\";\nimport type { ISimpleCalculator } from \"../../interfaces/ISimpleCalculator\";\nimport type { IStatisticsCalculator } from \"../../interfaces/IStatisticsCalculator\";\n/**\n * Health check API (HTTP GET).\n *\n * @controller CalculateController.health\n * @path GET /calculate/health\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function health(connection: IConnection): Promise {\n return PlainFetcher.fetch(connection, {\n ...health.METADATA,\n path: health.path(),\n });\n}\nexport namespace health {\n export type Output = Primitive;\n export const METADATA = {\n method: \"GET\",\n path: \"/calculate/health\",\n request: null,\n response: {\n type: \"application/json\",\n encrypted: false,\n },\n status: null,\n } as const;\n export const path = () => \"/calculate/health\";\n}\n/**\n * Prepare a composite calculator.\n *\n * @controller CalculateController.composite\n * @path /calculate/composite\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function composite(\n connection: IConnection,\n provider: composite.Provider,\n): Promise {\n const connector: WebSocketConnector<\n composite.Header,\n composite.Provider,\n composite.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${composite.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace composite {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ICompositeCalculator;\n export const path = () => \"/calculate/composite\";\n}\n/**\n * Prepare a simple calculator.\n *\n * @controller CalculateController.simple\n * @path /calculate/simple\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function simple(\n connection: IConnection,\n provider: simple.Provider,\n): Promise {\n const connector: WebSocketConnector<\n simple.Header,\n simple.Provider,\n simple.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${simple.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace simple {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ISimpleCalculator;\n export const path = () => \"/calculate/simple\";\n}\n/**\n * Prepare a scientific calculator.\n *\n * @controller CalculateController.scientific\n * @path /calculate/scientific\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function scientific(\n connection: IConnection,\n provider: scientific.Provider,\n): Promise {\n const connector: WebSocketConnector<\n scientific.Header,\n scientific.Provider,\n scientific.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${scientific.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace scientific {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IScientificCalculator;\n export const path = () => \"/calculate/scientific\";\n}\n/**\n * Prepare a statistics calculator.\n *\n * @controller CalculateController.statistics\n * @path /calculate/statistics\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function statistics(\n connection: IConnection,\n provider: statistics.Provider,\n): Promise {\n const connector: WebSocketConnector<\n statistics.Header,\n statistics.Provider,\n statistics.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${statistics.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace statistics {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IStatisticsCalculator;\n export const path = () => \"/calculate/statistics\";\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n$ npm start\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestFactory] Starting Nest application...\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [InstanceLoader] CalculateModule dependencies initialized +5ms\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [RoutesResolver] CalculateController {/calculate}: +5ms\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestApplication] Nest application successfully started +2ms\nHealth check OK\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]\nDo import the SDK, and enjoy the type-safe and easy-to-use RPC (Remote Procedure Call).Looking at the above code, the client application is calling a function of the automatically generated SDK (Software Development Kit) library, so that connecting to the websocket server, and starting interaction through RPC (Remote Procedure Call) concept with Driver instance.Doesn't the \"SDK based development\" seems much easier and safer than native websocket classes case? This is the reason why I've recommended to combine with the NestJS when using websocket protocol based network system.This is the integration of TGrid with NestJS.","next-chapter#Next Chapter":"We've learned how to utilize TGrid with many examples.By the way, don't you want to know how to utilize TGrid in the real project?In the next chapter, we'll see how TGrid be utilized in the real world.\nLearn from Projects\nChat Application\nGrid Market\nMutex Server"}},"/docs/examples/remote-function-call":{"title":"Remote Function Call","data":{"outline#Outline":"With TGrid, you can call remote system's functions as if they are local functions.Such remote procedure calling concept is called as RPC (Remote Procedure Call) in the development world, but it contains not only remote funtion call, but also contains Remote Object Call and Object Oriented Network. However, in here chapter, we will focus only on the remote function calls.Let's learn how to call remote functions with TGrid.\nDemonstrationYou can run the example program on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.remote-function-call\nnpm install\nnpm start","client-program#Client Program":"import { Driver, WebSocketConnector } from \"tgrid\";\nexport const webSocketClientMain = async () => {\n const connector: WebSocketConnector =\n new WebSocketConnector(\n null, // header\n null, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.minus(7, 3), // returns 4\n await remote.multiply(3, 4), // returns 12\n await remote.divide(5, 2), // returns 2.5\n );\n await connector.close();\n};\ninterface ICalculator {\n plus(a: number, b: number): number\n minus(a: number, b: number): number\n multiply(a: number, b: number): number\n divide(a: number, b: number): number\n}\n$ npm start\n30 4 12 2.5\nHere is an example websocket client program, calling remote calculator of the websocket server's own.As you can see, the client program has written the remote function call statements on the remote instance of Driver type. Also, the Driver typed instance has been composed by the WebSocketConnector.getDriver() method. It's because Driver is a proxy instance hooking the function call expressions, so that delivers them to the remote system, and receives the return value from the remote system.This is the secret of how TGrid has implemented the RPC (Remote Procedure Call). Just call functions of remote Provider to the Driver typed instance with await symbol, as if the Provider instance was your own. Then, TGrid will perform the proper network communications for RPC instead of you.","server-program#Server Program":"import { WebSocketServer } from \"tgrid\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n null, // header\n Calculator, // provider for remote client\n null // provider from remote client\n > = new WebSocketServer();\n await server.open(37_000, async (acceptor) => {\n const provider: Calculator = new Calculator();\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n });\n return server;\n};\nclass Calculator {\n public plus(x: number, y: number): number {\n return x + y;\n }\n public minus(x: number, y: number): number {\n return x - y;\n }\n public multiply(x: number, y: number): number {\n return x * y;\n }\n public divide(x: number, y: number): number {\n return x / y;\n }\n}\nimport { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalculator } from \"./ICalculator\";\nexport const webSocketClientMain = async () => {\n const connector: WebSocketConnector =\n new WebSocketConnector(\n null, // header\n null, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.minus(7, 3), // returns 4\n await remote.multiply(3, 4), // returns 12\n await remote.divide(5, 2), // returns 2.5\n );\n await connector.close();\n};\ninterface ICalculator {\n plus(a: number, b: number): number\n minus(a: number, b: number): number\n multiply(a: number, b: number): number\n divide(a: number, b: number): number\n}\nHere is the websocket server program providing Calculator class to the client.Above \"Client Program\" is calling remote functions to the calculator through the remote instance of Driver typed. To make the client program works properly, \"Server Program\" must provide the actual instance implemented the ICalculator type. This \"Server Program\" is serving it providing the Calculator class instance in such reason.By the way, the provided Calculator does not have any asynchronous method, but \"Client Program\" is calling the remote functions with await symbol. It's because remote function calls are actually asynchrounous operations perform by the network communication, and Driver is a type changing every function's return type to be asynchronous (Promise) in such reason.This is the RPC (Remote Procedure Call) of TGrid.","next-chapter#Next Chapter":"In this chapter, we've learned only about one-way remote function calls. By the way, most of real-time network systems need two-way communication. Also, we have not utilized Header, the value directly delivered after the connection, at all.\nLearn from Examples > Remote Object Call chapter.\nimport { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nexport const webSocketClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const provider: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WebSocketConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WebSocketConnector(\n { precision: 2 }, // header\n provider, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};"}},"/docs/examples/remote-object-call":{"title":"Remote Object Call","data":{"outline#Outline":"With TGrid, you can call remote system's nested functions as if they are local functions.Such remote procedure calling concept is called as RPC (Remote Procedure Call) in the development world, but it contains not only remote function call, but also contains Object Oriented Network. However, in here chapter, we will focus only on the remote nested function calls.Let's learn how to call remote nested functions with TGrid.\nDemonstrationYou can run the example program on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.remote-object-call\nnpm install\nnpm start","client-program#Client Program":"import { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nexport const webSocketClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WebSocketConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WebSocketConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000\");\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.multiplies(3, 4), // returns 12\n await remote.divides(5, 3), // returns 1.67\n await remote.scientific.sqrt(2), // returns 1.41\n await remote.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n$ npm start\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]\nHere is an example websocket client program, calling remote calculator of the websocket server's own.As you can see, the client has constructed a WebSocketConnector instance with the Header and listener objects. The header object represents a Header component which be directly delivered to the remote system when connecting. The listener object is a Provider component provided for the remote websocket server. It means that, the \"Client Program\" configures the header value to precision: 2, and provides ICalcEventListener for the remote \"Server Program\".After that, you can find out the \"Client Program\" is calling the remote calculator's function of \"Server Program\" through Driver typed instance. In the remote function call statements, there is one thing important. It is Driver type supports nested object's funtion calls.This is the \"Remote Object Call\".","server-program#Server Program":"import { Driver, WebSocketServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n > = new WebSocketServer();\n await server.open(37_000, async (acceptor) => {\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: CompositeCalculator = new CompositeCalculator(config, listener);\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n });\n return server;\n};\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends CalculatorBase\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nThe \"Server Program\" is providing CompositeCalculator class to the websocket client.By the way, when composing the CompositeCalculator class instance as a Provider, you can find out that it is delivering the Header and Driver typed instances to the construction parameter. By getting the Header value from the \"Client Program\", \"Server Program\" configures precision level of the calculator.Also, if you click the second Providers tab, you can find out that calculators are reporting their calculator operations to the \"Client Program\" through the Driver object. Therefore, whenever the calculator function be called, \"Server Program\" calls remote function of the \"Client Program\" for event reporting.Such two-way remote functions providing and header for initialization, this is the \"Remote Object Call\".","next-chapter#Next Chapter":"Until this chapter, we've learned only about simple structructured network systems. Complexity has only come to the Provider level, and the network systems were always monotonous. Only single type of server and client were existed.By the way, TGrid has said that it is useful for developing complicated network system like grid computing in the README and index page of guide documents. At the next chapter, we will learn about the complicated network system.\nLearn from Examples > Object Oriented Network.\nimport { Driver, WorkerConnector, WorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { IScientificCalculator } from \"./interfaces/IScientificCalculator\";\nimport { IStatisticsCalculator } from \"./interfaces/IStatisticsCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nconst EXTENSION = __filename.endsWith(\".ts\") ? \"ts\" : \"js\";\n/// `CompositeCalculator` has two additional properties\n///\n/// - `scientific` from remote worker server\n/// - `statistics` from remote worker server\nclass CompositeCalculator extends SimpleCalculator {\n public readonly scientific: Driver;\n public readonly statistics: Driver;\n public constructor(props: {\n config: ICalcConfig;\n listener: Driver;\n scientific: Driver;\n statistics: Driver;\n }) {\n super(props.config, props.listener);\n this.scientific = props.scientific;\n this.statistics = props.statistics;\n }\n}\n/// connect to remote worker server\nconst connect = async (\n header: ICalcConfig,\n listener: Driver,\n file: string,\n): Promise> => {\n const connector: WorkerConnector =\n new WorkerConnector(header, listener, \"process\");\n await connector.connect(file);\n return connector.getDriver();\n};\nconst main = async () => {\n const server: WorkerServer<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n > = new WorkerServer();\n const config: ICalcConfig = await server.getHeader();\n const listener: Driver = server.getDriver();\n // constructor provider combining with remote worker-servers\n const provider: CompositeCalculator = new CompositeCalculator({\n config,\n listener,\n scientific: await connect>(\n config,\n listener,\n `${__dirname}/scientific.${EXTENSION}`,\n ),\n statistics: await connect>(\n config,\n listener,\n `${__dirname}/statistics.${EXTENSION}`,\n ),\n });\n await server.open(provider);\n};\nmain().catch((exp) => {\n console.error(exp);\n process.exit(-1);\n});\nimport { Driver, WorkerConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nconst EXTENSION = __filename.endsWith(\".ts\") ? \"ts\" : \"js\";\nexport const workerClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WorkerConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WorkerConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n \"process\",\n );\n await connector.connect(`${__dirname}/composite.${EXTENSION}`);\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.multiplies(3, 4), // returns 12\n await remote.divides(5, 3), // returns 1.67\n await remote.scientific.sqrt(2), // returns 1.41\n await remote.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};"}},"/docs/features/components":{"title":"Components","data":{"outline#Outline":"This chapter describes key components of the TGrid only in the conceptual level.If you're not familar with theoretical stories, it's okay to skip to the next chapter Features > WebSocket Protocol.Even you want to see the example codes, step to the Learn from Examples > Remote Funtion Call chapter.Otherwise, let's study about the key components of the TGrid.\nCommunicator: network communication with remote system\nHeader: header value directly delivered after the connection\nProvider: object provided for remote system\nDriver: proxy instance for calling functions of the remote system's Provider","communicator#Communicator":"Communicates with a remote system.Communicator is a class taking full responsibility to network communication with remote system. You can register a Provider, an object would be provided to the remote system, to the Communicator. Also, Driver, which can access to the remote system's Provider, is created by this Communicator.For reference, actual Communicator is the top-level abstract class, and all the classes responsible for network communication in TGrid are inheriting from this Communicator class. Here is the list of every communicator classes in TGrid.\nProtocol\tClient\tServer\tWeb Socket\tWebSocketConnector\tWebSocketAcceptor\tDedicated Worker\tWorkerConnector\tWorkerServer\tShared Worker\tSharedWorkerConnector\tSharedWorkerAcceptor","header#Header":"import { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nexport const webSocketClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WebSocketConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WebSocketConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\nimport { Driver, WebSocketServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n ICalcConfig,\n | CompositeCalculator\n | SimpleCalculator\n | StatisticsCalculator\n | ScientificCalculator,\n ICalcEventListener\n > = new WebSocketServer();\n await server.open(37_000, async (acceptor) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT\n if (acceptor.path === \"/composite\")\n await acceptor.accept(new CompositeCalculator(config, listener));\n else if (acceptor.path === \"/simple\")\n await acceptor.accept(new SimpleCalculator(config, listener));\n else if (acceptor.path === \"/statistics\")\n await acceptor.accept(new StatisticsCalculator(config, listener));\n else if (acceptor.path === \"/scientific\")\n await acceptor.accept(new ScientificCalculator(config, listener));\n else {\n await acceptor.reject(1002, `WebSocket API endpoint not found.`);\n return;\n }\n // PING REPEATEDLY TO KEEP CONNECTION\n acceptor.ping(15_000);\n });\n return server;\n};\nimport { Driver, WorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nconst main = async () => {\n const server: WorkerServer<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n > = new WorkerServer();\n const header: ICalcConfig = await server.getHeader();\n const listener: Driver = server.getDriver();\n const provider: CompositeCalculator = new CompositeCalculator(\n header,\n listener,\n );\n await server.open(provider);\n};\nmain().catch((exp) => {\n console.error(exp);\n process.exit(-1);\n});\nHeader value delivered after the connection.Header is a value, delivered from client to server directly, after the connection.Server can get the Header value through acceptor's header property.\nWebSocketAcceptor.header\nWorkerServer.getHeader()\nSharedWorkerSever.header","provider#Provider":"import { Driver, WebSocketServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n ICalcConfig,\n | CompositeCalculator\n | SimpleCalculator\n | StatisticsCalculator\n | ScientificCalculator,\n ICalcEventListener\n > = new WebSocketServer();\n await server.open(37_000, async (acceptor) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT\n if (acceptor.path === \"/composite\")\n await acceptor.accept(new CompositeCalculator(config, listener));\n else if (acceptor.path === \"/simple\")\n await acceptor.accept(new SimpleCalculator(config, listener));\n else if (acceptor.path === \"/statistics\")\n await acceptor.accept(new StatisticsCalculator(config, listener));\n else if (acceptor.path === \"/scientific\")\n await acceptor.accept(new ScientificCalculator(config, listener));\n else {\n await acceptor.reject(1002, `WebSocket API endpoint not found.`);\n return;\n }\n // PING REPEATEDLY TO KEEP CONNECTION\n acceptor.ping(15_000);\n });\n return server;\n};\nObject provided for remote system.Provider is an object provided for the remote system.The remote system can call the Provider's functions through Driver.","driver#Driver":"import { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nexport const webSocketClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WebSocketConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WebSocketConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\n$ npm start\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]\nDriver of RPC (Remote Procedure Call).Driver is a proxy instance designed to call functions of the remote system. It has a generic argument Remote which means the type of remote system's Provider, and you can remotely call the functions of the Provider asynchronously through the Drive instance.When you call some function of remote Provider by the Driver instance, it hooks the function call expression, and delivers the function name and arguments (parameter values) to the remote system through the Communicator. If the remote system suceeded to reply the result of the function call, Communicator resolves the promise of the function call expression with the result, so that makes Driver working.Otherwise exception is thrown in the remote Provider function, Communicator deliveries the exception instance instead to the remote system, so that actual exception being thrown from the Driver instance.\nDemonstrationYou can run it on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.websocket\nnpm install\nnpm start"}},"/docs/features/websocket":{"title":"Websocket","data":{"outline#Outline":"TGrid supports WebSocket protocol.With TGrid, you can easily develop WebSocket system under the RPC (Remote Procedure Call) concept.By the way, when you're developing WebSocket server natively only with TGrid, you have to construct and open the WebSocket server through WebSocketServer class. Also, you have to access to the WebSocket server with manual WebSocketConnector composition.Instead, if you develop the WebSocket server with NestJS, client can easily interact with the WebSocket server by SDK (Software Development Kit) library generated by Nestia. Also, you can make both http and websocket operations to the NestJS controllers, so that makes the server compatible on both protocols.Therefore, when you develop WebSocket server, I recommend to use NestJS with TGrid for the best development experience.","native-classes#Native Classes":"","websocketserver#WebSocketServer":"import { Driver, WebSocketServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n ICalcConfig,\n | CompositeCalculator\n | SimpleCalculator\n | StatisticsCalculator\n | ScientificCalculator,\n ICalcEventListener\n > = new WebSocketServer();\n await server.open(37_000, async (acceptor) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT\n if (acceptor.path === \"/composite\")\n await acceptor.accept(new CompositeCalculator(config, listener));\n else if (acceptor.path === \"/simple\")\n await acceptor.accept(new SimpleCalculator(config, listener));\n else if (acceptor.path === \"/statistics\")\n await acceptor.accept(new StatisticsCalculator(config, listener));\n else if (acceptor.path === \"/scientific\")\n await acceptor.accept(new ScientificCalculator(config, listener));\n else {\n await acceptor.reject(1002, `WebSocket API endpoint not found.`);\n return;\n }\n // PING REPEATEDLY TO KEEP CONNECTION\n acceptor.ping(15_000);\n });\n return server;\n};\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nAvailable only in the NodeJS.\nWebSocketServer is a class which can open an websocket server. Clients connecting to the WebSocketServer would communicate with this websocket server through WebSocketAcceptor objects with RPC (Remote Procedure Call) concept.To open the websocket server, call the WebSocketServer.open() method with target port number, and your custom callback function which would be called whenever a WebSocketAcceptor has been newly created by a new client's connection.Also, when declaring WebSocketServer type, you have to specify three generic arguments; Header, Provider and Remote. Those generic arguments would be propagated to the WebSocketAcceptor, so that WebSocketAcceptor would have the same generic arguments, too.For reference, the first Header type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from server to client, and the other Remote means a provider from the remote client to server.\nAbove example case:\nHeader: ICalcConfig type\nProvider: Server is providing one of below to the client\nSimpleCalculator\nStatisticsCalculator\nScientificCalculator\nRemote: Client is providing ICalcEventListener to the server","websocketacceptor#WebSocketAcceptor":"import { Driver, WebSocketAcceptor, WebSocketServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n ICalcConfig,\n | CompositeCalculator\n | SimpleCalculator\n | StatisticsCalculator\n | ScientificCalculator,\n ICalcEventListener\n > = new WebSocketServer();\n await server.open(\n 37_000,\n async (\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n | CompositeCalculator\n | SimpleCalculator\n | StatisticsCalculator\n | ScientificCalculator,\n ICalcEventListener\n >,\n ) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT\n if (acceptor.path === \"/composite\")\n await acceptor.accept(new CompositeCalculator(config, listener));\n else if (acceptor.path === \"/simple\")\n await acceptor.accept(new SimpleCalculator(config, listener));\n else if (acceptor.path === \"/statistics\")\n await acceptor.accept(new StatisticsCalculator(config, listener));\n else if (acceptor.path === \"/scientific\")\n await acceptor.accept(new ScientificCalculator(config, listener));\n else {\n await acceptor.reject(1002, `WebSocket API endpoint not found.`);\n return;\n }\n // PING REPEATEDLY TO KEEP CONNECTION\n acceptor.ping(15_000);\n },\n );\n return server;\n};\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nAvailable only in the NodeJS.\nThe WebSocketAcceptor is a communicator class interacting with the remote websocket client through (RPC)(Remote Procedure Call) concept, created by the WebSocketServer class whenever a remote client connects to the websocket server.When the closure function being called by the connection of a remote client, you can determine whether to accept the client's connection or not, reading the WebSocketAcceptor.header or WebSocketAcceptor.path properties. If you've decided to accept the connection, call the WebSocketAcceptor.accept() method with Provider instance. Otherwise, reject it through the WebSocketAcceptor.reject() method.Also, don't forget to closing the connection after your business logic has been completed to clean up the resources. Otherwise the closing must be performed by the remote client, you can wait the remote client's closing signal by the WebSocketAcceptor.join() method.\nPingIf client comes from web browser, the connection would be closed automatically after a certain period of time if there's no signal. In the Google Chrome case, it automatically closes the connection after 60 seconds.To make the connection alive forcibly, you can ping a signal to the remote client repeatedly in the specified interval by calling the WebSocketAcceptor.ping() method. Therefore, when developing WebSocket server application, consider to calling the WebSocketAcceptor.ping() method after accepting the connection.","websocketconnector#WebSocketConnector":"import { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"../interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nexport const webSocketClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WebSocketConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WebSocketConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n$ npm start\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]\nAvailable in both Browser/NodeJS.\nWeb Socket Connector.The WebSocketConnector is a communicator class which connects to a websocket server and interacts with it through RPC (Remote Procedure Call) concept.You can connect to the websocket server using WebSocketConnector.connect() method. The interaction would be started if the server accepts your connection by calling the WebSocketAcceptor.accept() method. If the remote server rejects your connection through WebSocketAcceptor.reject() method, the exception would be thrown.After the connection, don't forget to closing the connection, if your business logics have been completed, to clean up the resources. Otherwise, the closing must be performed by the remote websocket server, you can wait the remote server's closing signal through the WebSocketConnector.join() method.Also, when declaring this WebSocketConnector type, you've to define three generic arguments; Header, Provider and Remote. Those generic arguments must be same with the ones defined in the target WebSocketServer and WebSocketAcceptor classes (Provider and Remote must be reversed).For reference, the first Header type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from client to server, and the other Remote means a provider from the remote server to client.\nAbove example case:\nHeader: ICalcConfig type\nProvider: Client is providing ICalcEventListener to the server\nRemote: Server is providing ISimpleCalculator to the client\nDemonstrationYou can run it on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.websocket\nnpm install\nnpm start","nestjs-integration#NestJS Integration":"If you develop websocket application, I recommend integrate TGrid with NestJS.It's because you can manage WebSocket API endpoints much effectively and easily by NestJS controller patterns. Also, you can make your server to support both HTTP and WebSocket protocols at the same time. NestJS controllers are compatible with both HTTP and WebSocket operations.In the client side, you also can take advantages of automatically generated SDK (Software Development Kit) library for the client developers. With the SDK, client developers no more need to write the WebSocket connection and RPC (Remote Procedure Call) codes manually, so that the client development becomes much easier and safer.","bootstrap#Bootstrap":"import { WebSocketAdaptor } from \"@nestia/core\";\nimport { INestApplication } from \"@nestjs/common\";\nimport { NestFactory } from \"@nestjs/core\";\nimport { CalculateModule } from \"./calculate.module\";\nexport const bootstrap = async (): Promise => {\n const app: INestApplication = await NestFactory.create(CalculateModule);\n await WebSocketAdaptor.upgrade(app);\n await app.listen(37_000, \"0.0.0.0\");\n return app;\n};\nTo utilize TGrid in the NestJS, upgrade the NestJS application like above.Just call the WebSocketAdaptor.upgrade() method, then you can utilize TGrid in the NestJS server.\nAbout detailed setup or more detailed informations, please refer below docs:\nNestia > Guide Documents > Setup\nNestia > Guide Documents > WebSocketRoute","nestjs-controller#NestJS Controller":"import { TypedRoute, WebSocketRoute } from \"@nestia/core\";\nimport { Controller } from \"@nestjs/common\";\nimport { Driver, WebSocketAcceptor } from \"tgrid\";\nimport { ICalcConfig } from \"./api/interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./api/interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./api/interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"./api/interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"./api/interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"./api/interfaces/IStatisticsCalculator\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\n@Controller(\"calculate\")\nexport class CalculateController {\n /**\n * Health check API (HTTP GET).\n */\n @TypedRoute.Get(\"health\")\n public health(): string {\n return \"Health check OK\";\n }\n /**\n * Prepare a composite calculator.\n */\n @WebSocketRoute(\"composite\")\n public async composite(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n ICompositeCalculator,\n ICalcEventListener\n >,\n @WebSocketRoute.Header() header: ICalcConfig,\n @WebSocketRoute.Driver() listener: Driver\n ): Promise {\n const provider: CompositeCalculator = new CompositeCalculator(\n header,\n listener\n );\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a simple calculator.\n */\n @WebSocketRoute(\"simple\")\n public async simple(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig, // header\n ISimpleCalculator, // provider for remote client\n ICalcEventListener // provider from remote client\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: SimpleCalculator = new SimpleCalculator(header, listener);\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a scientific calculator.\n */\n @WebSocketRoute(\"scientific\")\n public async scientific(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n IScientificCalculator,\n ICalcEventListener\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: ScientificCalculator = new ScientificCalculator(\n header,\n listener\n );\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a statistics calculator.\n */\n @WebSocketRoute(\"statistics\")\n public async statistics(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n IStatisticsCalculator,\n ICalcEventListener\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: IStatisticsCalculator = new StatisticsCalculator(\n header,\n listener\n );\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n}\nimport { Module } from \"@nestjs/common\";\nimport { CalculateController } from \"./calculate.controller\";\n@Module({\n controllers: [CalculateController],\n})\nexport class CalculateModule {}\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nFrom now on, you can define WebSocket API operations like above.Just import and attach the @WebSocketRoute() decorator function to the target controller methods.Note that, don't forget to define @WebSocketRoute.Acceptor() decorated parameter with WebSocketAcceptor type. It's because the websocket server must determine whether to WebSocketAcceptor.accept() the client's connection or WebSocketAcceptor.reject() it.Also, when declaring the WebSocketAcceptor type, ou have to specify three generic arguments; Header, Provider and Remote. Those generic arguments would be propagated to the automatically generated Software Development Kit for the client, so that the client developers will utilize the same generic types what you've defined (Provider and Remote must be reversed).For reference, the first Header type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from server to client, and the other Remote means a provider from the remote client to server.\nYou can find more detailed informations about @WebSocketRoute():\nNestia > Guide Documents > WebSocketRoute]","software-development-kit#Software Development Kit":"/**\n * @packageDocumentation\n * @module api.functional.calculate\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\n//================================================================\nimport type { IConnection, Primitive } from \"@nestia/fetcher\";\nimport { PlainFetcher } from \"@nestia/fetcher/lib/PlainFetcher\";\nimport { WebSocketConnector } from \"tgrid\";\nimport type { Driver } from \"tgrid\";\nimport type { ICalcConfig } from \"../../interfaces/ICalcConfig\";\nimport type { ICalcEventListener } from \"../../interfaces/ICalcEventListener\";\nimport type { ICompositeCalculator } from \"../../interfaces/ICompositeCalculator\";\nimport type { IScientificCalculator } from \"../../interfaces/IScientificCalculator\";\nimport type { ISimpleCalculator } from \"../../interfaces/ISimpleCalculator\";\nimport type { IStatisticsCalculator } from \"../../interfaces/IStatisticsCalculator\";\n/**\n * Health check API (HTTP GET).\n *\n * @controller CalculateController.health\n * @path GET /calculate/health\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function health(connection: IConnection): Promise {\n return PlainFetcher.fetch(connection, {\n ...health.METADATA,\n path: health.path(),\n });\n}\nexport namespace health {\n export type Output = Primitive;\n export const METADATA = {\n method: \"GET\",\n path: \"/calculate/health\",\n request: null,\n response: {\n type: \"application/json\",\n encrypted: false,\n },\n status: null,\n } as const;\n export const path = () => \"/calculate/health\";\n}\n/**\n * Prepare a composite calculator.\n *\n * @controller CalculateController.composite\n * @path /calculate/composite\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function composite(\n connection: IConnection,\n provider: composite.Provider,\n): Promise {\n const connector: WebSocketConnector<\n composite.Header,\n composite.Provider,\n composite.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${composite.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace composite {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ICompositeCalculator;\n export const path = () => \"/calculate/composite\";\n}\n/**\n * Prepare a simple calculator.\n *\n * @controller CalculateController.simple\n * @path /calculate/simple\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function simple(\n connection: IConnection,\n provider: simple.Provider,\n): Promise {\n const connector: WebSocketConnector<\n simple.Header,\n simple.Provider,\n simple.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${simple.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace simple {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ISimpleCalculator;\n export const path = () => \"/calculate/simple\";\n}\n/**\n * Prepare a scientific calculator.\n *\n * @controller CalculateController.scientific\n * @path /calculate/scientific\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function scientific(\n connection: IConnection,\n provider: scientific.Provider,\n): Promise {\n const connector: WebSocketConnector<\n scientific.Header,\n scientific.Provider,\n scientific.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${scientific.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace scientific {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IScientificCalculator;\n export const path = () => \"/calculate/scientific\";\n}\n/**\n * Prepare a statistics calculator.\n *\n * @controller CalculateController.statistics\n * @path /calculate/statistics\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function statistics(\n connection: IConnection,\n provider: statistics.Provider,\n): Promise {\n const connector: WebSocketConnector<\n statistics.Header,\n statistics.Provider,\n statistics.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${statistics.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace statistics {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IStatisticsCalculator;\n export const path = () => \"/calculate/statistics\";\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nnpx nestia sdk\nWhen you run npx nestia sdk command, SDK (Software Development Kit) library be generated.Above file is one of the SDK library corresponding to the CalculateController class we've seen in the previous NestJS Controller section. Client developers can utilize the automatically generated SDK functions to connect to the WebSocket server, and interact it type safely. Also, HTTP operation is compatible with the WebSocket operation.Let's see how client developer utilizes the SDK library in the next section.\nYou can find more detailed informations about SDK generator:\nNestia > Guide Documents > S/W Development Kit","client-application#Client Application":"import api from \"./api\";\nimport { ICalcEvent } from \"./api/interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./api/interfaces/ICalcEventListener\";\nexport const testCalculateSdk = async () => {\n //----\n // HTTP PROTOCOL\n //---\n // CALL HEALTH CHECK API\n console.log(\n await api.functional.calculate.health({\n host: \"http://127.0.0.1:37000\",\n })\n );\n //----\n // WEBSOCKET PROTOCOL\n //---\n // PROVIDER FOR WEBSOCKET SERVER\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n // DO CONNECT\n const { connector, driver } = await api.functional.calculate.composite(\n {\n host: \"ws://127.0.0.1:37000\",\n headers: {\n precision: 2,\n },\n },\n listener\n );\n // CALL FUNCTIONS OF REMOTE SERVER\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9) // returns 4.33\n );\n // TERMINATE\n await connector.close();\n console.log(stack);\n};\n/**\n * @packageDocumentation\n * @module api.functional.calculate\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\n//================================================================\nimport type { IConnection, Primitive } from \"@nestia/fetcher\";\nimport { PlainFetcher } from \"@nestia/fetcher/lib/PlainFetcher\";\nimport { WebSocketConnector } from \"tgrid\";\nimport type { Driver } from \"tgrid\";\nimport type { ICalcConfig } from \"../../interfaces/ICalcConfig\";\nimport type { ICalcEventListener } from \"../../interfaces/ICalcEventListener\";\nimport type { ICompositeCalculator } from \"../../interfaces/ICompositeCalculator\";\nimport type { IScientificCalculator } from \"../../interfaces/IScientificCalculator\";\nimport type { ISimpleCalculator } from \"../../interfaces/ISimpleCalculator\";\nimport type { IStatisticsCalculator } from \"../../interfaces/IStatisticsCalculator\";\n/**\n * Health check API (HTTP GET).\n *\n * @controller CalculateController.health\n * @path GET /calculate/health\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function health(connection: IConnection): Promise {\n return PlainFetcher.fetch(connection, {\n ...health.METADATA,\n path: health.path(),\n });\n}\nexport namespace health {\n export type Output = Primitive;\n export const METADATA = {\n method: \"GET\",\n path: \"/calculate/health\",\n request: null,\n response: {\n type: \"application/json\",\n encrypted: false,\n },\n status: null,\n } as const;\n export const path = () => \"/calculate/health\";\n}\n/**\n * Prepare a composite calculator.\n *\n * @controller CalculateController.composite\n * @path /calculate/composite\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function composite(\n connection: IConnection,\n provider: composite.Provider,\n): Promise {\n const connector: WebSocketConnector<\n composite.Header,\n composite.Provider,\n composite.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${composite.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace composite {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ICompositeCalculator;\n export const path = () => \"/calculate/composite\";\n}\n/**\n * Prepare a simple calculator.\n *\n * @controller CalculateController.simple\n * @path /calculate/simple\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function simple(\n connection: IConnection,\n provider: simple.Provider,\n): Promise {\n const connector: WebSocketConnector<\n simple.Header,\n simple.Provider,\n simple.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${simple.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace simple {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ISimpleCalculator;\n export const path = () => \"/calculate/simple\";\n}\n/**\n * Prepare a scientific calculator.\n *\n * @controller CalculateController.scientific\n * @path /calculate/scientific\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function scientific(\n connection: IConnection,\n provider: scientific.Provider,\n): Promise {\n const connector: WebSocketConnector<\n scientific.Header,\n scientific.Provider,\n scientific.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${scientific.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace scientific {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IScientificCalculator;\n export const path = () => \"/calculate/scientific\";\n}\n/**\n * Prepare a statistics calculator.\n *\n * @controller CalculateController.statistics\n * @path /calculate/statistics\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function statistics(\n connection: IConnection,\n provider: statistics.Provider,\n): Promise {\n const connector: WebSocketConnector<\n statistics.Header,\n statistics.Provider,\n statistics.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${statistics.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace statistics {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IStatisticsCalculator;\n export const path = () => \"/calculate/statistics\";\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n$ npm start\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestFactory] Starting Nest application...\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [InstanceLoader] CalculateModule dependencies initialized +5ms\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [RoutesResolver] CalculateController {/calculate}: +5ms\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestApplication] Nest application successfully started +2ms\nHealth check OK\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]\nDo import the SDK, and enjoy the type-safe and easy-to-use RPC.Looking at the above code, the client application is calling a function of the automatically generated SDK (Software Development Kit) library, so that connecting to the websocket server, and starting interaction through RPC (Remote Procedure Call) concept with Driver instance.Doesn't the \"SDK based development\" seems much easier and safer than the previous Natives Classes > WebSocketConnector case? This is the reason why I've recommended to combine with the NestJS when using websocket protocol based network system.For reference, return type of SDK function is a pair WebSocketConnector and Driver instances, but it would be actually returned only when the websocket server accepts your connection. Otherwise, the websocket server rejects your connection, an exception would be thrown.Also, don't forget to closing the connection, if your business logics have been completed, to clean up the resources. Otherwise, the closing must be performed by the remote websocket server, you can wait the remote server's closing signal through the WebSocketConnector.join() method.\nDemonstrationYou can run it on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.nestjs\nnpm install\nnpm start"}},"/docs/examples/object-oriented-network":{"title":"Object Oriented Network","data":{"outline#Outline":"Each remote system is an object.With TGrid, you can easily develop complicated network system, by considering each network system as an object, and interacting with each other through RPC (Remote Procedure Call). TGrid defines this concept as \"Object Oriented Network\".In this chapter, we'll remake the composite calculator system of Remote Object Call chapter again, but replace scientific and statistics calculators to remote system. Therefore, the composite calculator system will be consisted of three remote servers: \"composite server\", \"scientific server\" and \"statistics server\".Let's see how TGrd implements the \"Object Oriented Network\".\nDemonstrationYou can run the example program on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.object-oriented-network\nnpm install\nnpm start","client-program#Client Program":"import { Driver, WorkerConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nconst EXTENSION = __filename.endsWith(\".ts\") ? \"ts\" : \"js\";\nexport const workerClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WorkerConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WorkerConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n \"process\",\n );\n await connector.connect(`${__dirname}/composite.${EXTENSION}`);\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.multiplies(3, 4), // returns 12\n await remote.divides(5, 3), // returns 1.67\n await remote.scientific.sqrt(2), // returns 1.41\n await remote.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n$ npm start\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]","server-programs#Server Programs":"import { Driver, WorkerConnector, WorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { IScientificCalculator } from \"./interfaces/IScientificCalculator\";\nimport { IStatisticsCalculator } from \"./interfaces/IStatisticsCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nconst EXTENSION = __filename.endsWith(\".ts\") ? \"ts\" : \"js\";\n/// `CompositeCalculator` has two additional properties\n///\n/// - `scientific` from remote worker server\n/// - `statistics` from remote worker server\nclass CompositeCalculator extends SimpleCalculator {\n public readonly scientific: Driver;\n public readonly statistics: Driver;\n public constructor(props: {\n config: ICalcConfig;\n listener: Driver;\n scientific: Driver;\n statistics: Driver;\n }) {\n super(props.config, props.listener);\n this.scientific = props.scientific;\n this.statistics = props.statistics;\n }\n}\n/// connect to remote worker server\nconst connect = async (\n header: ICalcConfig,\n listener: Driver,\n file: string,\n): Promise> => {\n const connector: WorkerConnector =\n new WorkerConnector(header, listener, \"process\");\n await connector.connect(file);\n return connector.getDriver();\n};\nconst main = async () => {\n const server: WorkerServer<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n > = new WorkerServer();\n const config: ICalcConfig = await server.getHeader();\n const listener: Driver = server.getDriver();\n // constructor provider combining with remote worker-servers\n const provider: CompositeCalculator = new CompositeCalculator({\n config,\n listener,\n scientific: await connect>(\n config,\n listener,\n `${__dirname}/scientific.${EXTENSION}`,\n ),\n statistics: await connect>(\n config,\n listener,\n `${__dirname}/statistics.${EXTENSION}`,\n ),\n });\n await server.open(provider);\n};\nmain().catch((exp) => {\n console.error(exp);\n process.exit(-1);\n});\nimport { Driver, WorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nconst main = async () => {\n const server: WorkerServer<\n ICalcConfig,\n ScientificCalculator,\n ICalcEventListener\n > = new WorkerServer();\n const header: ICalcConfig = await server.getHeader();\n const listener: Driver = server.getDriver();\n const provider: ScientificCalculator = new ScientificCalculator(\n header,\n listener,\n );\n await server.open(provider);\n};\nmain().catch((exp) => {\n console.error(exp);\n process.exit(-1);\n});\nimport { Driver, WorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\nconst main = async () => {\n const server: WorkerServer<\n ICalcConfig,\n StatisticsCalculator,\n ICalcEventListener\n > = new WorkerServer();\n const header: ICalcConfig = await server.getHeader();\n const listener: Driver = server.getDriver();\n const provider: StatisticsCalculator = new StatisticsCalculator(\n header,\n listener,\n );\n await server.open(provider);\n};\nmain().catch((exp) => {\n console.error(exp);\n process.exit(-1);\n});\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nCompose Provider with Driver of another remote system.Looking at the \"Composite Server\", it is providing CompositeCalculator to the \"Client Program\". By the way, the CompositeCalculator is different with before chapter Remote Object Call. Properties scientific and statistics are composed with Driver of another remote system.Therefore, if \"Client Program\" calls Driver.scientific.sqrt(2) function, it will be forwarded to the \"Scientific Server\", and \"Composite Server\" only intermediates the remote function call (network communication) between \"Client Program\" and \"Scientific Server\".This is the \"Object Oriented Network\" of TGrid.","next-chapter#Next Chapter":"At next chapter, we'll learn how to integrate TGrid with NestJS.\nLearn from Examples > NestJS Integration\nimport { TypedRoute, WebSocketRoute } from \"@nestia/core\";\nimport { Controller } from \"@nestjs/common\";\nimport { Driver, WebSocketAcceptor } from \"tgrid\";\nimport { ICalcConfig } from \"./api/interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./api/interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./api/interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"./api/interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"./api/interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"./api/interfaces/IStatisticsCalculator\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\n@Controller(\"calculate\")\nexport class CalculateController {\n /**\n * Health check API (HTTP GET).\n */\n @TypedRoute.Get(\"health\")\n public health(): string {\n return \"Health check OK\";\n }\n /**\n * Prepare a composite calculator.\n */\n @WebSocketRoute(\"composite\")\n public async composite(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n ICompositeCalculator,\n ICalcEventListener\n >,\n @WebSocketRoute.Header() header: ICalcConfig,\n @WebSocketRoute.Driver() listener: Driver\n ): Promise {\n const provider: CompositeCalculator = new CompositeCalculator(\n header,\n listener\n );\n \n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a simple calculator.\n */\n @WebSocketRoute(\"simple\")\n public async simple(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig, // header\n ISimpleCalculator, // provider for remote client\n ICalcEventListener // provider from remote client\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: SimpleCalculator = new SimpleCalculator(header, listener);\n \n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a scientific calculator.\n */\n @WebSocketRoute(\"scientific\")\n public async scientific(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n IScientificCalculator,\n ICalcEventListener\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: ScientificCalculator = new ScientificCalculator(\n header,\n listener\n );\n \n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a statistics calculator.\n */\n @WebSocketRoute(\"statistics\")\n public async statistics(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n IStatisticsCalculator,\n ICalcEventListener\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: IStatisticsCalculator = new StatisticsCalculator(\n header,\n listener\n );\n \n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n}\nimport api from \"./api\";\nimport { ICalcEvent } from \"./api/interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./api/interfaces/ICalcEventListener\";\nexport const testCalculateSdk = async () => {\n //----\n // HTTP PROTOCOL\n //---\n // CALL HEALTH CHECK API\n console.log(\n await api.functional.calculate.health({\n host: \"http://127.0.0.1:37000\",\n })\n );\n //----\n // WEBSOCKET PROTOCOL\n //---\n // PROVIDER FOR WEBSOCKET SERVER\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n // DO CONNECT\n const { connector, driver } = await api.functional.calculate.composite(\n {\n host: \"ws://127.0.0.1:37000\",\n headers: {\n precision: 2,\n },\n },\n listener\n );\n // CALL FUNCTIONS OF REMOTE SERVER\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9) // returns 4.33\n );\n // TERMINATE\n await connector.close();\n console.log(stack);\n};\n/**\n * @packageDocumentation\n * @module api.functional.calculate\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\n//================================================================\nimport type { IConnection, Primitive } from \"@nestia/fetcher\";\nimport { PlainFetcher } from \"@nestia/fetcher/lib/PlainFetcher\";\nimport { WebSocketConnector } from \"tgrid\";\nimport type { Driver } from \"tgrid\";\nimport type { ICalcConfig } from \"../../interfaces/ICalcConfig\";\nimport type { ICalcEventListener } from \"../../interfaces/ICalcEventListener\";\nimport type { ICompositeCalculator } from \"../../interfaces/ICompositeCalculator\";\nimport type { IScientificCalculator } from \"../../interfaces/IScientificCalculator\";\nimport type { ISimpleCalculator } from \"../../interfaces/ISimpleCalculator\";\nimport type { IStatisticsCalculator } from \"../../interfaces/IStatisticsCalculator\";\n/**\n * Health check API (HTTP GET).\n *\n * @controller CalculateController.health\n * @path GET /calculate/health\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function health(connection: IConnection): Promise {\n return PlainFetcher.fetch(connection, {\n ...health.METADATA,\n path: health.path(),\n });\n}\nexport namespace health {\n export type Output = Primitive;\n export const METADATA = {\n method: \"GET\",\n path: \"/calculate/health\",\n request: null,\n response: {\n type: \"application/json\",\n encrypted: false,\n },\n status: null,\n } as const;\n export const path = () => \"/calculate/health\";\n}\n/**\n * Prepare a composite calculator.\n *\n * @controller CalculateController.composite\n * @path /calculate/composite\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function composite(\n connection: IConnection,\n provider: composite.Provider,\n): Promise {\n const connector: WebSocketConnector<\n composite.Header,\n composite.Provider,\n composite.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${composite.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace composite {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ICompositeCalculator;\n export const path = () => \"/calculate/composite\";\n}\n/**\n * Prepare a simple calculator.\n *\n * @controller CalculateController.simple\n * @path /calculate/simple\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function simple(\n connection: IConnection,\n provider: simple.Provider,\n): Promise {\n const connector: WebSocketConnector<\n simple.Header,\n simple.Provider,\n simple.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${simple.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace simple {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ISimpleCalculator;\n export const path = () => \"/calculate/simple\";\n}\n/**\n * Prepare a scientific calculator.\n *\n * @controller CalculateController.scientific\n * @path /calculate/scientific\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function scientific(\n connection: IConnection,\n provider: scientific.Provider,\n): Promise {\n const connector: WebSocketConnector<\n scientific.Header,\n scientific.Provider,\n scientific.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${scientific.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace scientific {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IScientificCalculator;\n export const path = () => \"/calculate/scientific\";\n}\n/**\n * Prepare a statistics calculator.\n *\n * @controller CalculateController.statistics\n * @path /calculate/statistics\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function statistics(\n connection: IConnection,\n provider: statistics.Provider,\n): Promise {\n const connector: WebSocketConnector<\n statistics.Header,\n statistics.Provider,\n statistics.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${statistics.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace statistics {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IStatisticsCalculator;\n export const path = () => \"/calculate/statistics\";\n}"}},"/docs/features/worker":{"title":"Worker","data":{"outline#Outline":"TGrid supports Worker/SharedWorker protocols.With TGrid, you can easily develop Worker programs under the RPC (Remote Procedure Call) concept.TGrid considers Worker as a 1: 1 dedicated server, and SharedWorker as a 1: N multi-client acceptable server running on the local. Therefore, the interfaces of Worker and SharedWorker in the TGrid are similar with WebSocket components. In such reason, if you're developing a complicate WebSocket system, you can simulate it in the local environment by using Worker/SharedWorker components.","worker#Worker":"Available in both Browser/NodeJS.\nYou can utilize RPC (Remote Procedure Call) even in the Worker.","workerconnector#WorkerConnector":"import { Driver, WorkerConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nconst EXTENSION = __filename.endsWith(\".ts\") ? \"ts\" : \"js\";\nexport const workerClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WorkerConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WorkerConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n \"process\",\n );\n await connector.connect(`${__dirname}/server.${EXTENSION}`);\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.multiplies(3, 4), // returns 12\n await remote.divides(5, 3), // returns 1.67\n await remote.scientific.sqrt(2), // returns 1.41\n await remote.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n$ npm start\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]\nWorker Connector.The WorkerConnetor is a communicator class, which creates an Worker instance, and interacts with it through RPC (Remote Procedure Call). In other words, WorkerConnector considers the Worker instance as a remote server accepting only one client; WorkerServer.You can create the Worker instance and communicate with it by WorkerConnector.connect() or WorkerConnector.compile() method. The WorkerConnector.connect() method just opens an existing JS (or TS) file, and the WorkerConnector.compile() method writes a temporary JS (TS) file and connects to it. Anyway, the Worker instanced program must open the WorkerServer.By the way, don't forget closing the worker to clean up the resources. If the closing be performed by WorkerServer, you can wait the worker server closing through the WorkerConnector.wait() method.Also, when declaring this WorkerConnector type, you've to define three generic arguments; Header, Provider and Remote. Those generic arguments must be same with the ones defined in the target WorkerServer class (Provider and Remote must be reversed).For reference, the first Header type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from client to server, and the other Remote means a provider from the remote server to client.\nAbove example case:\nHeader: ICalcConfig type\nProvider: Client is providing ICalcEventListener to the server\nRemote: Server is providing ISimpleCalculator to the client\nDemonstrationYou can run it on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.worker\nnpm install\nnpm start","workerserver#WorkerServer":"import { Driver, WorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nconst main = async () => {\n const server: WorkerServer<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n > = new WorkerServer();\n const header: ICalcConfig = await server.getHeader();\n const listener: Driver = server.getDriver();\n const provider: CompositeCalculator = new CompositeCalculator(\n header,\n listener,\n );\n await server.open(provider);\n};\nmain().catch((exp) => {\n console.error(exp);\n process.exit(-1);\n});\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nWorker Server.The WorkerServer is a class representing a Worker server which communicate with client (WorkerConnector), through the RPC (Remote Procedure Call).Unlike other servers, WorkerServer can accept only one client (WorkerConnector), because the Worker is dependent on its parent instance (web page, node or parent worker). Thus, WorkerServer does not have any acceptor and communicates with client (its parent) directly.To start communication with the client, call the WorkerServer.open() method with Provider instance. After your business, don't forget closing this Worker instance. If the termination is performed by the WorkerConnector, you can wait the closing signal through the WorkerServer.join() method.Also, when declaring this WorkerServer type, you've to define three generic arguments; Header, Provider and Remote. Those generic arguments must be same with the ones defined in the target WorkerConnector class (Provider and Remote must be reversed).For reference, the first Header type repersents an initial data from the client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from server to client, and the other Remote means a provider from the client to server.\nAbove example case:\nHeader: ICalcConfig type\nProvider: Server is providing CompositeCalculator to the client\nRemote: Client is providing ICalcEventListener to the server","shared-worker#Shared Worker":"Available only in the Web Browser.\nIn the Web Browser, you also can perform RPC (Remote Procedure Call) in the SharedWorker.Also, as SharedWorker can accept multiple clients, TGrid considers it as a local server running on the web browser, and its interfaces are similar with WebSocket components.","sharedworkerserver#SharedWorkerServer":"import { Driver, SharedWorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nconst main = async () => {\n let pool: number = 0;\n const server: SharedWorkerServer<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n > = new SharedWorkerServer();\n await server.open(async (acceptor) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT THE CONNECTION\n if (pool >= 8) {\n await acceptor.reject(\"Too much connections.\");\n } else {\n await acceptor.accept(new CompositeCalculator(config, listener));\n ++pool;\n await acceptor.join();\n --pool;\n }\n });\n};\nmain().catch(console.error);\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nShared Worker Server.The SharedWorkerServer is a class representing a server in SharedWorker environment. Clients connecting to the SharedWorkerServer would communicate with this server through SharedWorkerAcceptor instaces using RPC (Remote Procedure Call) concept.To open the server, call the SharedWorkerServer.open() method with your callback function which would be called whenever a SharedWorkerAcceptor has been newly created by a new client's connection.Also, when declaring this SharedWorkerServer type, you have to define three generic arguments; Header, Provider and Remote. Those generic arguments would be propagated to the SharedWorkerAcceptor, so that SharedWorkerAcceptor would have the same generic arguments, too.For reference, the first Header type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from server to client, and the other Remote means a provider from the remote client to server.\nAbove example case:\nHeader: ICalcConfig type\nProvider: Server is providing CompositeCalculator to the client\nRemote: Client is providing ICalcEventListener to the server","sharedworkeracceptor#SharedWorkerAcceptor":"import { Driver, SharedWorkerAcceptor, SharedWorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nconst main = async () => {\n let pool: number = 0;\n const server: SharedWorkerServer<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n > = new SharedWorkerServer();\n await server.open(\n async (\n acceptor: SharedWorkerAcceptor<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n >,\n ) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT THE CONNECTION\n if (pool >= 8) {\n await acceptor.reject(\"Too much connections.\");\n } else {\n await acceptor.accept(new CompositeCalculator(config, listener));\n ++pool;\n await acceptor.join();\n --pool;\n }\n },\n );\n};\nmain().catch(console.error);\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nShared Worker Acceptor.The SharedWorkerAcceptor is a communicator class interacting with the SharedWorkerConnector through RFC (Remote Function Call), created by the SharedWorkerServer class whenever a client connects to the SharedWorker instance.When a remote client connects to the SharedWorkerServer, so that a new SharedworkerAcceptor instance being created, you can determine whether to accept the client's connection or not, reading the SharedWorkerAcceptor.header property. If you've decided to accept the connection, call the SharedWorkerAcceptor.accept() method with Provider instance. Otherwise, reject it thorugh the SharedWorkerAcceptor.reject() method.After accepting the connection, don't forget to closing the connection after your business has been completed to clean up the resources. Otherwise the closing must be performed by the remote client, you can wait the remote client's closing signal by the SharedWorkerAcceptor.join() method.Also, when declaring this SharedworkerAcceptor type, you have to define three generic arguments; Header, Provider and Remote. Those generic arguments must be same with the ones defined in the SharedWorkerServer class.For reference, the first Header type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from server to client, and the other Remote means a provider from the remote client to server.","sharedworkerconnector#SharedWorkerConnector":"import { Driver, SharedWorkerConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nconst main = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: SharedWorkerConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new SharedWorkerConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n );\n await connector.connect(`./server.js`);\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.multiplies(3, 4), // returns 12\n await remote.divides(5, 3), // returns 1.67\n await remote.scientific.sqrt(2), // returns 1.41\n await remote.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n for (const evt of stack) console.log(JSON.stringify(evt));\n};\nmain().catch(console.error);\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n30 12 1.67 1.41 4.33\n{\"type\":\"plus\",\"input\":[10,20],\"output\":30}\n{\"type\":\"multiplies\",\"input\":[3,4],\"output\":12}\n{\"type\":\"divides\",\"input\":[5,3],\"output\":1.67}\n{\"type\":\"sqrt\",\"input\":[2],\"output\":1.41}\n{\"type\":\"mean\",\"input\":[1,3,9],\"output\":4.33}\nShared Worker Connector.The SharedWorkerConnector is a communicator class which connects to an SharedWorker instance, and interacts with it through RFC (Remote Function Call) concept.You can connect to the SharedWorkerServer using SharedWorkerConnector.connect() method. The interaction would be started if the server accepts your connection by calling the SharedWorkerAcceptor.accept() method. If the remote server rejects your connection through SharedWorkerAcceptor.reject() method, the exception would be thrown.After the connection, don't forget to closing the connection, if your business logics have been completed, to clean up the resources. Otherwise, the closing must be performed by the remote shared worker server, you can wait the remote server's closing signal through the SharedWorkerConnector.join() method.Also, when declaring this SharedWorkerConnector type, you've to define three generic arguments; Header, Provider and Remote. Those generic arguments must be same with the ones defined in the target SharedWorkerServer and SharedWorkerAcceptor classes (Provider and Remote must be reversed).For reference, the first Header type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from client to server, and the other Remote means a provider from the remote server to client.\nAbove example case:\nHeader: ICalcConfig type\nProvider: Client is providing ICalcEventListener to the server\nRemote: Server is providing ISimpleCalculator to the client\nDemonstrationYou can run it on your local machine.\ngit clone https://github.com/samchon/tgrid.example.shared-worker\nnpm install\nnpm run build\nnpm start"}},"/docs":{"title":"Index","data":{"":"TypeScript Grid Computing Framework.TypeScript RPC (Remote Procedure Call) framework for WebSocket and Worker protocols.\nWebSocket\nWorker\nSharedWorker\nNestJS\nAlso, easy to develop complicated network system like grid computing.\nimport { Driver, WebSocketConnector } from \"tgrid\";\nexport const webSocketClientMain = async () => {\n // CONNECT TO WEBSOCKET SERVER\n const connector: WebSocketConnector =\n new WebSocketConnector(\n null, // header\n null, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n // CALL REMOTE FUNCTIONS\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.minus(7, 3), // returns 4\n await remote.multiply(3, 4), // returns 12\n await remote.divide(5, 2), // returns 2.5\n );\n await connector.close();\n};\ninterface ICalculator {\n plus(a: number, b: number): number\n minus(a: number, b: number): number\n multiply(a: number, b: number): number\n divide(a: number, b: number): number\n}\n$ npm start\n30 4 12 2.5"}},"/docs/remote-procedure-call":{"title":"Remote Procedure Call","data":{"outline#Outline":"With TGrid, you can call remote procedures of provided by remote system.If remote system provides a function, TGrid lets you call it as if it was a local function own. If remote system provides some functions that are capsuled in hierarchical structured objects, you still can call them as if they were your own. This is the concept of RPC (Remote Procedure Call) what TGrid is saying.By the way, there are many other RPC (Remote Procedure Call) frameworks or libraries in the world. However, TGrid is different from them. RPC of TGrid does not mean only calling and getting returned value from the remote system's procedure, but also ensuring type safety. With the type safety, you can actually feel like that the remote procedure is your own.","demonstration#Demonstration":"import { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nexport const webSocketClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WebSocketConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WebSocketConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\nimport { Driver, WebSocketServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n ICalcConfig,\n | CompositeCalculator\n | SimpleCalculator\n | StatisticsCalculator\n | ScientificCalculator,\n ICalcEventListener\n > = new WebSocketServer();\n await server.open(37_000, async (acceptor) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT\n if (acceptor.path === \"/composite\")\n await acceptor.accept(new CompositeCalculator(config, listener));\n else if (acceptor.path === \"/simple\")\n await acceptor.accept(new SimpleCalculator(config, listener));\n else if (acceptor.path === \"/statistics\")\n await acceptor.accept(new StatisticsCalculator(config, listener));\n else if (acceptor.path === \"/scientific\")\n await acceptor.accept(new ScientificCalculator(config, listener));\n else {\n await acceptor.reject(1002, `WebSocket API endpoint not found.`);\n return;\n }\n // PING REPEATEDLY TO KEEP CONNECTION\n acceptor.ping(15_000);\n });\n return server;\n};\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"./interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"./interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"./interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n$ npm start\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]\nHere is the one of example programs that demonstrating the RPC (Remote Procedure Call) of TGrid.At first, looking at the \"Client Program\" tab, you can find out that the \"Client Program\" is calling the \"Server Program\"'s functions as if they were its own, through the Driver typed instance with await symbols.At next, change the tab to \"Server Program\", then you can find out that the \"Server Program\" is serving CompositeCalculator class to the \"Client Program\". Calling the functions of CompositeCalculator in the \"Server Program\" from the \"Client Program\" through the Driver typed instance, this is the RPC (Remote Procedure Call) of TGrid.\nDemonstrationYou can run it on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.websocket\nnpm install\nnpm start","rpc-driver#RPC Driver":"import { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nexport const webSocketClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WebSocketConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WebSocketConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\nimport { Driver, WebSocketServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n ICalcConfig,\n | CompositeCalculator\n | SimpleCalculator\n | StatisticsCalculator\n | ScientificCalculator,\n ICalcEventListener\n > = new WebSocketServer();\n await server.open(37_000, async (acceptor) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT\n if (acceptor.path === \"/composite\")\n await acceptor.accept(new CompositeCalculator(config, listener));\n else if (acceptor.path === \"/simple\")\n await acceptor.accept(new SimpleCalculator(config, listener));\n else if (acceptor.path === \"/statistics\")\n await acceptor.accept(new StatisticsCalculator(config, listener));\n else if (acceptor.path === \"/scientific\")\n await acceptor.accept(new ScientificCalculator(config, listener));\n else {\n await acceptor.reject(1002, `WebSocket API endpoint not found.`);\n return;\n }\n // PING REPEATEDLY TO KEEP CONNECTION\n acceptor.ping(15_000);\n });\n return server;\n};\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nLooking at the above ICompositeCalculator type from the \"Interfaces\" tab, none of the functions are actually asynchrounous. However, the \"Client Program\" is attaching await symbols. It's because every return types of ICompositeCalculator have changed to Promise types through the Driver type.As the Driver typed instance is not a \"Client Program\"'s own, but the \"Server Program\"'s own (CompositeCalculator), the function call must be passed through the asynchronous network communication. In such reason, the remote function calling cannot be synchronous, but asynchronous, and Driver type is casting them.\nTipDescription of Driver type in the Features > Components chatper.Driver is a proxy instance designed to call functions of the remote system. It has a generic argument Remote which means the type of remote system's Provider, and you can remotely call the functions of the Provider asynchronously through the Drive instance.When you call some function of remote Provider by the Driver instance, it hooks the function call expression, and delivers the function name and arguments (parameter values) to the remote system through the Communicator. If the remote system suceeded to reply the result of the function call, Communicator resolves the promise of the function call expression with the result, so that makes Driver working.Otherwise exception is thrown in the remote Provider function, Communicator deliveries the exception instance instead to the remote system, so that actual exception being thrown from the Driver instance.","restrictions#Restrictions":"TGrid has implemented the RPC (Remote Procedure Call) by communicating JSON message. Therefore, if parameters or return values of the remote provided functions are not compatible JSON, you can't use them.For example, JSON does not support bigint type of JavaScript. Therefore, if some of the remote provided functions are using bigint type on their parameters or return value, it would throw an exception.Also, as JSON does not contain class transformation spec, every parameters and return values must be primitive types. If you try to deliver the class instance as a parameter or return value, it would be downgraded to primitive instance in the remote system."}}} \ No newline at end of file +{"/docs/projects/chat":{"title":"Chat","data":{"preparing#Preparing":"Preparing the chatting application project documentation.Also, upgrading very old project to be modernized.https://github.com/samchon/tgrid.projects.chat"}},"/docs/projects/market":{"title":"Market","data":{"preparing#Preparing":"Preparing the grid market project documentation.Also, upgrading very old project to be modernized.https://github.com/samchon/tgrid.projects.market"}},"/docs/projects/mutex":{"title":"Mutex","data":{"preparing#Preparing":"Preparing the mutex server project documentation.Also, upgrading very old project to be modernized.https://github.com/samchon/mutex"}},"/docs/setup":{"title":"Setup","data":{"standalone#Standalone":"npm install tgrid\npnpm install tgrid\nyarn add tgrid\nIf you're planning to use TGrid standalone, without NestJS integration, just setup it.","nestjs#NestJS":"Nestia > Guide Documents > SetupOtherwise, you wanna use TGrid with NestJS integration, please refer to the guide documents of nestia.By the way, if you want to setup it right now without reading detailed documents, just run the below commands.\nnpx nestia setup\nnpm install tgrid\nnpx nestia setup --manager pnpm\npnpm install tgrid\nYarn beery is not supported.\nnpx nestia setup --manager yarn\nyarn add tgrid"}},"/":{"title":"Index","data":{"key-features#Key Features":""}},"/docs/examples/remote-function-call":{"title":"Remote Function Call","data":{"outline#Outline":"With TGrid, you can call remote system's functions as if they are local functions.Such remote procedure calling concept is called as RPC (Remote Procedure Call) in the development world, but it contains not only remote funtion call, but also contains Remote Object Call and Object Oriented Network. However, in here chapter, we will focus only on the remote function calls.Let's learn how to call remote functions with TGrid.\nDemonstrationYou can run the example program on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.remote-function-call\nnpm install\nnpm start","client-program#Client Program":"import { Driver, WebSocketConnector } from \"tgrid\";\nexport const webSocketClientMain = async () => {\n const connector: WebSocketConnector =\n new WebSocketConnector(\n null, // header\n null, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.minus(7, 3), // returns 4\n await remote.multiply(3, 4), // returns 12\n await remote.divide(5, 2), // returns 2.5\n );\n await connector.close();\n};\ninterface ICalculator {\n plus(a: number, b: number): number\n minus(a: number, b: number): number\n multiply(a: number, b: number): number\n divide(a: number, b: number): number\n}\n$ npm start\n30 4 12 2.5\nHere is an example websocket client program, calling remote calculator of the websocket server's own.As you can see, the client program has written the remote function call statements on the remote instance of Driver type. Also, the Driver typed instance has been composed by the WebSocketConnector.getDriver() method. It's because Driver is a proxy instance hooking the function call expressions, so that delivers them to the remote system, and receives the return value from the remote system.This is the secret of how TGrid has implemented the RPC (Remote Procedure Call). Just call functions of remote Provider to the Driver typed instance with await symbol, as if the Provider instance was your own. Then, TGrid will perform the proper network communications for RPC instead of you.","server-program#Server Program":"import { WebSocketServer } from \"tgrid\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n null, // header\n Calculator, // provider for remote client\n null // provider from remote client\n > = new WebSocketServer();\n await server.open(37_000, async (acceptor) => {\n const provider: Calculator = new Calculator();\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n });\n return server;\n};\nclass Calculator {\n public plus(x: number, y: number): number {\n return x + y;\n }\n public minus(x: number, y: number): number {\n return x - y;\n }\n public multiply(x: number, y: number): number {\n return x * y;\n }\n public divide(x: number, y: number): number {\n return x / y;\n }\n}\nimport { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalculator } from \"./ICalculator\";\nexport const webSocketClientMain = async () => {\n const connector: WebSocketConnector =\n new WebSocketConnector(\n null, // header\n null, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.minus(7, 3), // returns 4\n await remote.multiply(3, 4), // returns 12\n await remote.divide(5, 2), // returns 2.5\n );\n await connector.close();\n};\ninterface ICalculator {\n plus(a: number, b: number): number\n minus(a: number, b: number): number\n multiply(a: number, b: number): number\n divide(a: number, b: number): number\n}\nHere is the websocket server program providing Calculator class to the client.Above \"Client Program\" is calling remote functions to the calculator through the remote instance of Driver typed. To make the client program works properly, \"Server Program\" must provide the actual instance implemented the ICalculator type. This \"Server Program\" is serving it providing the Calculator class instance in such reason.By the way, the provided Calculator does not have any asynchronous method, but \"Client Program\" is calling the remote functions with await symbol. It's because remote function calls are actually asynchrounous operations perform by the network communication, and Driver is a type changing every function's return type to be asynchronous (Promise) in such reason.This is the RPC (Remote Procedure Call) of TGrid.","next-chapter#Next Chapter":"In this chapter, we've learned only about one-way remote function calls. By the way, most of real-time network systems need two-way communication. Also, we have not utilized Header, the value directly delivered after the connection, at all.\nLearn from Examples > Remote Object Call chapter.\nimport { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nexport const webSocketClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const provider: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WebSocketConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WebSocketConnector(\n { precision: 2 }, // header\n provider, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};"}},"/docs/examples/remote-object-call":{"title":"Remote Object Call","data":{"outline#Outline":"With TGrid, you can call remote system's nested functions as if they are local functions.Such remote procedure calling concept is called as RPC (Remote Procedure Call) in the development world, but it contains not only remote function call, but also contains Object Oriented Network. However, in here chapter, we will focus only on the remote nested function calls.Let's learn how to call remote nested functions with TGrid.\nDemonstrationYou can run the example program on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.remote-object-call\nnpm install\nnpm start","client-program#Client Program":"import { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nexport const webSocketClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WebSocketConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WebSocketConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000\");\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.multiplies(3, 4), // returns 12\n await remote.divides(5, 3), // returns 1.67\n await remote.scientific.sqrt(2), // returns 1.41\n await remote.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n$ npm start\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]\nHere is an example websocket client program, calling remote calculator of the websocket server's own.As you can see, the client has constructed a WebSocketConnector instance with the Header and listener objects. The header object represents a Header component which be directly delivered to the remote system when connecting. The listener object is a Provider component provided for the remote websocket server. It means that, the \"Client Program\" configures the header value to precision: 2, and provides ICalcEventListener for the remote \"Server Program\".After that, you can find out the \"Client Program\" is calling the remote calculator's function of \"Server Program\" through Driver typed instance. In the remote function call statements, there is one thing important. It is Driver type supports nested object's funtion calls.This is the \"Remote Object Call\".","server-program#Server Program":"import { Driver, WebSocketServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n > = new WebSocketServer();\n await server.open(37_000, async (acceptor) => {\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: CompositeCalculator = new CompositeCalculator(config, listener);\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n });\n return server;\n};\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends CalculatorBase\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nThe \"Server Program\" is providing CompositeCalculator class to the websocket client.By the way, when composing the CompositeCalculator class instance as a Provider, you can find out that it is delivering the Header and Driver typed instances to the construction parameter. By getting the Header value from the \"Client Program\", \"Server Program\" configures precision level of the calculator.Also, if you click the second Providers tab, you can find out that calculators are reporting their calculator operations to the \"Client Program\" through the Driver object. Therefore, whenever the calculator function be called, \"Server Program\" calls remote function of the \"Client Program\" for event reporting.Such two-way remote functions providing and header for initialization, this is the \"Remote Object Call\".","next-chapter#Next Chapter":"Until this chapter, we've learned only about simple structructured network systems. Complexity has only come to the Provider level, and the network systems were always monotonous. Only single type of server and client were existed.By the way, TGrid has said that it is useful for developing complicated network system like grid computing in the README and index page of guide documents. At the next chapter, we will learn about the complicated network system.\nLearn from Examples > Object Oriented Network.\nimport { Driver, WorkerConnector, WorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { IScientificCalculator } from \"./interfaces/IScientificCalculator\";\nimport { IStatisticsCalculator } from \"./interfaces/IStatisticsCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nconst EXTENSION = __filename.endsWith(\".ts\") ? \"ts\" : \"js\";\n/// `CompositeCalculator` has two additional properties\n///\n/// - `scientific` from remote worker server\n/// - `statistics` from remote worker server\nclass CompositeCalculator extends SimpleCalculator {\n public readonly scientific: Driver;\n public readonly statistics: Driver;\n public constructor(props: {\n config: ICalcConfig;\n listener: Driver;\n scientific: Driver;\n statistics: Driver;\n }) {\n super(props.config, props.listener);\n this.scientific = props.scientific;\n this.statistics = props.statistics;\n }\n}\n/// connect to remote worker server\nconst connect = async (\n header: ICalcConfig,\n listener: Driver,\n file: string,\n): Promise> => {\n const connector: WorkerConnector =\n new WorkerConnector(header, listener, \"process\");\n await connector.connect(file);\n return connector.getDriver();\n};\nconst main = async () => {\n const server: WorkerServer<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n > = new WorkerServer();\n const config: ICalcConfig = await server.getHeader();\n const listener: Driver = server.getDriver();\n // constructor provider combining with remote worker-servers\n const provider: CompositeCalculator = new CompositeCalculator({\n config,\n listener,\n scientific: await connect>(\n config,\n listener,\n `${__dirname}/scientific.${EXTENSION}`,\n ),\n statistics: await connect>(\n config,\n listener,\n `${__dirname}/statistics.${EXTENSION}`,\n ),\n });\n await server.open(provider);\n};\nmain().catch((exp) => {\n console.error(exp);\n process.exit(-1);\n});\nimport { Driver, WorkerConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nconst EXTENSION = __filename.endsWith(\".ts\") ? \"ts\" : \"js\";\nexport const workerClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WorkerConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WorkerConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n \"process\",\n );\n await connector.connect(`${__dirname}/composite.${EXTENSION}`);\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.multiplies(3, 4), // returns 12\n await remote.divides(5, 3), // returns 1.67\n await remote.scientific.sqrt(2), // returns 1.41\n await remote.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};"}},"/docs/features/components":{"title":"Components","data":{"outline#Outline":"This chapter describes key components of the TGrid only in the conceptual level.If you're not familar with theoretical stories, it's okay to skip to the next chapter Features > WebSocket Protocol.Even you want to see the example codes, step to the Learn from Examples > Remote Funtion Call chapter.Otherwise, let's study about the key components of the TGrid.\nCommunicator: network communication with remote system\nHeader: header value directly delivered after the connection\nProvider: object provided for remote system\nDriver: proxy instance for calling functions of the remote system's Provider","communicator#Communicator":"Communicates with a remote system.Communicator is a class taking full responsibility to network communication with remote system. You can register a Provider, an object would be provided to the remote system, to the Communicator. Also, Driver, which can access to the remote system's Provider, is created by this Communicator.For reference, actual Communicator is the top-level abstract class, and all the classes responsible for network communication in TGrid are inheriting from this Communicator class. Here is the list of every communicator classes in TGrid.\nProtocol\tClient\tServer\tWeb Socket\tWebSocketConnector\tWebSocketAcceptor\tDedicated Worker\tWorkerConnector\tWorkerServer\tShared Worker\tSharedWorkerConnector\tSharedWorkerAcceptor","header#Header":"import { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nexport const webSocketClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WebSocketConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WebSocketConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\nimport { Driver, WebSocketServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n ICalcConfig,\n | CompositeCalculator\n | SimpleCalculator\n | StatisticsCalculator\n | ScientificCalculator,\n ICalcEventListener\n > = new WebSocketServer();\n await server.open(37_000, async (acceptor) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT\n if (acceptor.path === \"/composite\")\n await acceptor.accept(new CompositeCalculator(config, listener));\n else if (acceptor.path === \"/simple\")\n await acceptor.accept(new SimpleCalculator(config, listener));\n else if (acceptor.path === \"/statistics\")\n await acceptor.accept(new StatisticsCalculator(config, listener));\n else if (acceptor.path === \"/scientific\")\n await acceptor.accept(new ScientificCalculator(config, listener));\n else {\n await acceptor.reject(1002, `WebSocket API endpoint not found.`);\n return;\n }\n // PING REPEATEDLY TO KEEP CONNECTION\n acceptor.ping(15_000);\n });\n return server;\n};\nimport { Driver, WorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nconst main = async () => {\n const server: WorkerServer<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n > = new WorkerServer();\n const header: ICalcConfig = await server.getHeader();\n const listener: Driver = server.getDriver();\n const provider: CompositeCalculator = new CompositeCalculator(\n header,\n listener,\n );\n await server.open(provider);\n};\nmain().catch((exp) => {\n console.error(exp);\n process.exit(-1);\n});\nHeader value delivered after the connection.Header is a value, delivered from client to server directly, after the connection.Server can get the Header value through acceptor's header property.\nWebSocketAcceptor.header\nWorkerServer.getHeader()\nSharedWorkerSever.header","provider#Provider":"import { Driver, WebSocketServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n ICalcConfig,\n | CompositeCalculator\n | SimpleCalculator\n | StatisticsCalculator\n | ScientificCalculator,\n ICalcEventListener\n > = new WebSocketServer();\n await server.open(37_000, async (acceptor) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT\n if (acceptor.path === \"/composite\")\n await acceptor.accept(new CompositeCalculator(config, listener));\n else if (acceptor.path === \"/simple\")\n await acceptor.accept(new SimpleCalculator(config, listener));\n else if (acceptor.path === \"/statistics\")\n await acceptor.accept(new StatisticsCalculator(config, listener));\n else if (acceptor.path === \"/scientific\")\n await acceptor.accept(new ScientificCalculator(config, listener));\n else {\n await acceptor.reject(1002, `WebSocket API endpoint not found.`);\n return;\n }\n // PING REPEATEDLY TO KEEP CONNECTION\n acceptor.ping(15_000);\n });\n return server;\n};\nObject provided for remote system.Provider is an object provided for the remote system.The remote system can call the Provider's functions through Driver.","driver#Driver":"import { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nexport const webSocketClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WebSocketConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WebSocketConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\n$ npm start\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]\nDriver of RPC (Remote Procedure Call).Driver is a proxy instance designed to call functions of the remote system. It has a generic argument Remote which means the type of remote system's Provider, and you can remotely call the functions of the Provider asynchronously through the Drive instance.When you call some function of remote Provider by the Driver instance, it hooks the function call expression, and delivers the function name and arguments (parameter values) to the remote system through the Communicator. If the remote system suceeded to reply the result of the function call, Communicator resolves the promise of the function call expression with the result, so that makes Driver working.Otherwise exception is thrown in the remote Provider function, Communicator deliveries the exception instance instead to the remote system, so that actual exception being thrown from the Driver instance.\nDemonstrationYou can run it on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.websocket\nnpm install\nnpm start"}},"/docs/examples/nestjs-websocket":{"title":"Nestjs Websocket","data":{"outline#Outline":"If you develop websocket application, I recommend integrate TGrid with NestJS / Nestia.It's because you can manage WebSocket API endpoints much effectively and easily by NestJS controller patterns. Also, you can make your server to support both HTTP and WebSocket protocols at the same time. NestJS controllers are compatible with both HTTP and WebSocket operations.Furthermore, you can generate SDK (Software Development Kit) library for your client application through Nestia. With the automatically generated SDK, client developers no more need to write the WebSocket connection and RPC (Remote Procedure Call) codes manually, so that the client development becomes much easier and safer.\nReferences\nNestia > Guide Documents > Setup\nNestia > Guide Documents > WebSocketRoute\nDemonstrationYou can run the example program on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.nestjs\nnpm install\nnpm start","server-program#Server Program":"","bootstrap#Bootstrap":"import { WebSocketAdaptor } from \"@nestia/core\";\nimport { INestApplication } from \"@nestjs/common\";\nimport { NestFactory } from \"@nestjs/core\";\nimport { CalculateModule } from \"./calculate.module\";\nexport const bootstrap = async (): Promise => {\n const app: INestApplication = await NestFactory.create(CalculateModule);\n await WebSocketAdaptor.upgrade(app);\n await app.listen(37_000, \"0.0.0.0\");\n return app;\n};\nTo integrate TGrid with NestJS, you have to upgrade the NestJS application like above.Just call the WebSocketAdaptor.upgrade(), then you can utilize TGrid in the NestJS server.","controller#Controller":"import { TypedRoute, WebSocketRoute } from \"@nestia/core\";\nimport { Controller } from \"@nestjs/common\";\nimport { Driver, WebSocketAcceptor } from \"tgrid\";\nimport { ICalcConfig } from \"./api/interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./api/interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./api/interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"./api/interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"./api/interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"./api/interfaces/IStatisticsCalculator\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\n@Controller(\"calculate\")\nexport class CalculateController {\n /**\n * Health check API (HTTP GET).\n */\n @TypedRoute.Get(\"health\")\n public health(): string {\n return \"Health check OK\";\n }\n /**\n * Prepare a composite calculator.\n */\n @WebSocketRoute(\"composite\")\n public async composite(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n ICompositeCalculator,\n ICalcEventListener\n >,\n @WebSocketRoute.Header() header: ICalcConfig,\n @WebSocketRoute.Driver() listener: Driver\n ): Promise {\n const provider: CompositeCalculator = new CompositeCalculator(\n header,\n listener\n );\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a simple calculator.\n */\n @WebSocketRoute(\"simple\")\n public async simple(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig, // header\n ISimpleCalculator, // provider for remote client\n ICalcEventListener // provider from remote client\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: SimpleCalculator = new SimpleCalculator(header, listener);\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a scientific calculator.\n */\n @WebSocketRoute(\"scientific\")\n public async scientific(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n IScientificCalculator,\n ICalcEventListener\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: ScientificCalculator = new ScientificCalculator(\n header,\n listener\n );\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a statistics calculator.\n */\n @WebSocketRoute(\"statistics\")\n public async statistics(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n IStatisticsCalculator,\n ICalcEventListener\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: IStatisticsCalculator = new StatisticsCalculator(\n header,\n listener\n );\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n}\nimport { Module } from \"@nestjs/common\";\nimport { CalculateController } from \"./calculate.controller\";\n@Module({\n controllers: [CalculateController],\n})\nexport class CalculateModule {}\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nAs you can see from the above code, CalculateController has many API operations, including both HTTP and WebSocket protocols. The CalculatorController.health() is an HTTP Get method operation, and the others are all WebSocket operations.When defining WebSocket operation, attach @WebSocketRoute() decorator to the target controller method with path specification. Also, the controller method must have the @WebSocketRoute.Acceptor() decorated parameter with WebSocketAcceptor type, because you have to determine whether to WebSocketAcceptor.accept() the client's connection or WebSocketAcceptor.reject() it.With such controller patterned WebSocket operation, you can manage WebSocket API endpoints much effectively and easily. Also, you can generate SDK (Software Development Kit) library for your client application through Nestia. Let's see how to generate SDK library, and how it would be looked like in the next section.\nPingIf client comes from web browser, the connection would be closed automatically after a certain period of time if there's no signal. In the Google Chrome case, it automatically closes the connection after 60 seconds.To make the connection alive forcibly, you can ping a signal to the remote client repeatedly in the specified interval by calling the WebSocketAcceptor.ping() method. Therefore, when developing WebSocket server application, consider to calling the WebSocketAcceptor.ping() method after accepting the connection.","software-development-kit#Software Development Kit":"/**\n * @packageDocumentation\n * @module api.functional.calculate\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\n//================================================================\nimport type { IConnection, Primitive } from \"@nestia/fetcher\";\nimport { PlainFetcher } from \"@nestia/fetcher/lib/PlainFetcher\";\nimport { WebSocketConnector } from \"tgrid\";\nimport type { Driver } from \"tgrid\";\nimport type { ICalcConfig } from \"../../interfaces/ICalcConfig\";\nimport type { ICalcEventListener } from \"../../interfaces/ICalcEventListener\";\nimport type { ICompositeCalculator } from \"../../interfaces/ICompositeCalculator\";\nimport type { IScientificCalculator } from \"../../interfaces/IScientificCalculator\";\nimport type { ISimpleCalculator } from \"../../interfaces/ISimpleCalculator\";\nimport type { IStatisticsCalculator } from \"../../interfaces/IStatisticsCalculator\";\n/**\n * Health check API (HTTP GET).\n *\n * @controller CalculateController.health\n * @path GET /calculate/health\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function health(connection: IConnection): Promise {\n return PlainFetcher.fetch(connection, {\n ...health.METADATA,\n path: health.path(),\n });\n}\nexport namespace health {\n export type Output = Primitive;\n export const METADATA = {\n method: \"GET\",\n path: \"/calculate/health\",\n request: null,\n response: {\n type: \"application/json\",\n encrypted: false,\n },\n status: null,\n } as const;\n export const path = () => \"/calculate/health\";\n}\n/**\n * Prepare a composite calculator.\n *\n * @controller CalculateController.composite\n * @path /calculate/composite\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function composite(\n connection: IConnection,\n provider: composite.Provider,\n): Promise {\n const connector: WebSocketConnector<\n composite.Header,\n composite.Provider,\n composite.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${composite.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace composite {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ICompositeCalculator;\n export const path = () => \"/calculate/composite\";\n}\n/**\n * Prepare a simple calculator.\n *\n * @controller CalculateController.simple\n * @path /calculate/simple\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function simple(\n connection: IConnection,\n provider: simple.Provider,\n): Promise {\n const connector: WebSocketConnector<\n simple.Header,\n simple.Provider,\n simple.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${simple.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace simple {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ISimpleCalculator;\n export const path = () => \"/calculate/simple\";\n}\n/**\n * Prepare a scientific calculator.\n *\n * @controller CalculateController.scientific\n * @path /calculate/scientific\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function scientific(\n connection: IConnection,\n provider: scientific.Provider,\n): Promise {\n const connector: WebSocketConnector<\n scientific.Header,\n scientific.Provider,\n scientific.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${scientific.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace scientific {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IScientificCalculator;\n export const path = () => \"/calculate/scientific\";\n}\n/**\n * Prepare a statistics calculator.\n *\n * @controller CalculateController.statistics\n * @path /calculate/statistics\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function statistics(\n connection: IConnection,\n provider: statistics.Provider,\n): Promise {\n const connector: WebSocketConnector<\n statistics.Header,\n statistics.Provider,\n statistics.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${statistics.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace statistics {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IStatisticsCalculator;\n export const path = () => \"/calculate/statistics\";\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nnpx nestia sdk\nWhen you run npx nestia sdk command, SDK (Software Development Kit) library be generated.Above file is one of the SDK library corresponding to the CalculateController class we've seen in the previous NestJS Controller section. Client developers can utilize the automatically generated SDK functions to connect to the WebSocket server, and interact it type safely. Also, HTTP operation is compatible with the WebSocket operation.Let's see how client developer utilizes the SDK library in the next section.","client-program#Client Program":"import api from \"./api\";\nimport { ICalcEvent } from \"./api/interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./api/interfaces/ICalcEventListener\";\nexport const testCalculateSdk = async () => {\n //----\n // HTTP PROTOCOL\n //---\n // CALL HEALTH CHECK API\n console.log(\n await api.functional.calculate.health({\n host: \"http://127.0.0.1:37000\",\n })\n );\n //----\n // WEBSOCKET PROTOCOL\n //---\n // PROVIDER FOR WEBSOCKET SERVER\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n // DO CONNECT\n const { connector, driver } = await api.functional.calculate.composite(\n {\n host: \"ws://127.0.0.1:37000\",\n headers: {\n precision: 2,\n },\n },\n listener\n );\n // CALL FUNCTIONS OF REMOTE SERVER\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9) // returns 4.33\n );\n // TERMINATE\n await connector.close();\n console.log(stack);\n};\n/**\n * @packageDocumentation\n * @module api.functional.calculate\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\n//================================================================\nimport type { IConnection, Primitive } from \"@nestia/fetcher\";\nimport { PlainFetcher } from \"@nestia/fetcher/lib/PlainFetcher\";\nimport { WebSocketConnector } from \"tgrid\";\nimport type { Driver } from \"tgrid\";\nimport type { ICalcConfig } from \"../../interfaces/ICalcConfig\";\nimport type { ICalcEventListener } from \"../../interfaces/ICalcEventListener\";\nimport type { ICompositeCalculator } from \"../../interfaces/ICompositeCalculator\";\nimport type { IScientificCalculator } from \"../../interfaces/IScientificCalculator\";\nimport type { ISimpleCalculator } from \"../../interfaces/ISimpleCalculator\";\nimport type { IStatisticsCalculator } from \"../../interfaces/IStatisticsCalculator\";\n/**\n * Health check API (HTTP GET).\n *\n * @controller CalculateController.health\n * @path GET /calculate/health\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function health(connection: IConnection): Promise {\n return PlainFetcher.fetch(connection, {\n ...health.METADATA,\n path: health.path(),\n });\n}\nexport namespace health {\n export type Output = Primitive;\n export const METADATA = {\n method: \"GET\",\n path: \"/calculate/health\",\n request: null,\n response: {\n type: \"application/json\",\n encrypted: false,\n },\n status: null,\n } as const;\n export const path = () => \"/calculate/health\";\n}\n/**\n * Prepare a composite calculator.\n *\n * @controller CalculateController.composite\n * @path /calculate/composite\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function composite(\n connection: IConnection,\n provider: composite.Provider,\n): Promise {\n const connector: WebSocketConnector<\n composite.Header,\n composite.Provider,\n composite.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${composite.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace composite {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ICompositeCalculator;\n export const path = () => \"/calculate/composite\";\n}\n/**\n * Prepare a simple calculator.\n *\n * @controller CalculateController.simple\n * @path /calculate/simple\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function simple(\n connection: IConnection,\n provider: simple.Provider,\n): Promise {\n const connector: WebSocketConnector<\n simple.Header,\n simple.Provider,\n simple.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${simple.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace simple {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ISimpleCalculator;\n export const path = () => \"/calculate/simple\";\n}\n/**\n * Prepare a scientific calculator.\n *\n * @controller CalculateController.scientific\n * @path /calculate/scientific\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function scientific(\n connection: IConnection,\n provider: scientific.Provider,\n): Promise {\n const connector: WebSocketConnector<\n scientific.Header,\n scientific.Provider,\n scientific.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${scientific.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace scientific {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IScientificCalculator;\n export const path = () => \"/calculate/scientific\";\n}\n/**\n * Prepare a statistics calculator.\n *\n * @controller CalculateController.statistics\n * @path /calculate/statistics\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function statistics(\n connection: IConnection,\n provider: statistics.Provider,\n): Promise {\n const connector: WebSocketConnector<\n statistics.Header,\n statistics.Provider,\n statistics.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${statistics.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace statistics {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IStatisticsCalculator;\n export const path = () => \"/calculate/statistics\";\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n$ npm start\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestFactory] Starting Nest application...\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [InstanceLoader] CalculateModule dependencies initialized +5ms\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [RoutesResolver] CalculateController {/calculate}: +5ms\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestApplication] Nest application successfully started +2ms\nHealth check OK\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]\nDo import the SDK, and enjoy the type-safe and easy-to-use RPC (Remote Procedure Call).Looking at the above code, the client application is calling a function of the automatically generated SDK (Software Development Kit) library, so that connecting to the websocket server, and starting interaction through RPC (Remote Procedure Call) concept with Driver instance.Doesn't the \"SDK based development\" seems much easier and safer than native websocket classes case? This is the reason why I've recommended to combine with the NestJS when using websocket protocol based network system.This is the integration of TGrid with NestJS.","next-chapter#Next Chapter":"We've learned how to utilize TGrid with many examples.By the way, don't you want to know how to utilize TGrid in the real project?In the next chapter, we'll see how TGrid be utilized in the real world.\nLearn from Projects\nChat Application\nGrid Market\nMutex Server"}},"/docs/features/websocket":{"title":"Websocket","data":{"outline#Outline":"TGrid supports WebSocket protocol.With TGrid, you can easily develop WebSocket system under the RPC (Remote Procedure Call) concept.By the way, when you're developing WebSocket server natively only with TGrid, you have to construct and open the WebSocket server through WebSocketServer class. Also, you have to access to the WebSocket server with manual WebSocketConnector composition.Instead, if you develop the WebSocket server with NestJS, client can easily interact with the WebSocket server by SDK (Software Development Kit) library generated by Nestia. Also, you can make both http and websocket operations to the NestJS controllers, so that makes the server compatible on both protocols.Therefore, when you develop WebSocket server, I recommend to use NestJS with TGrid for the best development experience.","native-classes#Native Classes":"","websocketserver#WebSocketServer":"import { Driver, WebSocketServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n ICalcConfig,\n | CompositeCalculator\n | SimpleCalculator\n | StatisticsCalculator\n | ScientificCalculator,\n ICalcEventListener\n > = new WebSocketServer();\n await server.open(37_000, async (acceptor) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT\n if (acceptor.path === \"/composite\")\n await acceptor.accept(new CompositeCalculator(config, listener));\n else if (acceptor.path === \"/simple\")\n await acceptor.accept(new SimpleCalculator(config, listener));\n else if (acceptor.path === \"/statistics\")\n await acceptor.accept(new StatisticsCalculator(config, listener));\n else if (acceptor.path === \"/scientific\")\n await acceptor.accept(new ScientificCalculator(config, listener));\n else {\n await acceptor.reject(1002, `WebSocket API endpoint not found.`);\n return;\n }\n // PING REPEATEDLY TO KEEP CONNECTION\n acceptor.ping(15_000);\n });\n return server;\n};\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nAvailable only in the NodeJS.\nWebSocketServer is a class which can open an websocket server. Clients connecting to the WebSocketServer would communicate with this websocket server through WebSocketAcceptor objects with RPC (Remote Procedure Call) concept.To open the websocket server, call the WebSocketServer.open() method with target port number, and your custom callback function which would be called whenever a WebSocketAcceptor has been newly created by a new client's connection.Also, when declaring WebSocketServer type, you have to specify three generic arguments; Header, Provider and Remote. Those generic arguments would be propagated to the WebSocketAcceptor, so that WebSocketAcceptor would have the same generic arguments, too.For reference, the first Header type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from server to client, and the other Remote means a provider from the remote client to server.\nAbove example case:\nHeader: ICalcConfig type\nProvider: Server is providing one of below to the client\nSimpleCalculator\nStatisticsCalculator\nScientificCalculator\nRemote: Client is providing ICalcEventListener to the server","websocketacceptor#WebSocketAcceptor":"import { Driver, WebSocketAcceptor, WebSocketServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n ICalcConfig,\n | CompositeCalculator\n | SimpleCalculator\n | StatisticsCalculator\n | ScientificCalculator,\n ICalcEventListener\n > = new WebSocketServer();\n await server.open(\n 37_000,\n async (\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n | CompositeCalculator\n | SimpleCalculator\n | StatisticsCalculator\n | ScientificCalculator,\n ICalcEventListener\n >,\n ) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT\n if (acceptor.path === \"/composite\")\n await acceptor.accept(new CompositeCalculator(config, listener));\n else if (acceptor.path === \"/simple\")\n await acceptor.accept(new SimpleCalculator(config, listener));\n else if (acceptor.path === \"/statistics\")\n await acceptor.accept(new StatisticsCalculator(config, listener));\n else if (acceptor.path === \"/scientific\")\n await acceptor.accept(new ScientificCalculator(config, listener));\n else {\n await acceptor.reject(1002, `WebSocket API endpoint not found.`);\n return;\n }\n // PING REPEATEDLY TO KEEP CONNECTION\n acceptor.ping(15_000);\n },\n );\n return server;\n};\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nAvailable only in the NodeJS.\nThe WebSocketAcceptor is a communicator class interacting with the remote websocket client through (RPC)(Remote Procedure Call) concept, created by the WebSocketServer class whenever a remote client connects to the websocket server.When the closure function being called by the connection of a remote client, you can determine whether to accept the client's connection or not, reading the WebSocketAcceptor.header or WebSocketAcceptor.path properties. If you've decided to accept the connection, call the WebSocketAcceptor.accept() method with Provider instance. Otherwise, reject it through the WebSocketAcceptor.reject() method.Also, don't forget to closing the connection after your business logic has been completed to clean up the resources. Otherwise the closing must be performed by the remote client, you can wait the remote client's closing signal by the WebSocketAcceptor.join() method.\nPingIf client comes from web browser, the connection would be closed automatically after a certain period of time if there's no signal. In the Google Chrome case, it automatically closes the connection after 60 seconds.To make the connection alive forcibly, you can ping a signal to the remote client repeatedly in the specified interval by calling the WebSocketAcceptor.ping() method. Therefore, when developing WebSocket server application, consider to calling the WebSocketAcceptor.ping() method after accepting the connection.","websocketconnector#WebSocketConnector":"import { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"../interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nexport const webSocketClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WebSocketConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WebSocketConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n$ npm start\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]\nAvailable in both Browser/NodeJS.\nWeb Socket Connector.The WebSocketConnector is a communicator class which connects to a websocket server and interacts with it through RPC (Remote Procedure Call) concept.You can connect to the websocket server using WebSocketConnector.connect() method. The interaction would be started if the server accepts your connection by calling the WebSocketAcceptor.accept() method. If the remote server rejects your connection through WebSocketAcceptor.reject() method, the exception would be thrown.After the connection, don't forget to closing the connection, if your business logics have been completed, to clean up the resources. Otherwise, the closing must be performed by the remote websocket server, you can wait the remote server's closing signal through the WebSocketConnector.join() method.Also, when declaring this WebSocketConnector type, you've to define three generic arguments; Header, Provider and Remote. Those generic arguments must be same with the ones defined in the target WebSocketServer and WebSocketAcceptor classes (Provider and Remote must be reversed).For reference, the first Header type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from client to server, and the other Remote means a provider from the remote server to client.\nAbove example case:\nHeader: ICalcConfig type\nProvider: Client is providing ICalcEventListener to the server\nRemote: Server is providing ISimpleCalculator to the client\nDemonstrationYou can run it on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.websocket\nnpm install\nnpm start","nestjs-integration#NestJS Integration":"If you develop websocket application, I recommend integrate TGrid with NestJS.It's because you can manage WebSocket API endpoints much effectively and easily by NestJS controller patterns. Also, you can make your server to support both HTTP and WebSocket protocols at the same time. NestJS controllers are compatible with both HTTP and WebSocket operations.In the client side, you also can take advantages of automatically generated SDK (Software Development Kit) library for the client developers. With the SDK, client developers no more need to write the WebSocket connection and RPC (Remote Procedure Call) codes manually, so that the client development becomes much easier and safer.","bootstrap#Bootstrap":"import { WebSocketAdaptor } from \"@nestia/core\";\nimport { INestApplication } from \"@nestjs/common\";\nimport { NestFactory } from \"@nestjs/core\";\nimport { CalculateModule } from \"./calculate.module\";\nexport const bootstrap = async (): Promise => {\n const app: INestApplication = await NestFactory.create(CalculateModule);\n await WebSocketAdaptor.upgrade(app);\n await app.listen(37_000, \"0.0.0.0\");\n return app;\n};\nTo utilize TGrid in the NestJS, upgrade the NestJS application like above.Just call the WebSocketAdaptor.upgrade() method, then you can utilize TGrid in the NestJS server.\nAbout detailed setup or more detailed informations, please refer below docs:\nNestia > Guide Documents > Setup\nNestia > Guide Documents > WebSocketRoute","nestjs-controller#NestJS Controller":"import { TypedRoute, WebSocketRoute } from \"@nestia/core\";\nimport { Controller } from \"@nestjs/common\";\nimport { Driver, WebSocketAcceptor } from \"tgrid\";\nimport { ICalcConfig } from \"./api/interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./api/interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./api/interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"./api/interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"./api/interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"./api/interfaces/IStatisticsCalculator\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\n@Controller(\"calculate\")\nexport class CalculateController {\n /**\n * Health check API (HTTP GET).\n */\n @TypedRoute.Get(\"health\")\n public health(): string {\n return \"Health check OK\";\n }\n /**\n * Prepare a composite calculator.\n */\n @WebSocketRoute(\"composite\")\n public async composite(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n ICompositeCalculator,\n ICalcEventListener\n >,\n @WebSocketRoute.Header() header: ICalcConfig,\n @WebSocketRoute.Driver() listener: Driver\n ): Promise {\n const provider: CompositeCalculator = new CompositeCalculator(\n header,\n listener\n );\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a simple calculator.\n */\n @WebSocketRoute(\"simple\")\n public async simple(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig, // header\n ISimpleCalculator, // provider for remote client\n ICalcEventListener // provider from remote client\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: SimpleCalculator = new SimpleCalculator(header, listener);\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a scientific calculator.\n */\n @WebSocketRoute(\"scientific\")\n public async scientific(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n IScientificCalculator,\n ICalcEventListener\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: ScientificCalculator = new ScientificCalculator(\n header,\n listener\n );\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a statistics calculator.\n */\n @WebSocketRoute(\"statistics\")\n public async statistics(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n IStatisticsCalculator,\n ICalcEventListener\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: IStatisticsCalculator = new StatisticsCalculator(\n header,\n listener\n );\n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n}\nimport { Module } from \"@nestjs/common\";\nimport { CalculateController } from \"./calculate.controller\";\n@Module({\n controllers: [CalculateController],\n})\nexport class CalculateModule {}\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nFrom now on, you can define WebSocket API operations like above.Just import and attach the @WebSocketRoute() decorator function to the target controller methods.Note that, don't forget to define @WebSocketRoute.Acceptor() decorated parameter with WebSocketAcceptor type. It's because the websocket server must determine whether to WebSocketAcceptor.accept() the client's connection or WebSocketAcceptor.reject() it.Also, when declaring the WebSocketAcceptor type, ou have to specify three generic arguments; Header, Provider and Remote. Those generic arguments would be propagated to the automatically generated Software Development Kit for the client, so that the client developers will utilize the same generic types what you've defined (Provider and Remote must be reversed).For reference, the first Header type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from server to client, and the other Remote means a provider from the remote client to server.\nYou can find more detailed informations about @WebSocketRoute():\nNestia > Guide Documents > WebSocketRoute]","software-development-kit#Software Development Kit":"/**\n * @packageDocumentation\n * @module api.functional.calculate\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\n//================================================================\nimport type { IConnection, Primitive } from \"@nestia/fetcher\";\nimport { PlainFetcher } from \"@nestia/fetcher/lib/PlainFetcher\";\nimport { WebSocketConnector } from \"tgrid\";\nimport type { Driver } from \"tgrid\";\nimport type { ICalcConfig } from \"../../interfaces/ICalcConfig\";\nimport type { ICalcEventListener } from \"../../interfaces/ICalcEventListener\";\nimport type { ICompositeCalculator } from \"../../interfaces/ICompositeCalculator\";\nimport type { IScientificCalculator } from \"../../interfaces/IScientificCalculator\";\nimport type { ISimpleCalculator } from \"../../interfaces/ISimpleCalculator\";\nimport type { IStatisticsCalculator } from \"../../interfaces/IStatisticsCalculator\";\n/**\n * Health check API (HTTP GET).\n *\n * @controller CalculateController.health\n * @path GET /calculate/health\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function health(connection: IConnection): Promise {\n return PlainFetcher.fetch(connection, {\n ...health.METADATA,\n path: health.path(),\n });\n}\nexport namespace health {\n export type Output = Primitive;\n export const METADATA = {\n method: \"GET\",\n path: \"/calculate/health\",\n request: null,\n response: {\n type: \"application/json\",\n encrypted: false,\n },\n status: null,\n } as const;\n export const path = () => \"/calculate/health\";\n}\n/**\n * Prepare a composite calculator.\n *\n * @controller CalculateController.composite\n * @path /calculate/composite\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function composite(\n connection: IConnection,\n provider: composite.Provider,\n): Promise {\n const connector: WebSocketConnector<\n composite.Header,\n composite.Provider,\n composite.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${composite.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace composite {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ICompositeCalculator;\n export const path = () => \"/calculate/composite\";\n}\n/**\n * Prepare a simple calculator.\n *\n * @controller CalculateController.simple\n * @path /calculate/simple\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function simple(\n connection: IConnection,\n provider: simple.Provider,\n): Promise {\n const connector: WebSocketConnector<\n simple.Header,\n simple.Provider,\n simple.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${simple.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace simple {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ISimpleCalculator;\n export const path = () => \"/calculate/simple\";\n}\n/**\n * Prepare a scientific calculator.\n *\n * @controller CalculateController.scientific\n * @path /calculate/scientific\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function scientific(\n connection: IConnection,\n provider: scientific.Provider,\n): Promise {\n const connector: WebSocketConnector<\n scientific.Header,\n scientific.Provider,\n scientific.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${scientific.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace scientific {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IScientificCalculator;\n export const path = () => \"/calculate/scientific\";\n}\n/**\n * Prepare a statistics calculator.\n *\n * @controller CalculateController.statistics\n * @path /calculate/statistics\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function statistics(\n connection: IConnection,\n provider: statistics.Provider,\n): Promise {\n const connector: WebSocketConnector<\n statistics.Header,\n statistics.Provider,\n statistics.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${statistics.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace statistics {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IStatisticsCalculator;\n export const path = () => \"/calculate/statistics\";\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nnpx nestia sdk\nWhen you run npx nestia sdk command, SDK (Software Development Kit) library be generated.Above file is one of the SDK library corresponding to the CalculateController class we've seen in the previous NestJS Controller section. Client developers can utilize the automatically generated SDK functions to connect to the WebSocket server, and interact it type safely. Also, HTTP operation is compatible with the WebSocket operation.Let's see how client developer utilizes the SDK library in the next section.\nYou can find more detailed informations about SDK generator:\nNestia > Guide Documents > S/W Development Kit","client-application#Client Application":"import api from \"./api\";\nimport { ICalcEvent } from \"./api/interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./api/interfaces/ICalcEventListener\";\nexport const testCalculateSdk = async () => {\n //----\n // HTTP PROTOCOL\n //---\n // CALL HEALTH CHECK API\n console.log(\n await api.functional.calculate.health({\n host: \"http://127.0.0.1:37000\",\n })\n );\n //----\n // WEBSOCKET PROTOCOL\n //---\n // PROVIDER FOR WEBSOCKET SERVER\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n // DO CONNECT\n const { connector, driver } = await api.functional.calculate.composite(\n {\n host: \"ws://127.0.0.1:37000\",\n headers: {\n precision: 2,\n },\n },\n listener\n );\n // CALL FUNCTIONS OF REMOTE SERVER\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9) // returns 4.33\n );\n // TERMINATE\n await connector.close();\n console.log(stack);\n};\n/**\n * @packageDocumentation\n * @module api.functional.calculate\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\n//================================================================\nimport type { IConnection, Primitive } from \"@nestia/fetcher\";\nimport { PlainFetcher } from \"@nestia/fetcher/lib/PlainFetcher\";\nimport { WebSocketConnector } from \"tgrid\";\nimport type { Driver } from \"tgrid\";\nimport type { ICalcConfig } from \"../../interfaces/ICalcConfig\";\nimport type { ICalcEventListener } from \"../../interfaces/ICalcEventListener\";\nimport type { ICompositeCalculator } from \"../../interfaces/ICompositeCalculator\";\nimport type { IScientificCalculator } from \"../../interfaces/IScientificCalculator\";\nimport type { ISimpleCalculator } from \"../../interfaces/ISimpleCalculator\";\nimport type { IStatisticsCalculator } from \"../../interfaces/IStatisticsCalculator\";\n/**\n * Health check API (HTTP GET).\n *\n * @controller CalculateController.health\n * @path GET /calculate/health\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function health(connection: IConnection): Promise {\n return PlainFetcher.fetch(connection, {\n ...health.METADATA,\n path: health.path(),\n });\n}\nexport namespace health {\n export type Output = Primitive;\n export const METADATA = {\n method: \"GET\",\n path: \"/calculate/health\",\n request: null,\n response: {\n type: \"application/json\",\n encrypted: false,\n },\n status: null,\n } as const;\n export const path = () => \"/calculate/health\";\n}\n/**\n * Prepare a composite calculator.\n *\n * @controller CalculateController.composite\n * @path /calculate/composite\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function composite(\n connection: IConnection,\n provider: composite.Provider,\n): Promise {\n const connector: WebSocketConnector<\n composite.Header,\n composite.Provider,\n composite.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${composite.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace composite {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ICompositeCalculator;\n export const path = () => \"/calculate/composite\";\n}\n/**\n * Prepare a simple calculator.\n *\n * @controller CalculateController.simple\n * @path /calculate/simple\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function simple(\n connection: IConnection,\n provider: simple.Provider,\n): Promise {\n const connector: WebSocketConnector<\n simple.Header,\n simple.Provider,\n simple.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${simple.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace simple {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ISimpleCalculator;\n export const path = () => \"/calculate/simple\";\n}\n/**\n * Prepare a scientific calculator.\n *\n * @controller CalculateController.scientific\n * @path /calculate/scientific\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function scientific(\n connection: IConnection,\n provider: scientific.Provider,\n): Promise {\n const connector: WebSocketConnector<\n scientific.Header,\n scientific.Provider,\n scientific.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${scientific.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace scientific {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IScientificCalculator;\n export const path = () => \"/calculate/scientific\";\n}\n/**\n * Prepare a statistics calculator.\n *\n * @controller CalculateController.statistics\n * @path /calculate/statistics\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function statistics(\n connection: IConnection,\n provider: statistics.Provider,\n): Promise {\n const connector: WebSocketConnector<\n statistics.Header,\n statistics.Provider,\n statistics.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${statistics.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace statistics {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IStatisticsCalculator;\n export const path = () => \"/calculate/statistics\";\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n$ npm start\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestFactory] Starting Nest application...\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [InstanceLoader] CalculateModule dependencies initialized +5ms\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [RoutesResolver] CalculateController {/calculate}: +5ms\n[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestApplication] Nest application successfully started +2ms\nHealth check OK\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]\nDo import the SDK, and enjoy the type-safe and easy-to-use RPC.Looking at the above code, the client application is calling a function of the automatically generated SDK (Software Development Kit) library, so that connecting to the websocket server, and starting interaction through RPC (Remote Procedure Call) concept with Driver instance.Doesn't the \"SDK based development\" seems much easier and safer than the previous Natives Classes > WebSocketConnector case? This is the reason why I've recommended to combine with the NestJS when using websocket protocol based network system.For reference, return type of SDK function is a pair WebSocketConnector and Driver instances, but it would be actually returned only when the websocket server accepts your connection. Otherwise, the websocket server rejects your connection, an exception would be thrown.Also, don't forget to closing the connection, if your business logics have been completed, to clean up the resources. Otherwise, the closing must be performed by the remote websocket server, you can wait the remote server's closing signal through the WebSocketConnector.join() method.\nDemonstrationYou can run it on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.nestjs\nnpm install\nnpm start"}},"/docs/examples/object-oriented-network":{"title":"Object Oriented Network","data":{"outline#Outline":"Each remote system is an object.With TGrid, you can easily develop complicated network system, by considering each network system as an object, and interacting with each other through RPC (Remote Procedure Call). TGrid defines this concept as \"Object Oriented Network\".In this chapter, we'll remake the composite calculator system of Remote Object Call chapter again, but replace scientific and statistics calculators to remote system. Therefore, the composite calculator system will be consisted of three remote servers: \"composite server\", \"scientific server\" and \"statistics server\".Let's see how TGrd implements the \"Object Oriented Network\".\nDemonstrationYou can run the example program on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.object-oriented-network\nnpm install\nnpm start","client-program#Client Program":"import { Driver, WorkerConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nconst EXTENSION = __filename.endsWith(\".ts\") ? \"ts\" : \"js\";\nexport const workerClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WorkerConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WorkerConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n \"process\",\n );\n await connector.connect(`${__dirname}/composite.${EXTENSION}`);\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.multiplies(3, 4), // returns 12\n await remote.divides(5, 3), // returns 1.67\n await remote.scientific.sqrt(2), // returns 1.41\n await remote.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n$ npm start\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]","server-programs#Server Programs":"import { Driver, WorkerConnector, WorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { IScientificCalculator } from \"./interfaces/IScientificCalculator\";\nimport { IStatisticsCalculator } from \"./interfaces/IStatisticsCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nconst EXTENSION = __filename.endsWith(\".ts\") ? \"ts\" : \"js\";\n/// `CompositeCalculator` has two additional properties\n///\n/// - `scientific` from remote worker server\n/// - `statistics` from remote worker server\nclass CompositeCalculator extends SimpleCalculator {\n public readonly scientific: Driver;\n public readonly statistics: Driver;\n public constructor(props: {\n config: ICalcConfig;\n listener: Driver;\n scientific: Driver;\n statistics: Driver;\n }) {\n super(props.config, props.listener);\n this.scientific = props.scientific;\n this.statistics = props.statistics;\n }\n}\n/// connect to remote worker server\nconst connect = async (\n header: ICalcConfig,\n listener: Driver,\n file: string,\n): Promise> => {\n const connector: WorkerConnector =\n new WorkerConnector(header, listener, \"process\");\n await connector.connect(file);\n return connector.getDriver();\n};\nconst main = async () => {\n const server: WorkerServer<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n > = new WorkerServer();\n const config: ICalcConfig = await server.getHeader();\n const listener: Driver = server.getDriver();\n // constructor provider combining with remote worker-servers\n const provider: CompositeCalculator = new CompositeCalculator({\n config,\n listener,\n scientific: await connect>(\n config,\n listener,\n `${__dirname}/scientific.${EXTENSION}`,\n ),\n statistics: await connect>(\n config,\n listener,\n `${__dirname}/statistics.${EXTENSION}`,\n ),\n });\n await server.open(provider);\n};\nmain().catch((exp) => {\n console.error(exp);\n process.exit(-1);\n});\nimport { Driver, WorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nconst main = async () => {\n const server: WorkerServer<\n ICalcConfig,\n ScientificCalculator,\n ICalcEventListener\n > = new WorkerServer();\n const header: ICalcConfig = await server.getHeader();\n const listener: Driver = server.getDriver();\n const provider: ScientificCalculator = new ScientificCalculator(\n header,\n listener,\n );\n await server.open(provider);\n};\nmain().catch((exp) => {\n console.error(exp);\n process.exit(-1);\n});\nimport { Driver, WorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\nconst main = async () => {\n const server: WorkerServer<\n ICalcConfig,\n StatisticsCalculator,\n ICalcEventListener\n > = new WorkerServer();\n const header: ICalcConfig = await server.getHeader();\n const listener: Driver = server.getDriver();\n const provider: StatisticsCalculator = new StatisticsCalculator(\n header,\n listener,\n );\n await server.open(provider);\n};\nmain().catch((exp) => {\n console.error(exp);\n process.exit(-1);\n});\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nCompose Provider with Driver of another remote system.Looking at the \"Composite Server\", it is providing CompositeCalculator to the \"Client Program\". By the way, the CompositeCalculator is different with before chapter Remote Object Call. Properties scientific and statistics are composed with Driver of another remote system.Therefore, if \"Client Program\" calls Driver.scientific.sqrt(2) function, it will be forwarded to the \"Scientific Server\", and \"Composite Server\" only intermediates the remote function call (network communication) between \"Client Program\" and \"Scientific Server\".This is the \"Object Oriented Network\" of TGrid.","next-chapter#Next Chapter":"At next chapter, we'll learn how to integrate TGrid with NestJS.\nLearn from Examples > NestJS Integration\nimport { TypedRoute, WebSocketRoute } from \"@nestia/core\";\nimport { Controller } from \"@nestjs/common\";\nimport { Driver, WebSocketAcceptor } from \"tgrid\";\nimport { ICalcConfig } from \"./api/interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./api/interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./api/interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"./api/interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"./api/interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"./api/interfaces/IStatisticsCalculator\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\n@Controller(\"calculate\")\nexport class CalculateController {\n /**\n * Health check API (HTTP GET).\n */\n @TypedRoute.Get(\"health\")\n public health(): string {\n return \"Health check OK\";\n }\n /**\n * Prepare a composite calculator.\n */\n @WebSocketRoute(\"composite\")\n public async composite(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n ICompositeCalculator,\n ICalcEventListener\n >,\n @WebSocketRoute.Header() header: ICalcConfig,\n @WebSocketRoute.Driver() listener: Driver\n ): Promise {\n const provider: CompositeCalculator = new CompositeCalculator(\n header,\n listener\n );\n \n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a simple calculator.\n */\n @WebSocketRoute(\"simple\")\n public async simple(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig, // header\n ISimpleCalculator, // provider for remote client\n ICalcEventListener // provider from remote client\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: SimpleCalculator = new SimpleCalculator(header, listener);\n \n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a scientific calculator.\n */\n @WebSocketRoute(\"scientific\")\n public async scientific(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n IScientificCalculator,\n ICalcEventListener\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: ScientificCalculator = new ScientificCalculator(\n header,\n listener\n );\n \n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n /**\n * Prepare a statistics calculator.\n */\n @WebSocketRoute(\"statistics\")\n public async statistics(\n @WebSocketRoute.Acceptor()\n acceptor: WebSocketAcceptor<\n ICalcConfig,\n IStatisticsCalculator,\n ICalcEventListener\n >\n ): Promise {\n const header: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n const provider: IStatisticsCalculator = new StatisticsCalculator(\n header,\n listener\n );\n \n await acceptor.accept(provider); // ACCEPT CONNECTION\n acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION\n }\n}\nimport api from \"./api\";\nimport { ICalcEvent } from \"./api/interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./api/interfaces/ICalcEventListener\";\nexport const testCalculateSdk = async () => {\n //----\n // HTTP PROTOCOL\n //---\n // CALL HEALTH CHECK API\n console.log(\n await api.functional.calculate.health({\n host: \"http://127.0.0.1:37000\",\n })\n );\n //----\n // WEBSOCKET PROTOCOL\n //---\n // PROVIDER FOR WEBSOCKET SERVER\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n // DO CONNECT\n const { connector, driver } = await api.functional.calculate.composite(\n {\n host: \"ws://127.0.0.1:37000\",\n headers: {\n precision: 2,\n },\n },\n listener\n );\n // CALL FUNCTIONS OF REMOTE SERVER\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9) // returns 4.33\n );\n // TERMINATE\n await connector.close();\n console.log(stack);\n};\n/**\n * @packageDocumentation\n * @module api.functional.calculate\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\n//================================================================\nimport type { IConnection, Primitive } from \"@nestia/fetcher\";\nimport { PlainFetcher } from \"@nestia/fetcher/lib/PlainFetcher\";\nimport { WebSocketConnector } from \"tgrid\";\nimport type { Driver } from \"tgrid\";\nimport type { ICalcConfig } from \"../../interfaces/ICalcConfig\";\nimport type { ICalcEventListener } from \"../../interfaces/ICalcEventListener\";\nimport type { ICompositeCalculator } from \"../../interfaces/ICompositeCalculator\";\nimport type { IScientificCalculator } from \"../../interfaces/IScientificCalculator\";\nimport type { ISimpleCalculator } from \"../../interfaces/ISimpleCalculator\";\nimport type { IStatisticsCalculator } from \"../../interfaces/IStatisticsCalculator\";\n/**\n * Health check API (HTTP GET).\n *\n * @controller CalculateController.health\n * @path GET /calculate/health\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function health(connection: IConnection): Promise {\n return PlainFetcher.fetch(connection, {\n ...health.METADATA,\n path: health.path(),\n });\n}\nexport namespace health {\n export type Output = Primitive;\n export const METADATA = {\n method: \"GET\",\n path: \"/calculate/health\",\n request: null,\n response: {\n type: \"application/json\",\n encrypted: false,\n },\n status: null,\n } as const;\n export const path = () => \"/calculate/health\";\n}\n/**\n * Prepare a composite calculator.\n *\n * @controller CalculateController.composite\n * @path /calculate/composite\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function composite(\n connection: IConnection,\n provider: composite.Provider,\n): Promise {\n const connector: WebSocketConnector<\n composite.Header,\n composite.Provider,\n composite.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${composite.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace composite {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ICompositeCalculator;\n export const path = () => \"/calculate/composite\";\n}\n/**\n * Prepare a simple calculator.\n *\n * @controller CalculateController.simple\n * @path /calculate/simple\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function simple(\n connection: IConnection,\n provider: simple.Provider,\n): Promise {\n const connector: WebSocketConnector<\n simple.Header,\n simple.Provider,\n simple.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${simple.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace simple {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = ISimpleCalculator;\n export const path = () => \"/calculate/simple\";\n}\n/**\n * Prepare a scientific calculator.\n *\n * @controller CalculateController.scientific\n * @path /calculate/scientific\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function scientific(\n connection: IConnection,\n provider: scientific.Provider,\n): Promise {\n const connector: WebSocketConnector<\n scientific.Header,\n scientific.Provider,\n scientific.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${scientific.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace scientific {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IScientificCalculator;\n export const path = () => \"/calculate/scientific\";\n}\n/**\n * Prepare a statistics calculator.\n *\n * @controller CalculateController.statistics\n * @path /calculate/statistics\n * @nestia Generated by Nestia - https://github.com/samchon/nestia\n */\nexport async function statistics(\n connection: IConnection,\n provider: statistics.Provider,\n): Promise {\n const connector: WebSocketConnector<\n statistics.Header,\n statistics.Provider,\n statistics.Listener\n > = new WebSocketConnector(connection.headers ?? ({} as any), provider);\n await connector.connect(\n `${connection.host.endsWith(\"/\") ? connection.host.substring(0, connection.host.length - 1) : connection.host}${statistics.path()}`,\n );\n const driver: Driver = connector.getDriver();\n return {\n connector,\n driver,\n };\n}\nexport namespace statistics {\n export type Output = {\n connector: WebSocketConnector;\n driver: Driver;\n };\n export type Header = ICalcConfig;\n export type Provider = ICalcEventListener;\n export type Listener = IStatisticsCalculator;\n export const path = () => \"/calculate/statistics\";\n}"}},"/docs/features/worker":{"title":"Worker","data":{"outline#Outline":"TGrid supports Worker/SharedWorker protocols.With TGrid, you can easily develop Worker programs under the RPC (Remote Procedure Call) concept.TGrid considers Worker as a 1: 1 dedicated server, and SharedWorker as a 1: N multi-client acceptable server running on the local. Therefore, the interfaces of Worker and SharedWorker in the TGrid are similar with WebSocket components. In such reason, if you're developing a complicate WebSocket system, you can simulate it in the local environment by using Worker/SharedWorker components.","worker#Worker":"Available in both Browser/NodeJS.\nYou can utilize RPC (Remote Procedure Call) even in the Worker.","workerconnector#WorkerConnector":"import { Driver, WorkerConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nconst EXTENSION = __filename.endsWith(\".ts\") ? \"ts\" : \"js\";\nexport const workerClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WorkerConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WorkerConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n \"process\",\n );\n await connector.connect(`${__dirname}/server.${EXTENSION}`);\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.multiplies(3, 4), // returns 12\n await remote.divides(5, 3), // returns 1.67\n await remote.scientific.sqrt(2), // returns 1.41\n await remote.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n$ npm start\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]\nWorker Connector.The WorkerConnetor is a communicator class, which creates an Worker instance, and interacts with it through RPC (Remote Procedure Call). In other words, WorkerConnector considers the Worker instance as a remote server accepting only one client; WorkerServer.You can create the Worker instance and communicate with it by WorkerConnector.connect() or WorkerConnector.compile() method. The WorkerConnector.connect() method just opens an existing JS (or TS) file, and the WorkerConnector.compile() method writes a temporary JS (TS) file and connects to it. Anyway, the Worker instanced program must open the WorkerServer.By the way, don't forget closing the worker to clean up the resources. If the closing be performed by WorkerServer, you can wait the worker server closing through the WorkerConnector.wait() method.Also, when declaring this WorkerConnector type, you've to define three generic arguments; Header, Provider and Remote. Those generic arguments must be same with the ones defined in the target WorkerServer class (Provider and Remote must be reversed).For reference, the first Header type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from client to server, and the other Remote means a provider from the remote server to client.\nAbove example case:\nHeader: ICalcConfig type\nProvider: Client is providing ICalcEventListener to the server\nRemote: Server is providing ISimpleCalculator to the client\nDemonstrationYou can run it on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.worker\nnpm install\nnpm start","workerserver#WorkerServer":"import { Driver, WorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nconst main = async () => {\n const server: WorkerServer<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n > = new WorkerServer();\n const header: ICalcConfig = await server.getHeader();\n const listener: Driver = server.getDriver();\n const provider: CompositeCalculator = new CompositeCalculator(\n header,\n listener,\n );\n await server.open(provider);\n};\nmain().catch((exp) => {\n console.error(exp);\n process.exit(-1);\n});\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nWorker Server.The WorkerServer is a class representing a Worker server which communicate with client (WorkerConnector), through the RPC (Remote Procedure Call).Unlike other servers, WorkerServer can accept only one client (WorkerConnector), because the Worker is dependent on its parent instance (web page, node or parent worker). Thus, WorkerServer does not have any acceptor and communicates with client (its parent) directly.To start communication with the client, call the WorkerServer.open() method with Provider instance. After your business, don't forget closing this Worker instance. If the termination is performed by the WorkerConnector, you can wait the closing signal through the WorkerServer.join() method.Also, when declaring this WorkerServer type, you've to define three generic arguments; Header, Provider and Remote. Those generic arguments must be same with the ones defined in the target WorkerConnector class (Provider and Remote must be reversed).For reference, the first Header type repersents an initial data from the client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from server to client, and the other Remote means a provider from the client to server.\nAbove example case:\nHeader: ICalcConfig type\nProvider: Server is providing CompositeCalculator to the client\nRemote: Client is providing ICalcEventListener to the server","shared-worker#Shared Worker":"Available only in the Web Browser.\nIn the Web Browser, you also can perform RPC (Remote Procedure Call) in the SharedWorker.Also, as SharedWorker can accept multiple clients, TGrid considers it as a local server running on the web browser, and its interfaces are similar with WebSocket components.","sharedworkerserver#SharedWorkerServer":"import { Driver, SharedWorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nconst main = async () => {\n let pool: number = 0;\n const server: SharedWorkerServer<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n > = new SharedWorkerServer();\n await server.open(async (acceptor) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT THE CONNECTION\n if (pool >= 8) {\n await acceptor.reject(\"Too much connections.\");\n } else {\n await acceptor.accept(new CompositeCalculator(config, listener));\n ++pool;\n await acceptor.join();\n --pool;\n }\n });\n};\nmain().catch(console.error);\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nShared Worker Server.The SharedWorkerServer is a class representing a server in SharedWorker environment. Clients connecting to the SharedWorkerServer would communicate with this server through SharedWorkerAcceptor instaces using RPC (Remote Procedure Call) concept.To open the server, call the SharedWorkerServer.open() method with your callback function which would be called whenever a SharedWorkerAcceptor has been newly created by a new client's connection.Also, when declaring this SharedWorkerServer type, you have to define three generic arguments; Header, Provider and Remote. Those generic arguments would be propagated to the SharedWorkerAcceptor, so that SharedWorkerAcceptor would have the same generic arguments, too.For reference, the first Header type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from server to client, and the other Remote means a provider from the remote client to server.\nAbove example case:\nHeader: ICalcConfig type\nProvider: Server is providing CompositeCalculator to the client\nRemote: Client is providing ICalcEventListener to the server","sharedworkeracceptor#SharedWorkerAcceptor":"import { Driver, SharedWorkerAcceptor, SharedWorkerServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nconst main = async () => {\n let pool: number = 0;\n const server: SharedWorkerServer<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n > = new SharedWorkerServer();\n await server.open(\n async (\n acceptor: SharedWorkerAcceptor<\n ICalcConfig,\n CompositeCalculator,\n ICalcEventListener\n >,\n ) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT THE CONNECTION\n if (pool >= 8) {\n await acceptor.reject(\"Too much connections.\");\n } else {\n await acceptor.accept(new CompositeCalculator(config, listener));\n ++pool;\n await acceptor.join();\n --pool;\n }\n },\n );\n};\nmain().catch(console.error);\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nShared Worker Acceptor.The SharedWorkerAcceptor is a communicator class interacting with the SharedWorkerConnector through RFC (Remote Function Call), created by the SharedWorkerServer class whenever a client connects to the SharedWorker instance.When a remote client connects to the SharedWorkerServer, so that a new SharedworkerAcceptor instance being created, you can determine whether to accept the client's connection or not, reading the SharedWorkerAcceptor.header property. If you've decided to accept the connection, call the SharedWorkerAcceptor.accept() method with Provider instance. Otherwise, reject it thorugh the SharedWorkerAcceptor.reject() method.After accepting the connection, don't forget to closing the connection after your business has been completed to clean up the resources. Otherwise the closing must be performed by the remote client, you can wait the remote client's closing signal by the SharedWorkerAcceptor.join() method.Also, when declaring this SharedworkerAcceptor type, you have to define three generic arguments; Header, Provider and Remote. Those generic arguments must be same with the ones defined in the SharedWorkerServer class.For reference, the first Header type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from server to client, and the other Remote means a provider from the remote client to server.","sharedworkerconnector#SharedWorkerConnector":"import { Driver, SharedWorkerConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nconst main = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: SharedWorkerConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new SharedWorkerConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n );\n await connector.connect(`./server.js`);\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.multiplies(3, 4), // returns 12\n await remote.divides(5, 3), // returns 1.67\n await remote.scientific.sqrt(2), // returns 1.41\n await remote.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n for (const evt of stack) console.log(JSON.stringify(evt));\n};\nmain().catch(console.error);\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n30 12 1.67 1.41 4.33\n{\"type\":\"plus\",\"input\":[10,20],\"output\":30}\n{\"type\":\"multiplies\",\"input\":[3,4],\"output\":12}\n{\"type\":\"divides\",\"input\":[5,3],\"output\":1.67}\n{\"type\":\"sqrt\",\"input\":[2],\"output\":1.41}\n{\"type\":\"mean\",\"input\":[1,3,9],\"output\":4.33}\nShared Worker Connector.The SharedWorkerConnector is a communicator class which connects to an SharedWorker instance, and interacts with it through RFC (Remote Function Call) concept.You can connect to the SharedWorkerServer using SharedWorkerConnector.connect() method. The interaction would be started if the server accepts your connection by calling the SharedWorkerAcceptor.accept() method. If the remote server rejects your connection through SharedWorkerAcceptor.reject() method, the exception would be thrown.After the connection, don't forget to closing the connection, if your business logics have been completed, to clean up the resources. Otherwise, the closing must be performed by the remote shared worker server, you can wait the remote server's closing signal through the SharedWorkerConnector.join() method.Also, when declaring this SharedWorkerConnector type, you've to define three generic arguments; Header, Provider and Remote. Those generic arguments must be same with the ones defined in the target SharedWorkerServer and SharedWorkerAcceptor classes (Provider and Remote must be reversed).For reference, the first Header type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument Provider represents a provider from client to server, and the other Remote means a provider from the remote server to client.\nAbove example case:\nHeader: ICalcConfig type\nProvider: Client is providing ICalcEventListener to the server\nRemote: Server is providing ISimpleCalculator to the client\nDemonstrationYou can run it on your local machine.\ngit clone https://github.com/samchon/tgrid.example.shared-worker\nnpm install\nnpm run build\nnpm start"}},"/docs":{"title":"Index","data":{"":"TypeScript Grid Computing Framework.TypeScript RPC (Remote Procedure Call) framework for WebSocket and Worker protocols.\nWebSocket\nWorker\nSharedWorker\nNestJS\nAlso, easy to develop complicated network system like grid computing.\nimport { Driver, WebSocketConnector } from \"tgrid\";\nexport const webSocketClientMain = async () => {\n // CONNECT TO WEBSOCKET SERVER\n const connector: WebSocketConnector =\n new WebSocketConnector(\n null, // header\n null, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n // CALL REMOTE FUNCTIONS\n const remote: Driver = connector.getDriver();\n console.log(\n await remote.plus(10, 20), // returns 30\n await remote.minus(7, 3), // returns 4\n await remote.multiply(3, 4), // returns 12\n await remote.divide(5, 2), // returns 2.5\n );\n await connector.close();\n};\ninterface ICalculator {\n plus(a: number, b: number): number\n minus(a: number, b: number): number\n multiply(a: number, b: number): number\n divide(a: number, b: number): number\n}\n$ npm start\n30 4 12 2.5"}},"/docs/remote-procedure-call":{"title":"Remote Procedure Call","data":{"outline#Outline":"With TGrid, you can call remote procedures of provided by remote system.If remote system provides a function, TGrid lets you call it as if it was a local function own. If remote system provides some functions that are capsuled in hierarchical structured objects, you still can call them as if they were your own. This is the concept of RPC (Remote Procedure Call) what TGrid is saying.By the way, there are many other RPC (Remote Procedure Call) frameworks or libraries in the world. However, TGrid is different from them. RPC of TGrid does not mean only calling and getting returned value from the remote system's procedure, but also ensuring type safety. With the type safety, you can actually feel like that the remote procedure is your own.","demonstration#Demonstration":"import { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nexport const webSocketClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WebSocketConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WebSocketConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\nimport { Driver, WebSocketServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n ICalcConfig,\n | CompositeCalculator\n | SimpleCalculator\n | StatisticsCalculator\n | ScientificCalculator,\n ICalcEventListener\n > = new WebSocketServer();\n await server.open(37_000, async (acceptor) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT\n if (acceptor.path === \"/composite\")\n await acceptor.accept(new CompositeCalculator(config, listener));\n else if (acceptor.path === \"/simple\")\n await acceptor.accept(new SimpleCalculator(config, listener));\n else if (acceptor.path === \"/statistics\")\n await acceptor.accept(new StatisticsCalculator(config, listener));\n else if (acceptor.path === \"/scientific\")\n await acceptor.accept(new ScientificCalculator(config, listener));\n else {\n await acceptor.reject(1002, `WebSocket API endpoint not found.`);\n return;\n }\n // PING REPEATEDLY TO KEEP CONNECTION\n acceptor.ping(15_000);\n });\n return server;\n};\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"./interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"./interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"./interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\n$ npm start\n30 12 1.67 1.41 4.33\n[\n { type: 'plus', input: [ 10, 20 ], output: 30 },\n { type: 'multiplies', input: [ 3, 4 ], output: 12 },\n { type: 'divides', input: [ 5, 3 ], output: 1.67 },\n { type: 'sqrt', input: [ 2 ], output: 1.41 },\n { type: 'mean', input: [ 1, 3, 9 ], output: 4.33 }\n]\nHere is the one of example programs that demonstrating the RPC (Remote Procedure Call) of TGrid.At first, looking at the \"Client Program\" tab, you can find out that the \"Client Program\" is calling the \"Server Program\"'s functions as if they were its own, through the Driver typed instance with await symbols.At next, change the tab to \"Server Program\", then you can find out that the \"Server Program\" is serving CompositeCalculator class to the \"Client Program\". Calling the functions of CompositeCalculator in the \"Server Program\" from the \"Client Program\" through the Driver typed instance, this is the RPC (Remote Procedure Call) of TGrid.\nDemonstrationYou can run it on Playground Website, or local machine.\ngit clone https://github.com/samchon/tgrid.example.websocket\nnpm install\nnpm start","rpc-driver#RPC Driver":"import { Driver, WebSocketConnector } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEvent } from \"./interfaces/ICalcEvent\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"./interfaces/ICompositeCalculator\";\nexport const webSocketClientMain = async () => {\n const stack: ICalcEvent[] = [];\n const listener: ICalcEventListener = {\n on: (evt: ICalcEvent) => stack.push(evt),\n };\n const connector: WebSocketConnector<\n ICalcConfig,\n ICalcEventListener,\n ICompositeCalculator\n > = new WebSocketConnector(\n { precision: 2 }, // header\n listener, // provider for remote server\n );\n await connector.connect(\"ws://127.0.0.1:37000/composite\");\n const remote: Driver = connector.getDriver();\n console.log(\n await driver.plus(10, 20), // returns 30\n await driver.multiplies(3, 4), // returns 12\n await driver.divides(5, 3), // returns 1.67\n await driver.scientific.sqrt(2), // returns 1.41\n await driver.statistics.mean(1, 3, 9), // returns 4.33\n );\n await connector.close();\n console.log(stack);\n};\nimport { Driver, WebSocketServer } from \"tgrid\";\nimport { ICalcConfig } from \"./interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"./interfaces/ICalcEventListener\";\nimport { CompositeCalculator } from \"./providers/CompositeCalculator\";\nimport { ScientificCalculator } from \"./providers/ScientificCalculator\";\nimport { SimpleCalculator } from \"./providers/SimpleCalculator\";\nimport { StatisticsCalculator } from \"./providers/StatisticsCalculator\";\nexport const webSocketServerMain = async () => {\n const server: WebSocketServer<\n ICalcConfig,\n | CompositeCalculator\n | SimpleCalculator\n | StatisticsCalculator\n | ScientificCalculator,\n ICalcEventListener\n > = new WebSocketServer();\n await server.open(37_000, async (acceptor) => {\n // LIST UP PROPERTIES\n const config: ICalcConfig = acceptor.header;\n const listener: Driver = acceptor.getDriver();\n // ACCEPT OR REJECT\n if (acceptor.path === \"/composite\")\n await acceptor.accept(new CompositeCalculator(config, listener));\n else if (acceptor.path === \"/simple\")\n await acceptor.accept(new SimpleCalculator(config, listener));\n else if (acceptor.path === \"/statistics\")\n await acceptor.accept(new StatisticsCalculator(config, listener));\n else if (acceptor.path === \"/scientific\")\n await acceptor.accept(new ScientificCalculator(config, listener));\n else {\n await acceptor.reject(1002, `WebSocket API endpoint not found.`);\n return;\n }\n // PING REPEATEDLY TO KEEP CONNECTION\n acceptor.ping(15_000);\n });\n return server;\n};\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nimport { Driver } from \"tgrid\";\nimport { ICalcConfig } from \"../interfaces/ICalcConfig\";\nimport { ICalcEventListener } from \"../interfaces/ICalcEventListener\";\nimport { ICompositeCalculator } from \"../interfaces/ICompositeCalculator\";\nimport { IScientificCalculator } from \"../interfaces/IScientificCalculator\";\nimport { ISimpleCalculator } from \"../interfaces/ISimpleCalculator\";\nimport { IStatisticsCalculator } from \"../interfaces/IStatisticsCalculator\";\nexport abstract class CalculatorBase {\n public constructor(\n private readonly config: ICalcConfig,\n private readonly listener: Driver,\n ) {}\n protected compute(type: string, input: number[], output: number): number {\n const pow: number = Math.pow(10, this.config.precision);\n output = Math.round(output * pow) / pow;\n this.listener.on({ type, input, output }).catch(() => {});\n return output;\n }\n}\nexport class SimpleCalculator\n extends CalculatorBase\n implements ISimpleCalculator\n{\n public plus(x: number, y: number): number {\n return this.compute(\"plus\", [x, y], x + y);\n }\n public minus(x: number, y: number): number {\n return this.compute(\"minus\", [x, y], x - y);\n }\n public multiplies(x: number, y: number): number {\n return this.compute(\"multiplies\", [x, y], x * y);\n }\n public divides(x: number, y: number): number {\n return this.compute(\"divides\", [x, y], x / y);\n }\n}\nexport class ScientificCalculator\n extends CalculatorBase\n implements IScientificCalculator\n{\n public pow(x: number, y: number): number {\n return this.compute(\"pow\", [x, y], Math.pow(x, y));\n }\n public sqrt(x: number): number {\n return this.compute(\"sqrt\", [x], Math.sqrt(x));\n }\n public log(x: number, base: number): number {\n return this.compute(\"log\", [x, base], Math.log(x) / Math.log(base));\n }\n}\nexport class StatisticsCalculator\n extends CalculatorBase\n implements IStatisticsCalculator\n{\n public mean(...values: number[]): number {\n const sum: number = values.reduce((x, y) => x + y);\n return this.compute(\"mean\", values, sum / values.length);\n }\n public stdev(...values: number[]): number {\n const mean: number = values.reduce((x, y) => x + y) / values.length;\n const sum: number = values.reduce((x, y) => x + Math.pow(y - mean, 2));\n return this.compute(\"stdev\", values, Math.sqrt(sum / values.length));\n }\n}\nexport class CompositeCalculator\n extends SimpleCalculator\n implements ICompositeCalculator\n{\n public readonly scientific: ScientificCalculator;\n public readonly statistics: StatisticsCalculator;\n public constructor(\n config: ICalcConfig,\n listener: Driver,\n ) {\n super(config, listener);\n this.scientific = new ScientificCalculator(config, listener);\n this.statistics = new StatisticsCalculator(config, listener);\n }\n}\nexport interface ICalcConfig {\n precision: number;\n}\nexport interface ICalcEvent {\n type: string;\n input: number[];\n output: number;\n}\nexport interface ICalcEventListener {\n on(event: ICalcEvent): void;\n}\nexport interface ICompositeCalculator extends ISimpleCalculator {\n scientific: IScientificCalculator;\n statistics: IStatisticsCalculator;\n}\nexport interface ISimpleCalculator {\n plus(x: number, y: number): number;\n minus(x: number, y: number): number;\n multiplies(x: number, y: number): number;\n divides(x: number, y: number): number;\n}\nexport interface IScientificCalculator {\n pow(x: number, y: number): number;\n sqrt(x: number): number;\n log(x: number, base: number): number;\n}\nexport interface IStatisticsCalculator {\n mean(...values: number[]): number;\n stdev(...values: number[]): number;\n}\nLooking at the above ICompositeCalculator type from the \"Interfaces\" tab, none of the functions are actually asynchrounous. However, the \"Client Program\" is attaching await symbols. It's because every return types of ICompositeCalculator have changed to Promise types through the Driver type.As the Driver typed instance is not a \"Client Program\"'s own, but the \"Server Program\"'s own (CompositeCalculator), the function call must be passed through the asynchronous network communication. In such reason, the remote function calling cannot be synchronous, but asynchronous, and Driver type is casting them.\nTipDescription of Driver type in the Features > Components chatper.Driver is a proxy instance designed to call functions of the remote system. It has a generic argument Remote which means the type of remote system's Provider, and you can remotely call the functions of the Provider asynchronously through the Drive instance.When you call some function of remote Provider by the Driver instance, it hooks the function call expression, and delivers the function name and arguments (parameter values) to the remote system through the Communicator. If the remote system suceeded to reply the result of the function call, Communicator resolves the promise of the function call expression with the result, so that makes Driver working.Otherwise exception is thrown in the remote Provider function, Communicator deliveries the exception instance instead to the remote system, so that actual exception being thrown from the Driver instance.","restrictions#Restrictions":"TGrid has implemented the RPC (Remote Procedure Call) by communicating JSON message. Therefore, if parameters or return values of the remote provided functions are not compatible JSON, you can't use them.For example, JSON does not support bigint type of JavaScript. Therefore, if some of the remote provided functions are using bigint type on their parameters or return value, it would throw an exception.Also, as JSON does not contain class transformation spec, every parameters and return values must be primitive types. If you try to deliver the class instance as a parameter or return value, it would be downgraded to primitive instance in the remote system."}}} \ No newline at end of file diff --git a/_next/static/chunks/pages/_app-66f3d8d03a439937.js b/_next/static/chunks/pages/_app-66f3d8d03a439937.js deleted file mode 100644 index 96d8e45..0000000 --- a/_next/static/chunks/pages/_app-66f3d8d03a439937.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[888],{1118:function(n,t,e){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return e(3414)}])},3414:function(n,t,e){"use strict";e.r(t),e.d(t,{default:function(){return a}});var r=e(5893),c=e(4298),u=e.n(c);function a(n){let{Component:t,pageProps:e}=n,c=t.getLayout||(n=>n);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u(),{type:"text/javascript",dangerouslySetInnerHTML:{__html:'\n(function(c,l,a,r,i,t,y){\n c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};\n t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;\n y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\n})(window, document, "clarity", "script", "mdafwfogmt");\n '}}),c((0,r.jsx)(t,{...e}))]})}},4298:function(n,t,e){n.exports=e(2892)}},function(n){var t=function(t){return n(n.s=t)};n.O(0,[774,179],function(){return t(1118),t(9090)}),_N_E=n.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/_app-939610c6c5c0b1be.js b/_next/static/chunks/pages/_app-939610c6c5c0b1be.js new file mode 100644 index 0000000..f8600b8 --- /dev/null +++ b/_next/static/chunks/pages/_app-939610c6c5c0b1be.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2888],{1118:function(n,t,e){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return e(3414)}])},3414:function(n,t,e){"use strict";e.r(t),e.d(t,{default:function(){return a}});var r=e(5893),c=e(4298),u=e.n(c);function a(n){let{Component:t,pageProps:e}=n,c=t.getLayout||(n=>n);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u(),{type:"text/javascript",dangerouslySetInnerHTML:{__html:'\n(function(c,l,a,r,i,t,y){\n c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};\n t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;\n y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\n})(window, document, "clarity", "script", "mdafwfogmt");\n '}}),c((0,r.jsx)(t,{...e}))]})}},4298:function(n,t,e){n.exports=e(2892)}},function(n){var t=function(t){return n(n.s=t)};n.O(0,[9774,179],function(){return t(1118),t(9090)}),_N_E=n.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/_error-77823ddac6993d35.js b/_next/static/chunks/pages/_error-77823ddac6993d35.js deleted file mode 100644 index 8f1fc25..0000000 --- a/_next/static/chunks/pages/_error-77823ddac6993d35.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[820],{1981:function(n,_,u){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_error",function(){return u(6971)}])}},function(n){n.O(0,[888,774,179],function(){return n(n.s=1981)}),_N_E=n.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/_error-a1dfd1adb240a82a.js b/_next/static/chunks/pages/_error-a1dfd1adb240a82a.js new file mode 100644 index 0000000..c8d76e7 --- /dev/null +++ b/_next/static/chunks/pages/_error-a1dfd1adb240a82a.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4820],{1981:function(n,_,u){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_error",function(){return u(6971)}])}},function(n){n.O(0,[2888,9774,179],function(){return n(n.s=1981)}),_N_E=n.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs-13c92593e12a0af3.js b/_next/static/chunks/pages/docs-13c92593e12a0af3.js new file mode 100644 index 0000000..9d7e8e5 --- /dev/null +++ b/_next/static/chunks/pages/docs-13c92593e12a0af3.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3172],{2083:function(e,s,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs",function(){return o(5954)}])},5954:function(e,s,o){"use strict";o.r(s),o.d(s,{__toc:function(){return a},default:function(){return k}});var t=o(5893),n=o(2673),r=o(1334),i=o(2069);o(9488);var l=o(2643),c={src:"/_next/static/media/logo.930e096a.png",height:638,width:1501,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAYAAACuyE5IAAAAbklEQVR4nAFjAJz/AZqkuz8GExOP9O/0ziAZE4kCCw8bAP/+/QoHBAP/AADYAYicu8cmKiA4+/TyAOnp9GoiKSjq+Pf2GAUDA//9///BAZmowEr6CgqJDAUBzwP9CYIADhIJ+/v8AP//AAP7/v/le6cuV1gs/eUAAAAASUVORK5CYII=",blurWidth:8,blurHeight:3};let a=[];function h(e){let s=Object.assign({p:"p",img:"img",a:"a",code:"code",ul:"ul",li:"li",pre:"pre",span:"span",blockquote:"blockquote"},(0,l.a)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"TGrid Logo",placeholder:"blur",src:c})}),"\n",(0,t.jsx)("span",{style:{display:"flex",flexDirection:"row"},children:[["MIT License","https://img.shields.io/badge/license-MIT-blue.svg","https://github.com/samchon/tgrid/blob/master/LICENSE"],["NPM Version","https://img.shields.io/npm/v/tgrid.svg","https://www.npmjs.com/package/tgrid"],["NPM Downloads","https://img.shields.io/npm/dm/tgrid.svg","https://www.npmjs.com/package/tgrid"],["Build Status","https://github.com/samchon/tgrid/workflows/build/badge.svg","https://github.com/samchon/tgrid/actions?query=workflow%3Abuild"],["Guide Documents","https://img.shields.io/badge/guide-documents-forestgreen","https://tgrid.io/docs/"]].map(e=>{let[o,n,r]=e;return(0,t.jsx)(s.a,{href:r,style:{marginTop:"30px",marginRight:"6px"},children:(0,t.jsx)(s.img,{src:n,alt:o})})})}),"\n",(0,t.jsx)(s.p,{children:"TypeScript Grid Computing Framework."}),"\n",(0,t.jsxs)(s.p,{children:["TypeScript RPC (Remote Procedure Call) framework for ",(0,t.jsx)(s.code,{children:"WebSocket"})," and ",(0,t.jsx)(s.code,{children:"Worker"})," protocols."]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"WebSocket"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"Worker"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"SharedWorker"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"NestJS"})}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Also, easy to develop complicated network system like grid computing."}),"\n",(0,t.jsx)(s.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-function-call/src/client.ts",children:(0,t.jsxs)(s.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,t.jsx)(s.span,{className:"line",children:" "}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// CONNECT TO WEBSOCKET SERVER"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,t.jsx)(s.span,{className:"line",children:(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,t.jsx)(s.span,{className:"line",children:" "}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// CALL REMOTE FUNCTIONS"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".minus"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"7"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".multiply"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".divide"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 2.5"})]}),"\n",(0,t.jsx)(s.span,{className:"line",children:(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,t.jsx)(s.span,{className:"line",children:(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,t.jsx)(s.span,{className:"line",children:" "}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"multiply"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"divide"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,t.jsx)(s.span,{className:"line",children:(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,t.jsxs)(s.code,{"data-language":"bash","data-theme":"default",children:[(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"2.5"})]})]})}),"\n"]})]})}let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:s}=Object.assign({},(0,l.a)(),e.components);return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)},pageOpts:{filePath:"pages/docs/index.mdx",route:"/docs",timestamp:1724046954e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Index",headings:a},pageNextRoute:"/docs",nextraLayout:r.ZP,themeConfig:i.Z};var k=(0,n.j)(d)},2069:function(e,s,o){"use strict";var t=o(5893);o(7294),s.Z={logo:()=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,t.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,t.jsxs)("span",{children:["Released under the MIT License.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,t.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,t.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(e=>({rel:"icon",type:"image/png",sizes:"".concat(e,"x").concat(e),href:"/favicon/favicon-".concat(e,"x").concat(e,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(e){e.O(0,[6235,2888,9774,179],function(){return e(e.s=2083)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs-44b3595b3318091b.js b/_next/static/chunks/pages/docs-44b3595b3318091b.js deleted file mode 100644 index 604f9e0..0000000 --- a/_next/static/chunks/pages/docs-44b3595b3318091b.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[172],{2083:function(e,s,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs",function(){return o(5954)}])},5954:function(e,s,o){"use strict";o.r(s),o.d(s,{__toc:function(){return a},default:function(){return k}});var t=o(5893),n=o(2673),r=o(1334),i=o(2069);o(9488);var l=o(2643),c={src:"/_next/static/media/logo.930e096a.png",height:638,width:1501,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAYAAACuyE5IAAAAbklEQVR4nAFjAJz/AZqkuz8GExOP9O/0ziAZE4kCCw8bAP/+/QoHBAP/AADYAYicu8cmKiA4+/TyAOnp9GoiKSjq+Pf2GAUDA//9///BAZmowEr6CgqJDAUBzwP9CYIADhIJ+/v8AP//AAP7/v/le6cuV1gs/eUAAAAASUVORK5CYII=",blurWidth:8,blurHeight:3};let a=[];function h(e){let s=Object.assign({p:"p",img:"img",a:"a",code:"code",ul:"ul",li:"li",pre:"pre",span:"span",blockquote:"blockquote"},(0,l.a)(),e.components);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"TGrid Logo",placeholder:"blur",src:c})}),"\n",(0,t.jsx)("span",{style:{display:"flex",flexDirection:"row"},children:[["MIT License","https://img.shields.io/badge/license-MIT-blue.svg","https://github.com/samchon/tgrid/blob/master/LICENSE"],["NPM Version","https://img.shields.io/npm/v/tgrid.svg","https://www.npmjs.com/package/tgrid"],["NPM Downloads","https://img.shields.io/npm/dm/tgrid.svg","https://www.npmjs.com/package/tgrid"],["Build Status","https://github.com/samchon/tgrid/workflows/build/badge.svg","https://github.com/samchon/tgrid/actions?query=workflow%3Abuild"],["Guide Documents","https://img.shields.io/badge/guide-documents-forestgreen","https://tgrid.io/docs/"]].map(e=>{let[o,n,r]=e;return(0,t.jsx)(s.a,{href:r,style:{marginTop:"30px",marginRight:"6px"},children:(0,t.jsx)(s.img,{src:n,alt:o})})})}),"\n",(0,t.jsx)(s.p,{children:"TypeScript Grid Computing Framework."}),"\n",(0,t.jsxs)(s.p,{children:["TypeScript RPC (Remote Procedure Call) framework for ",(0,t.jsx)(s.code,{children:"WebSocket"})," and ",(0,t.jsx)(s.code,{children:"Worker"})," protocols."]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"WebSocket"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"Worker"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"SharedWorker"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"NestJS"})}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Also, easy to develop complicated network system like grid computing."}),"\n",(0,t.jsx)(s.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-function-call/src/client.ts",children:(0,t.jsxs)(s.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,t.jsx)(s.span,{className:"line",children:" "}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// CONNECT TO WEBSOCKET SERVER"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,t.jsx)(s.span,{className:"line",children:(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,t.jsx)(s.span,{className:"line",children:" "}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// CALL REMOTE FUNCTIONS"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".minus"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"7"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".multiply"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".divide"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 2.5"})]}),"\n",(0,t.jsx)(s.span,{className:"line",children:(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,t.jsx)(s.span,{className:"line",children:(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,t.jsx)(s.span,{className:"line",children:" "}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"multiply"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"divide"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,t.jsx)(s.span,{className:"line",children:(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,t.jsxs)(s.blockquote,{children:["\n",(0,t.jsx)(s.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,t.jsxs)(s.code,{"data-language":"bash","data-theme":"default",children:[(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,t.jsxs)(s.span,{className:"line",children:[(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,t.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"2.5"})]})]})}),"\n"]})]})}let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:s}=Object.assign({},(0,l.a)(),e.components);return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)},pageOpts:{filePath:"pages/docs/index.mdx",route:"/docs",timestamp:1722478373e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Index",headings:a},pageNextRoute:"/docs",nextraLayout:r.ZP,themeConfig:i.Z};var k=(0,n.j)(d)},2069:function(e,s,o){"use strict";var t=o(5893);o(7294),s.Z={logo:()=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,t.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,t.jsxs)("span",{children:["Released under the MIT License.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,t.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,t.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(e=>({rel:"icon",type:"image/png",sizes:"".concat(e,"x").concat(e),href:"/favicon/favicon-".concat(e,"x").concat(e,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(e){e.O(0,[235,888,774,179],function(){return e(e.s=2083)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/examples/nestjs-websocket-5144f71cd7f75305.js b/_next/static/chunks/pages/docs/examples/nestjs-websocket-5144f71cd7f75305.js new file mode 100644 index 0000000..cca10f2 --- /dev/null +++ b/_next/static/chunks/pages/docs/examples/nestjs-websocket-5144f71cd7f75305.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6316],{5830:function(s,e,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/examples/nestjs-websocket",function(){return o(947)}])},947:function(s,e,o){"use strict";o.r(e),o.d(e,{__toc:function(){return a}});var r=o(5893),l=o(2673),n=o(1334),i=o(2069);o(9488);var t=o(2643),c=o(2154);let a=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Server Program",id:"server-program"},{depth:3,value:"Bootstrap",id:"bootstrap"},{depth:3,value:"Controller",id:"controller"},{depth:3,value:"Software Development Kit",id:"software-development-kit"},{depth:2,value:"Client Program",id:"client-program"},{depth:2,value:"Next Chapter",id:"next-chapter"}];function h(s){let e=Object.assign({h2:"h2",p:"p",code:"code",ul:"ul",li:"li",a:"a",strong:"strong",pre:"pre",span:"span",h3:"h3",blockquote:"blockquote"},(0,t.a)(),s.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,r.jsxs)(e.p,{children:["If you develop websocket application, I recommend integrate ",(0,r.jsx)(e.code,{children:"TGrid"})," with ",(0,r.jsx)(e.code,{children:"NestJS"})," / ",(0,r.jsx)(e.code,{children:"Nestia"}),"."]}),"\n",(0,r.jsxs)(e.p,{children:["It's because you can manage WebSocket API endpoints much effectively and easily by ",(0,r.jsx)(e.code,{children:"NestJS"})," controller patterns. Also, you can make your server to support both HTTP and WebSocket protocols at the same time. NestJS controllers are compatible with both HTTP and WebSocket operations."]}),"\n",(0,r.jsxs)(e.p,{children:["Furthermore, you can generate SDK (Software Development Kit) library for your client application through ",(0,r.jsx)(e.code,{children:"Nestia"}),". With the automatically generated SDK, client developers no more need to write the WebSocket connection and RPC (Remote Procedure Call) codes manually, so that the client development becomes much easier and safer."]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["References","\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"https://nestia.io/docs/setup/",children:"Nestia > Guide Documents > Setup"})}),"\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"https://nestia.io/docs/core/WebSocketRoute/",children:"Nestia > Guide Documents > WebSocketRoute"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(c.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Demonstration"})}),(0,r.jsxs)(e.p,{children:["You can run the example program on ",(0,r.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.nestjs"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]}),"\n",(0,r.jsx)(e.h2,{id:"server-program",children:"Server Program"}),"\n",(0,r.jsx)(e.h3,{id:"bootstrap",children:"Bootstrap"}),"\n",(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/bootstrap.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketAdaptor } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/core"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { INestApplication } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/common"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { NestFactory } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/core"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CalculateModule } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./calculate.module"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"bootstrap"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"INestApplication"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"app"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"INestApplication"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"NestFactory"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".create"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(CalculateModule);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketAdaptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".upgrade"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(app);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"app"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".listen"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"0.0.0.0"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" app;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})}),"\n",(0,r.jsxs)(e.p,{children:["To integrate ",(0,r.jsx)(e.code,{children:"TGrid"})," with ",(0,r.jsx)(e.code,{children:"NestJS"}),", you have to upgrade the NestJS application like above."]}),"\n",(0,r.jsxs)(e.p,{children:["Just call the ",(0,r.jsx)(e.a,{href:"https://nestia.io/api/classes/WebSocketAdaptor.html#upgrade",children:(0,r.jsx)(e.code,{children:"WebSocketAdaptor.upgrade()"})}),", then you can utilize ",(0,r.jsx)(e.code,{children:"TGrid"})," in the ",(0,r.jsx)(e.code,{children:"NestJS"})," server."]}),"\n",(0,r.jsx)(e.h3,{id:"controller",children:"Controller"}),"\n",(0,r.jsxs)(c.mQ,{items:["Controller","Module","Providers","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.controller.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { TypedRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketRoute } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/core"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Controller } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/common"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketAcceptor } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"@"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"calculate"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculateController"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"TypedRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Get"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Health check OK"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"() header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"() listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote client"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider from remote client"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.module.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"1",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Module } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/common"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CalculateController } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./calculate.controller"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"@"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Module"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" controllers"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [CalculateController]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"})"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculateModule"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {}"})]})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.p,{children:["As you can see from the above code, ",(0,r.jsx)(e.code,{children:"CalculateController"})," has many API operations, including both HTTP and WebSocket protocols. The ",(0,r.jsx)(e.code,{children:"CalculatorController.health()"})," is an HTTP Get method operation, and the others are all WebSocket operations."]}),"\n",(0,r.jsxs)(e.p,{children:["When defining WebSocket operation, attach ",(0,r.jsx)(e.code,{children:"@WebSocketRoute()"})," decorator to the target controller method with ",(0,r.jsx)(e.code,{children:"path"})," specification. Also, the controller method must have the ",(0,r.jsx)(e.code,{children:"@WebSocketRoute.Acceptor()"})," decorated parameter with ",(0,r.jsx)(e.a,{href:"../features/websocket/#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})})," type, because you have to determine whether to ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#accept",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.accept()"})})," the client's connection or ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#reject",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.reject()"})})," it."]}),"\n",(0,r.jsxs)(e.p,{children:["With such controller patterned WebSocket operation, you can manage WebSocket API endpoints much effectively and easily. Also, you can generate SDK (Software Development Kit) library for your client application through ",(0,r.jsx)(e.code,{children:"Nestia"}),". Let's see how to generate SDK library, and how it would be looked like in the next section."]}),"\n",(0,r.jsxs)(c.UW,{type:"info",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Ping"})}),(0,r.jsx)(e.p,{children:"If client comes from web browser, the connection would be closed automatically after a certain period of time if there's no signal. In the Google Chrome case, it automatically closes the connection after 60 seconds."}),(0,r.jsxs)(e.p,{children:["To make the connection alive forcibly, you can ping a signal to the remote client repeatedly in the specified interval by calling the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#ping",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.ping()"})})," method. Therefore, when developing WebSocket server application, consider to calling the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#ping",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.ping()"})})," method after ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#accept",children:"accepting"})," the connection."]})]}),"\n",(0,r.jsx)(e.h3,{id:"software-development-kit",children:"Software Development Kit"}),"\n",(0,r.jsxs)(c.mQ,{items:["SDK Function","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/functional/calculate.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@packageDocumentation"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@module"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"api.functional.calculate"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//================================================================"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" Primitive } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { PlainFetcher } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher/lib/PlainFetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" GET /calculate/health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"PlainFetcher"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".fetch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Primitive"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" method"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"GET"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" request"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" response"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"application/json"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" encrypted"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" status"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsx)(e.code,{"data-language":"bash","data-theme":"default",children:(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npx"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"sdk"})]})})}),"\n",(0,r.jsxs)(e.p,{children:["When you run ",(0,r.jsx)(e.code,{children:"npx nestia sdk"})," command, SDK (Software Development Kit) library be generated."]}),"\n",(0,r.jsxs)(e.p,{children:["Above file is one of the SDK library corresponding to the ",(0,r.jsx)(e.a,{href:"#nestjs-controller",children:(0,r.jsx)(e.code,{children:"CalculateController"})})," class we've seen in the previous ",(0,r.jsx)(e.a,{href:"#nestjs-controller",children:"NestJS Controller"})," section. Client developers can utilize the automatically generated SDK functions to connect to the WebSocket server, and interact it type safely. Also, HTTP operation is compatible with the WebSocket operation."]}),"\n",(0,r.jsx)(e.p,{children:"Let's see how client developer utilizes the SDK library in the next section."}),"\n",(0,r.jsx)(e.h2,{id:"client-program",children:"Client Program"}),"\n",(0,r.jsxs)(c.mQ,{items:["Main Program","SDK Function","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.test.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" api "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"testCalculateSdk"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// HTTP PROTOCOL"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//---"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// CALL HEALTH CHECK API"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"api"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"functional"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"calculate"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"http://127.0.0.1:37000"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// WEBSOCKET PROTOCOL"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//---"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PROVIDER FOR WEBSOCKET SERVER"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// DO CONNECT"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"api"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"functional"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"calculate"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" headers"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// CALL FUNCTIONS OF REMOTE SERVER"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// TERMINATE"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/functional/calculate.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@packageDocumentation"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@module"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"api.functional.calculate"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//================================================================"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" Primitive } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { PlainFetcher } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher/lib/PlainFetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" GET /calculate/health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"PlainFetcher"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".fetch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Primitive"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" method"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"GET"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" request"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" response"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"application/json"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" encrypted"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" status"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestFactory] Starting Nest application..."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [InstanceLoader] CalculateModule dependencies initialized +5ms"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [RoutesResolver] CalculateController {"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"/calculate}:"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"+5ms"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestApplication] Nest application successfully started +2ms"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"check"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"OK"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,r.jsxs)(e.p,{children:["Do import the SDK, and enjoy the type-safe and easy-to-use ",(0,r.jsx)(e.a,{href:"../remote-procedure-call",children:"RPC (Remote Procedure Call)"}),"."]}),"\n",(0,r.jsxs)(e.p,{children:["Looking at the above code, the client application is calling a function of the automatically generated SDK (Software Development Kit) library, so that connecting to the websocket server, and starting interaction through RPC (Remote Procedure Call) concept with ",(0,r.jsx)(e.a,{href:"../components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})}),"<",(0,r.jsx)(e.code,{children:"ICompositeCalculator"}),"> instance."]}),"\n",(0,r.jsxs)(e.p,{children:['Doesn\'t the "SDK based development" seems much easier and safer than ',(0,r.jsx)(e.a,{href:"../features/websocket/#native-classes",children:"native websocket classes"})," case? This is the reason why I've recommended to combine with the ",(0,r.jsx)(e.code,{children:"NestJS"})," when using websocket protocol based network system."]}),"\n",(0,r.jsxs)(e.p,{children:["This is the integration of ",(0,r.jsx)(e.code,{children:"TGrid"})," with ",(0,r.jsx)(e.code,{children:"NestJS"}),"."]}),"\n",(0,r.jsx)(e.h2,{id:"next-chapter",children:"Next Chapter"}),"\n",(0,r.jsxs)(e.p,{children:["We've learned how to utilize ",(0,r.jsx)(e.code,{children:"TGrid"})," with many examples."]}),"\n",(0,r.jsxs)(e.p,{children:["By the way, don't you want to know how to utilize ",(0,r.jsx)(e.code,{children:"TGrid"})," in the real project?"]}),"\n",(0,r.jsxs)(e.p,{children:["In the next chapter, we'll see how ",(0,r.jsx)(e.code,{children:"TGrid"})," be utilized in the real world."]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["Learn from Projects","\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"../projects/chat",children:"Chat Application"})}),"\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"../projects/market",children:"Grid Market"})}),"\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"../projects/mutex",children:"Mutex Server"})}),"\n"]}),"\n"]}),"\n"]})]})}let x={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,r.jsx)(e,{...s,children:(0,r.jsx)(h,{...s})}):h(s)},pageOpts:{filePath:"pages/docs/examples/nestjs-websocket.mdx",route:"/docs/examples/nestjs-websocket",timestamp:1724046954e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Nestjs Websocket",headings:a},pageNextRoute:"/docs/examples/nestjs-websocket",nextraLayout:n.ZP,themeConfig:i.Z};e.default=(0,l.j)(x)},2069:function(s,e,o){"use strict";var r=o(5893);o(7294),e.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[6235,2888,9774,179],function(){return s(s.s=5830)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/examples/nestjs-websocket-b5b36f16e327f0bb.js b/_next/static/chunks/pages/docs/examples/nestjs-websocket-b5b36f16e327f0bb.js deleted file mode 100644 index 0a6f017..0000000 --- a/_next/static/chunks/pages/docs/examples/nestjs-websocket-b5b36f16e327f0bb.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[316],{5830:function(s,e,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/examples/nestjs-websocket",function(){return o(947)}])},947:function(s,e,o){"use strict";o.r(e),o.d(e,{__toc:function(){return a}});var r=o(5893),l=o(2673),n=o(1334),i=o(2069);o(9488);var t=o(2643),c=o(2154);let a=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Server Program",id:"server-program"},{depth:3,value:"Bootstrap",id:"bootstrap"},{depth:3,value:"Controller",id:"controller"},{depth:3,value:"Software Development Kit",id:"software-development-kit"},{depth:2,value:"Client Program",id:"client-program"},{depth:2,value:"Next Chapter",id:"next-chapter"}];function h(s){let e=Object.assign({h2:"h2",p:"p",code:"code",ul:"ul",li:"li",a:"a",strong:"strong",pre:"pre",span:"span",h3:"h3",blockquote:"blockquote"},(0,t.a)(),s.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,r.jsxs)(e.p,{children:["If you develop websocket application, I recommend integrate ",(0,r.jsx)(e.code,{children:"TGrid"})," with ",(0,r.jsx)(e.code,{children:"NestJS"})," / ",(0,r.jsx)(e.code,{children:"Nestia"}),"."]}),"\n",(0,r.jsxs)(e.p,{children:["It's because you can manage WebSocket API endpoints much effectively and easily by ",(0,r.jsx)(e.code,{children:"NestJS"})," controller patterns. Also, you can make your server to support both HTTP and WebSocket protocols at the same time. NestJS controllers are compatible with both HTTP and WebSocket operations."]}),"\n",(0,r.jsxs)(e.p,{children:["Furthermore, you can generate SDK (Software Development Kit) library for your client application through ",(0,r.jsx)(e.code,{children:"Nestia"}),". With the automatically generated SDK, client developers no more need to write the WebSocket connection and RPC (Remote Procedure Call) codes manually, so that the client development becomes much easier and safer."]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["References","\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"https://nestia.io/docs/setup/",children:"Nestia > Guide Documents > Setup"})}),"\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"https://nestia.io/docs/core/WebSocketRoute/",children:"Nestia > Guide Documents > WebSocketRoute"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(c.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Demonstration"})}),(0,r.jsxs)(e.p,{children:["You can run the example program on ",(0,r.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.nestjs"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]}),"\n",(0,r.jsx)(e.h2,{id:"server-program",children:"Server Program"}),"\n",(0,r.jsx)(e.h3,{id:"bootstrap",children:"Bootstrap"}),"\n",(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/bootstrap.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketAdaptor } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/core"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { INestApplication } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/common"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { NestFactory } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/core"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CalculateModule } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./calculate.module"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"bootstrap"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"INestApplication"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"app"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"INestApplication"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"NestFactory"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".create"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(CalculateModule);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketAdaptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".upgrade"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(app);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"app"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".listen"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"0.0.0.0"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" app;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})}),"\n",(0,r.jsxs)(e.p,{children:["To integrate ",(0,r.jsx)(e.code,{children:"TGrid"})," with ",(0,r.jsx)(e.code,{children:"NestJS"}),", you have to upgrade the NestJS application like above."]}),"\n",(0,r.jsxs)(e.p,{children:["Just call the ",(0,r.jsx)(e.a,{href:"https://nestia.io/api/classes/WebSocketAdaptor.html#upgrade",children:(0,r.jsx)(e.code,{children:"WebSocketAdaptor.upgrade()"})}),", then you can utilize ",(0,r.jsx)(e.code,{children:"TGrid"})," in the ",(0,r.jsx)(e.code,{children:"NestJS"})," server."]}),"\n",(0,r.jsx)(e.h3,{id:"controller",children:"Controller"}),"\n",(0,r.jsxs)(c.mQ,{items:["Controller","Module","Providers","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.controller.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { TypedRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketRoute } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/core"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Controller } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/common"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketAcceptor } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"@"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"calculate"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculateController"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"TypedRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Get"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Health check OK"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"() header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"() listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote client"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider from remote client"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.module.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"1",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Module } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/common"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CalculateController } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./calculate.controller"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"@"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Module"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" controllers"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [CalculateController]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"})"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculateModule"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {}"})]})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.p,{children:["As you can see from the above code, ",(0,r.jsx)(e.code,{children:"CalculateController"})," has many API operations, including both HTTP and WebSocket protocols. The ",(0,r.jsx)(e.code,{children:"CalculatorController.health()"})," is an HTTP Get method operation, and the others are all WebSocket operations."]}),"\n",(0,r.jsxs)(e.p,{children:["When defining WebSocket operation, attach ",(0,r.jsx)(e.code,{children:"@WebSocketRoute()"})," decorator to the target controller method with ",(0,r.jsx)(e.code,{children:"path"})," specification. Also, the controller method must have the ",(0,r.jsx)(e.code,{children:"@WebSocketRoute.Acceptor()"})," decorated parameter with ",(0,r.jsx)(e.a,{href:"../features/websocket/#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})})," type, because you have to determine whether to ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#accept",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.accept()"})})," the client's connection or ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#reject",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.reject()"})})," it."]}),"\n",(0,r.jsxs)(e.p,{children:["With such controller patterned WebSocket operation, you can manage WebSocket API endpoints much effectively and easily. Also, you can generate SDK (Software Development Kit) library for your client application through ",(0,r.jsx)(e.code,{children:"Nestia"}),". Let's see how to generate SDK library, and how it would be looked like in the next section."]}),"\n",(0,r.jsxs)(c.UW,{type:"info",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Ping"})}),(0,r.jsx)(e.p,{children:"If client comes from web browser, the connection would be closed automatically after a certain period of time if there's no signal. In the Google Chrome case, it automatically closes the connection after 60 seconds."}),(0,r.jsxs)(e.p,{children:["To make the connection alive forcibly, you can ping a signal to the remote client repeatedly in the specified interval by calling the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#ping",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.ping()"})})," method. Therefore, when developing WebSocket server application, consider to calling the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#ping",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.ping()"})})," method after ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#accept",children:"accepting"})," the connection."]})]}),"\n",(0,r.jsx)(e.h3,{id:"software-development-kit",children:"Software Development Kit"}),"\n",(0,r.jsxs)(c.mQ,{items:["SDK Function","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/functional/calculate.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@packageDocumentation"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@module"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"api.functional.calculate"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//================================================================"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" Primitive } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { PlainFetcher } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher/lib/PlainFetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" GET /calculate/health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"PlainFetcher"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".fetch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Primitive"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" method"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"GET"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" request"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" response"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"application/json"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" encrypted"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" status"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsx)(e.code,{"data-language":"bash","data-theme":"default",children:(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npx"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"sdk"})]})})}),"\n",(0,r.jsxs)(e.p,{children:["When you run ",(0,r.jsx)(e.code,{children:"npx nestia sdk"})," command, SDK (Software Development Kit) library be generated."]}),"\n",(0,r.jsxs)(e.p,{children:["Above file is one of the SDK library corresponding to the ",(0,r.jsx)(e.a,{href:"#nestjs-controller",children:(0,r.jsx)(e.code,{children:"CalculateController"})})," class we've seen in the previous ",(0,r.jsx)(e.a,{href:"#nestjs-controller",children:"NestJS Controller"})," section. Client developers can utilize the automatically generated SDK functions to connect to the WebSocket server, and interact it type safely. Also, HTTP operation is compatible with the WebSocket operation."]}),"\n",(0,r.jsx)(e.p,{children:"Let's see how client developer utilizes the SDK library in the next section."}),"\n",(0,r.jsx)(e.h2,{id:"client-program",children:"Client Program"}),"\n",(0,r.jsxs)(c.mQ,{items:["Main Program","SDK Function","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.test.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" api "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"testCalculateSdk"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// HTTP PROTOCOL"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//---"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// CALL HEALTH CHECK API"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"api"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"functional"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"calculate"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"http://127.0.0.1:37000"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// WEBSOCKET PROTOCOL"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//---"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PROVIDER FOR WEBSOCKET SERVER"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// DO CONNECT"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"api"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"functional"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"calculate"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" headers"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// CALL FUNCTIONS OF REMOTE SERVER"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// TERMINATE"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/functional/calculate.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@packageDocumentation"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@module"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"api.functional.calculate"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//================================================================"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" Primitive } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { PlainFetcher } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher/lib/PlainFetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" GET /calculate/health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"PlainFetcher"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".fetch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Primitive"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" method"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"GET"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" request"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" response"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"application/json"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" encrypted"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" status"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestFactory] Starting Nest application..."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [InstanceLoader] CalculateModule dependencies initialized +5ms"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [RoutesResolver] CalculateController {"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"/calculate}:"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"+5ms"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestApplication] Nest application successfully started +2ms"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"check"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"OK"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,r.jsxs)(e.p,{children:["Do import the SDK, and enjoy the type-safe and easy-to-use ",(0,r.jsx)(e.a,{href:"../remote-procedure-call",children:"RPC (Remote Procedure Call)"}),"."]}),"\n",(0,r.jsxs)(e.p,{children:["Looking at the above code, the client application is calling a function of the automatically generated SDK (Software Development Kit) library, so that connecting to the websocket server, and starting interaction through RPC (Remote Procedure Call) concept with ",(0,r.jsx)(e.a,{href:"../components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})}),"<",(0,r.jsx)(e.code,{children:"ICompositeCalculator"}),"> instance."]}),"\n",(0,r.jsxs)(e.p,{children:['Doesn\'t the "SDK based development" seems much easier and safer than ',(0,r.jsx)(e.a,{href:"../features/websocket/#native-classes",children:"native websocket classes"})," case? This is the reason why I've recommended to combine with the ",(0,r.jsx)(e.code,{children:"NestJS"})," when using websocket protocol based network system."]}),"\n",(0,r.jsxs)(e.p,{children:["This is the integration of ",(0,r.jsx)(e.code,{children:"TGrid"})," with ",(0,r.jsx)(e.code,{children:"NestJS"}),"."]}),"\n",(0,r.jsx)(e.h2,{id:"next-chapter",children:"Next Chapter"}),"\n",(0,r.jsxs)(e.p,{children:["We've learned how to utilize ",(0,r.jsx)(e.code,{children:"TGrid"})," with many examples."]}),"\n",(0,r.jsxs)(e.p,{children:["By the way, don't you want to know how to utilize ",(0,r.jsx)(e.code,{children:"TGrid"})," in the real project?"]}),"\n",(0,r.jsxs)(e.p,{children:["In the next chapter, we'll see how ",(0,r.jsx)(e.code,{children:"TGrid"})," be utilized in the real world."]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["Learn from Projects","\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"../projects/chat",children:"Chat Application"})}),"\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"../projects/market",children:"Grid Market"})}),"\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"../projects/mutex",children:"Mutex Server"})}),"\n"]}),"\n"]}),"\n"]})]})}let x={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,r.jsx)(e,{...s,children:(0,r.jsx)(h,{...s})}):h(s)},pageOpts:{filePath:"pages/docs/examples/nestjs-websocket.mdx",route:"/docs/examples/nestjs-websocket",timestamp:1722478373e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Nestjs Websocket",headings:a},pageNextRoute:"/docs/examples/nestjs-websocket",nextraLayout:n.ZP,themeConfig:i.Z};e.default=(0,l.j)(x)},2069:function(s,e,o){"use strict";var r=o(5893);o(7294),e.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[235,888,774,179],function(){return s(s.s=5830)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/examples/object-oriented-network-1f34ee90000a8355.js b/_next/static/chunks/pages/docs/examples/object-oriented-network-1f34ee90000a8355.js new file mode 100644 index 0000000..2d33e1f --- /dev/null +++ b/_next/static/chunks/pages/docs/examples/object-oriented-network-1f34ee90000a8355.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2251],{9473:function(s,e,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/examples/object-oriented-network",function(){return o(9501)}])},9501:function(s,e,o){"use strict";o.r(e),o.d(e,{__toc:function(){return h},default:function(){return d}});var r=o(5893),l=o(2673),n=o(1334),i=o(2069);o(9488);var t=o(2643),c={src:"/_next/static/media/object-oriented-network.e07dc61d.png",height:474,width:800,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAbklEQVR42k2J7Q6CMAwA9/6PZ0I0Rg0fwiC1dix0nbPLGP+45P7cmVKKqiLitrFqFgkppVpMHTnnruutHek736+XYXgTkSFaObj22fRtE38sEqUao2Fm1f8HFsQ5BAeL9d4fo5zwq3s9buM0AcAOugRxO7EjyVgAAAAASUVORK5CYII=",blurWidth:8,blurHeight:5},a=o(2154);let h=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Client Program",id:"client-program"},{depth:2,value:"Server Programs",id:"server-programs"},{depth:2,value:"Next Chapter",id:"next-chapter"}];function x(s){let e=Object.assign({h2:"h2",p:"p",img:"img",code:"code",a:"a",strong:"strong",pre:"pre",span:"span",blockquote:"blockquote",ul:"ul",li:"li"},(0,t.a)(),s.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,r.jsx)(e.p,{children:(0,r.jsx)(e.img,{alt:"Object Oriented Network",placeholder:"blur",src:c})}),"\n",(0,r.jsx)(e.p,{children:"Each remote system is an object."}),"\n",(0,r.jsxs)(e.p,{children:["With ",(0,r.jsx)(e.code,{children:"TGrid"}),", you can easily develop complicated network system, by considering each network system as an object, and interacting with each other through ",(0,r.jsx)(e.a,{href:"../remote-procedure-call",children:"RPC (Remote Procedure Call)"}),". ",(0,r.jsx)(e.code,{children:"TGrid"}),' defines this concept as "Object Oriented Network".']}),"\n",(0,r.jsxs)(e.p,{children:["In this chapter, we'll remake the composite calculator system of ",(0,r.jsx)(e.a,{href:"./remote-object-call",children:"Remote Object Call"}),' chapter again, but replace scientific and statistics calculators to remote system. Therefore, the composite calculator system will be consisted of three remote servers: "composite server", "scientific server" and "statistics server".']}),"\n",(0,r.jsxs)(e.p,{children:["Let's see how ",(0,r.jsx)(e.code,{children:"TGrd"}),' implements the "Object Oriented Network".']}),"\n",(0,r.jsxs)(a.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Demonstration"})}),(0,r.jsxs)(e.p,{children:["You can run the example program on ",(0,r.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.object-oriented-network"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]}),"\n",(0,r.jsx)(e.h2,{id:"client-program",children:"Client Program"}),"\n",(0,r.jsxs)(a.mQ,{items:["Main Program","Interfaces"],children:[(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"__filename"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"js"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"workerClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"process"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"__dirname"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/composite."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,r.jsx)(e.h2,{id:"server-programs",children:"Server Programs"}),"\n",(0,r.jsxs)(a.mQ,{items:["Composite Server","Scientific Server","Statistics Server","Providers","Interfaces"],children:[(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/composite.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"__filename"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"js"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// `CompositeCalculator` has two additional properties"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"///"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// - `scientific` from remote worker server"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// - `statistics` from remote worker server"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// connect to remote worker server"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" <"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"object"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" file"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"process"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(file);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getHeader"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// constructor provider combining with remote worker-servers"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">>("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"__dirname"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/scientific."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">>("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"__dirname"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/statistics."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((exp) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".error"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(exp);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"process"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".exit"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/scientific.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getHeader"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((exp) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".error"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(exp);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"process"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".exit"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/statistics.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getHeader"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((exp) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".error"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(exp);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"process"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".exit"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.p,{children:["Compose ",(0,r.jsx)(e.a,{href:"../features/components/#provider",children:(0,r.jsx)(e.code,{children:"Provider"})})," with ",(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})})," of another remote system."]}),"\n",(0,r.jsxs)(e.p,{children:['Looking at the "Composite Server", it is providing ',(0,r.jsx)(e.code,{children:"CompositeCalculator"}),' to the "Client Program". By the way, the ',(0,r.jsx)(e.code,{children:"CompositeCalculator"})," is different with before chapter ",(0,r.jsx)(e.a,{href:"./remote-object-call",children:"Remote Object Call"}),". Properties ",(0,r.jsx)(e.code,{children:"scientific"})," and ",(0,r.jsx)(e.code,{children:"statistics"})," are composed with ",(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})})," of another remote system."]}),"\n",(0,r.jsxs)(e.p,{children:['Therefore, if "Client Program" calls ',(0,r.jsx)(e.code,{children:"Driver.scientific.sqrt(2)"}),' function, it will be forwarded to the "Scientific Server", and "Composite Server" only intermediates the remote function call (network communication) between "Client Program" and "Scientific Server".']}),"\n",(0,r.jsxs)(e.p,{children:['This is the "Object Oriented Network" of ',(0,r.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,r.jsx)(e.h2,{id:"next-chapter",children:"Next Chapter"}),"\n",(0,r.jsxs)(e.p,{children:["At next chapter, we'll learn how to integrate ",(0,r.jsx)(e.code,{children:"TGrid"})," with ",(0,r.jsx)(e.code,{children:"NestJS"}),"."]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"./nestjs-integration",children:"Learn from Examples > NestJS Integration"})}),"\n"]}),"\n",(0,r.jsxs)(a.mQ,{items:["Server Program","Client Program","S/W Development Kit"],children:[(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.controller.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { TypedRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketRoute } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/core"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Controller } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/common"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketAcceptor } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"@"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"calculate"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculateController"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"TypedRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Get"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Health check OK"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"() header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"() listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote client"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider from remote client"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.test.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" api "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"testCalculateSdk"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// HTTP PROTOCOL"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//---"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// CALL HEALTH CHECK API"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"api"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"functional"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"calculate"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"http://127.0.0.1:37000"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// WEBSOCKET PROTOCOL"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//---"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PROVIDER FOR WEBSOCKET SERVER"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// DO CONNECT"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"api"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"functional"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"calculate"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" headers"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// CALL FUNCTIONS OF REMOTE SERVER"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// TERMINATE"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/functional/calculate.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@packageDocumentation"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@module"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"api.functional.calculate"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//================================================================"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" Primitive } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { PlainFetcher } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher/lib/PlainFetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" GET /calculate/health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"PlainFetcher"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".fetch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Primitive"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" method"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"GET"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" request"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" response"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"application/json"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" encrypted"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" status"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]})]})}let k={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,r.jsx)(e,{...s,children:(0,r.jsx)(x,{...s})}):x(s)},pageOpts:{filePath:"pages/docs/examples/object-oriented-network.mdx",route:"/docs/examples/object-oriented-network",timestamp:1724046954e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Object Oriented Network",headings:h},pageNextRoute:"/docs/examples/object-oriented-network",nextraLayout:n.ZP,themeConfig:i.Z};var d=(0,l.j)(k)},2069:function(s,e,o){"use strict";var r=o(5893);o(7294),e.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[6235,2888,9774,179],function(){return s(s.s=9473)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/examples/object-oriented-network-cbf127b32384edfd.js b/_next/static/chunks/pages/docs/examples/object-oriented-network-cbf127b32384edfd.js deleted file mode 100644 index 27f7489..0000000 --- a/_next/static/chunks/pages/docs/examples/object-oriented-network-cbf127b32384edfd.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[251],{9473:function(s,e,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/examples/object-oriented-network",function(){return o(9501)}])},9501:function(s,e,o){"use strict";o.r(e),o.d(e,{__toc:function(){return h},default:function(){return d}});var r=o(5893),l=o(2673),n=o(1334),i=o(2069);o(9488);var t=o(2643),c={src:"/_next/static/media/object-oriented-network.e07dc61d.png",height:474,width:800,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAbklEQVR42k2J7Q6CMAwA9/6PZ0I0Rg0fwiC1dix0nbPLGP+45P7cmVKKqiLitrFqFgkppVpMHTnnruutHek736+XYXgTkSFaObj22fRtE38sEqUao2Fm1f8HFsQ5BAeL9d4fo5zwq3s9buM0AcAOugRxO7EjyVgAAAAASUVORK5CYII=",blurWidth:8,blurHeight:5},a=o(2154);let h=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Client Program",id:"client-program"},{depth:2,value:"Server Programs",id:"server-programs"},{depth:2,value:"Next Chapter",id:"next-chapter"}];function x(s){let e=Object.assign({h2:"h2",p:"p",img:"img",code:"code",a:"a",strong:"strong",pre:"pre",span:"span",blockquote:"blockquote",ul:"ul",li:"li"},(0,t.a)(),s.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,r.jsx)(e.p,{children:(0,r.jsx)(e.img,{alt:"Object Oriented Network",placeholder:"blur",src:c})}),"\n",(0,r.jsx)(e.p,{children:"Each remote system is an object."}),"\n",(0,r.jsxs)(e.p,{children:["With ",(0,r.jsx)(e.code,{children:"TGrid"}),", you can easily develop complicated network system, by considering each network system as an object, and interacting with each other through ",(0,r.jsx)(e.a,{href:"../remote-procedure-call",children:"RPC (Remote Procedure Call)"}),". ",(0,r.jsx)(e.code,{children:"TGrid"}),' defines this concept as "Object Oriented Network".']}),"\n",(0,r.jsxs)(e.p,{children:["In this chapter, we'll remake the composite calculator system of ",(0,r.jsx)(e.a,{href:"./remote-object-call",children:"Remote Object Call"}),' chapter again, but replace scientific and statistics calculators to remote system. Therefore, the composite calculator system will be consisted of three remote servers: "composite server", "scientific server" and "statistics server".']}),"\n",(0,r.jsxs)(e.p,{children:["Let's see how ",(0,r.jsx)(e.code,{children:"TGrd"}),' implements the "Object Oriented Network".']}),"\n",(0,r.jsxs)(a.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Demonstration"})}),(0,r.jsxs)(e.p,{children:["You can run the example program on ",(0,r.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.object-oriented-network"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]}),"\n",(0,r.jsx)(e.h2,{id:"client-program",children:"Client Program"}),"\n",(0,r.jsxs)(a.mQ,{items:["Main Program","Interfaces"],children:[(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"__filename"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"js"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"workerClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"process"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"__dirname"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/composite."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,r.jsx)(e.h2,{id:"server-programs",children:"Server Programs"}),"\n",(0,r.jsxs)(a.mQ,{items:["Composite Server","Scientific Server","Statistics Server","Providers","Interfaces"],children:[(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/composite.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"__filename"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"js"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// `CompositeCalculator` has two additional properties"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"///"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// - `scientific` from remote worker server"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// - `statistics` from remote worker server"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// connect to remote worker server"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" <"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"object"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" file"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"process"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(file);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getHeader"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// constructor provider combining with remote worker-servers"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">>("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"__dirname"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/scientific."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">>("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"__dirname"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/statistics."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((exp) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".error"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(exp);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"process"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".exit"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/scientific.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getHeader"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((exp) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".error"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(exp);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"process"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".exit"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/statistics.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getHeader"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((exp) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".error"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(exp);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"process"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".exit"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.p,{children:["Compose ",(0,r.jsx)(e.a,{href:"../features/components/#provider",children:(0,r.jsx)(e.code,{children:"Provider"})})," with ",(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})})," of another remote system."]}),"\n",(0,r.jsxs)(e.p,{children:['Looking at the "Composite Server", it is providing ',(0,r.jsx)(e.code,{children:"CompositeCalculator"}),' to the "Client Program". By the way, the ',(0,r.jsx)(e.code,{children:"CompositeCalculator"})," is different with before chapter ",(0,r.jsx)(e.a,{href:"./remote-object-call",children:"Remote Object Call"}),". Properties ",(0,r.jsx)(e.code,{children:"scientific"})," and ",(0,r.jsx)(e.code,{children:"statistics"})," are composed with ",(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})})," of another remote system."]}),"\n",(0,r.jsxs)(e.p,{children:['Therefore, if "Client Program" calls ',(0,r.jsx)(e.code,{children:"Driver.scientific.sqrt(2)"}),' function, it will be forwarded to the "Scientific Server", and "Composite Server" only intermediates the remote function call (network communication) between "Client Program" and "Scientific Server".']}),"\n",(0,r.jsxs)(e.p,{children:['This is the "Object Oriented Network" of ',(0,r.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,r.jsx)(e.h2,{id:"next-chapter",children:"Next Chapter"}),"\n",(0,r.jsxs)(e.p,{children:["At next chapter, we'll learn how to integrate ",(0,r.jsx)(e.code,{children:"TGrid"})," with ",(0,r.jsx)(e.code,{children:"NestJS"}),"."]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"./nestjs-integration",children:"Learn from Examples > NestJS Integration"})}),"\n"]}),"\n",(0,r.jsxs)(a.mQ,{items:["Server Program","Client Program","S/W Development Kit"],children:[(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.controller.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { TypedRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketRoute } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/core"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Controller } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/common"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketAcceptor } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"@"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"calculate"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculateController"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"TypedRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Get"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Health check OK"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"() header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"() listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote client"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider from remote client"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.test.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" api "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"testCalculateSdk"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// HTTP PROTOCOL"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//---"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// CALL HEALTH CHECK API"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"api"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"functional"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"calculate"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"http://127.0.0.1:37000"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// WEBSOCKET PROTOCOL"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//---"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PROVIDER FOR WEBSOCKET SERVER"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// DO CONNECT"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"api"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"functional"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"calculate"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" headers"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// CALL FUNCTIONS OF REMOTE SERVER"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// TERMINATE"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/functional/calculate.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@packageDocumentation"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@module"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"api.functional.calculate"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//================================================================"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" Primitive } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { PlainFetcher } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher/lib/PlainFetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" GET /calculate/health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"PlainFetcher"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".fetch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Primitive"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" method"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"GET"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" request"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" response"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"application/json"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" encrypted"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" status"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]})]})}let k={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,r.jsx)(e,{...s,children:(0,r.jsx)(x,{...s})}):x(s)},pageOpts:{filePath:"pages/docs/examples/object-oriented-network.mdx",route:"/docs/examples/object-oriented-network",timestamp:1722478373e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Object Oriented Network",headings:h},pageNextRoute:"/docs/examples/object-oriented-network",nextraLayout:n.ZP,themeConfig:i.Z};var d=(0,l.j)(k)},2069:function(s,e,o){"use strict";var r=o(5893);o(7294),e.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[235,888,774,179],function(){return s(s.s=9473)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/examples/remote-function-call-012909a8eb9fe7eb.js b/_next/static/chunks/pages/docs/examples/remote-function-call-012909a8eb9fe7eb.js deleted file mode 100644 index d2a5d93..0000000 --- a/_next/static/chunks/pages/docs/examples/remote-function-call-012909a8eb9fe7eb.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[885],{6616:function(s,e,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/examples/remote-function-call",function(){return o(8394)}])},8394:function(s,e,o){"use strict";o.r(e),o.d(e,{__toc:function(){return a}});var r=o(5893),n=o(2673),l=o(1334),i=o(2069);o(9488);var t=o(2643),c=o(2154);let a=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Client Program",id:"client-program"},{depth:2,value:"Server Program",id:"server-program"},{depth:2,value:"Next Chapter",id:"next-chapter"}];function h(s){let e=Object.assign({h2:"h2",p:"p",code:"code",a:"a",strong:"strong",pre:"pre",span:"span",blockquote:"blockquote",ul:"ul",li:"li"},(0,t.a)(),s.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,r.jsxs)(e.p,{children:["With ",(0,r.jsx)(e.code,{children:"TGrid"}),", you can call remote system's functions as if they are local functions."]}),"\n",(0,r.jsxs)(e.p,{children:["Such remote procedure calling concept is called as ",(0,r.jsx)(e.a,{href:"../remote-procedure-call",children:"RPC (Remote Procedure Call)"})," in the development world, but it contains not only remote funtion call, but also contains ",(0,r.jsx)(e.a,{href:"./remote-object-call",children:"Remote Object Call"})," and ",(0,r.jsx)(e.a,{href:"./object-oriented-network",children:"Object Oriented Network"}),". However, in here chapter, we will focus only on the remote function calls."]}),"\n",(0,r.jsxs)(e.p,{children:["Let's learn how to call remote functions with ",(0,r.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,r.jsxs)(c.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Demonstration"})}),(0,r.jsxs)(e.p,{children:["You can run the example program on ",(0,r.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.remote-function-call"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]}),"\n",(0,r.jsx)(e.h2,{id:"client-program",children:"Client Program"}),"\n",(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-function-call/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"7"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiply"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divide"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 2.5"})]}),"\n",(0,r.jsx)(e.span,{className:"line highlighted",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiply"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divide"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2.5"})]})]})}),"\n"]}),"\n",(0,r.jsx)(e.p,{children:"Here is an example websocket client program, calling remote calculator of the websocket server's own."}),"\n",(0,r.jsxs)(e.p,{children:["As you can see, the client program has written the remote function call statements on the ",(0,r.jsx)(e.code,{children:"remote"})," instance of ",(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})})," type. Also, the ",(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})})," typed instance has been composed by the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketConnector-1.html#getDriver",children:(0,r.jsx)(e.code,{children:"WebSocketConnector.getDriver()"})})," method. It's because ",(0,r.jsx)(e.code,{children:"Driver"})," is a proxy instance hooking the function call expressions, so that delivers them to the remote system, and receives the return value from the remote system."]}),"\n",(0,r.jsxs)(e.p,{children:["This is the secret of how ",(0,r.jsx)(e.code,{children:"TGrid"})," has implemented the ",(0,r.jsx)(e.a,{href:"../remote-procedure-call",children:"RPC (Remote Procedure Call)"}),". Just call functions of remote ",(0,r.jsx)(e.a,{href:"../features/components/#provider",children:(0,r.jsx)(e.code,{children:"Provider"})})," to the ",(0,r.jsx)(e.code,{children:"Driver"})," typed instance with ",(0,r.jsx)(e.code,{children:"await"})," symbol, as if the ",(0,r.jsx)(e.a,{href:"../features/components/#provider",children:(0,r.jsx)(e.code,{children:"Provider"})})," instance was your own. Then, ",(0,r.jsx)(e.code,{children:"TGrid"})," will perform the proper network communications for RPC instead of you."]}),"\n",(0,r.jsx)(e.h2,{id:"server-program",children:"Server Program"}),"\n",(0,r.jsxs)(c.mQ,{items:["Server Program","Client Program"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-function-call/src/server.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Calculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote client"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider from remote client"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Calculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Calculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line highlighted",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Calculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiply"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divide"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-function-call/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./ICalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"7"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiply"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divide"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 2.5"})]}),"\n",(0,r.jsx)(e.span,{className:"line highlighted",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiply"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divide"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.p,{children:["Here is the websocket server program providing ",(0,r.jsx)(e.code,{children:"Calculator"})," class to the client."]}),"\n",(0,r.jsxs)(e.p,{children:["Above ",(0,r.jsx)(e.a,{href:"#client-program",children:'"Client Program"'})," is calling remote functions to the calculator through the ",(0,r.jsx)(e.code,{children:"remote"})," instance of ",(0,r.jsx)(e.code,{children:"Driver"}),' typed. To make the client program works properly, "Server Program" must provide the actual instance implemented the ',(0,r.jsx)(e.code,{children:"ICalculator"}),' type. This "Server Program" is serving it providing the ',(0,r.jsx)(e.code,{children:"Calculator"})," class instance in such reason."]}),"\n",(0,r.jsxs)(e.p,{children:["By the way, the provided ",(0,r.jsx)(e.code,{children:"Calculator"}),' does not have any asynchronous method, but "Client Program" is calling the remote functions with ',(0,r.jsx)(e.code,{children:"await"})," symbol. It's because remote function calls are actually asynchrounous operations perform by the network communication, and ",(0,r.jsx)(e.code,{children:"Driver"})," is a type changing every function's return type to be asynchronous (",(0,r.jsx)(e.code,{children:"Promise"}),") in such reason."]}),"\n",(0,r.jsxs)(e.p,{children:["This is the ",(0,r.jsx)(e.a,{href:"../remote-procedure-call",children:"RPC (Remote Procedure Call)"})," of ",(0,r.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,r.jsx)(e.h2,{id:"next-chapter",children:"Next Chapter"}),"\n",(0,r.jsxs)(e.p,{children:["In this chapter, we've learned only about one-way remote function calls. By the way, most of real-time network systems need two-way communication. Also, we have not utilized ",(0,r.jsx)(e.a,{href:"../features/components/#header",children:(0,r.jsx)(e.code,{children:"Header"})}),", the value directly delivered after the connection, at all."]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.a,{href:"./remote-object-call",children:"Learn from Examples > Remote Object Call"})," chapter."]}),"\n"]}),"\n",(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})]})}let d={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,r.jsx)(e,{...s,children:(0,r.jsx)(h,{...s})}):h(s)},pageOpts:{filePath:"pages/docs/examples/remote-function-call.mdx",route:"/docs/examples/remote-function-call",timestamp:1722478373e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Remote Function Call",headings:a},pageNextRoute:"/docs/examples/remote-function-call",nextraLayout:l.ZP,themeConfig:i.Z};e.default=(0,n.j)(d)},2069:function(s,e,o){"use strict";var r=o(5893);o(7294),e.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[235,888,774,179],function(){return s(s.s=6616)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/examples/remote-function-call-f8b93368db1a6e07.js b/_next/static/chunks/pages/docs/examples/remote-function-call-f8b93368db1a6e07.js new file mode 100644 index 0000000..feb4c25 --- /dev/null +++ b/_next/static/chunks/pages/docs/examples/remote-function-call-f8b93368db1a6e07.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6885],{6616:function(s,e,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/examples/remote-function-call",function(){return o(8394)}])},8394:function(s,e,o){"use strict";o.r(e),o.d(e,{__toc:function(){return a}});var r=o(5893),n=o(2673),l=o(1334),i=o(2069);o(9488);var t=o(2643),c=o(2154);let a=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Client Program",id:"client-program"},{depth:2,value:"Server Program",id:"server-program"},{depth:2,value:"Next Chapter",id:"next-chapter"}];function h(s){let e=Object.assign({h2:"h2",p:"p",code:"code",a:"a",strong:"strong",pre:"pre",span:"span",blockquote:"blockquote",ul:"ul",li:"li"},(0,t.a)(),s.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,r.jsxs)(e.p,{children:["With ",(0,r.jsx)(e.code,{children:"TGrid"}),", you can call remote system's functions as if they are local functions."]}),"\n",(0,r.jsxs)(e.p,{children:["Such remote procedure calling concept is called as ",(0,r.jsx)(e.a,{href:"../remote-procedure-call",children:"RPC (Remote Procedure Call)"})," in the development world, but it contains not only remote funtion call, but also contains ",(0,r.jsx)(e.a,{href:"./remote-object-call",children:"Remote Object Call"})," and ",(0,r.jsx)(e.a,{href:"./object-oriented-network",children:"Object Oriented Network"}),". However, in here chapter, we will focus only on the remote function calls."]}),"\n",(0,r.jsxs)(e.p,{children:["Let's learn how to call remote functions with ",(0,r.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,r.jsxs)(c.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Demonstration"})}),(0,r.jsxs)(e.p,{children:["You can run the example program on ",(0,r.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.remote-function-call"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]}),"\n",(0,r.jsx)(e.h2,{id:"client-program",children:"Client Program"}),"\n",(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-function-call/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"7"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiply"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divide"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 2.5"})]}),"\n",(0,r.jsx)(e.span,{className:"line highlighted",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiply"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divide"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2.5"})]})]})}),"\n"]}),"\n",(0,r.jsx)(e.p,{children:"Here is an example websocket client program, calling remote calculator of the websocket server's own."}),"\n",(0,r.jsxs)(e.p,{children:["As you can see, the client program has written the remote function call statements on the ",(0,r.jsx)(e.code,{children:"remote"})," instance of ",(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})})," type. Also, the ",(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})})," typed instance has been composed by the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketConnector-1.html#getDriver",children:(0,r.jsx)(e.code,{children:"WebSocketConnector.getDriver()"})})," method. It's because ",(0,r.jsx)(e.code,{children:"Driver"})," is a proxy instance hooking the function call expressions, so that delivers them to the remote system, and receives the return value from the remote system."]}),"\n",(0,r.jsxs)(e.p,{children:["This is the secret of how ",(0,r.jsx)(e.code,{children:"TGrid"})," has implemented the ",(0,r.jsx)(e.a,{href:"../remote-procedure-call",children:"RPC (Remote Procedure Call)"}),". Just call functions of remote ",(0,r.jsx)(e.a,{href:"../features/components/#provider",children:(0,r.jsx)(e.code,{children:"Provider"})})," to the ",(0,r.jsx)(e.code,{children:"Driver"})," typed instance with ",(0,r.jsx)(e.code,{children:"await"})," symbol, as if the ",(0,r.jsx)(e.a,{href:"../features/components/#provider",children:(0,r.jsx)(e.code,{children:"Provider"})})," instance was your own. Then, ",(0,r.jsx)(e.code,{children:"TGrid"})," will perform the proper network communications for RPC instead of you."]}),"\n",(0,r.jsx)(e.h2,{id:"server-program",children:"Server Program"}),"\n",(0,r.jsxs)(c.mQ,{items:["Server Program","Client Program"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-function-call/src/server.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Calculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote client"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider from remote client"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Calculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Calculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line highlighted",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Calculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiply"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divide"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-function-call/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./ICalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"7"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiply"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divide"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 2.5"})]}),"\n",(0,r.jsx)(e.span,{className:"line highlighted",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiply"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divide"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(a"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" b"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.p,{children:["Here is the websocket server program providing ",(0,r.jsx)(e.code,{children:"Calculator"})," class to the client."]}),"\n",(0,r.jsxs)(e.p,{children:["Above ",(0,r.jsx)(e.a,{href:"#client-program",children:'"Client Program"'})," is calling remote functions to the calculator through the ",(0,r.jsx)(e.code,{children:"remote"})," instance of ",(0,r.jsx)(e.code,{children:"Driver"}),' typed. To make the client program works properly, "Server Program" must provide the actual instance implemented the ',(0,r.jsx)(e.code,{children:"ICalculator"}),' type. This "Server Program" is serving it providing the ',(0,r.jsx)(e.code,{children:"Calculator"})," class instance in such reason."]}),"\n",(0,r.jsxs)(e.p,{children:["By the way, the provided ",(0,r.jsx)(e.code,{children:"Calculator"}),' does not have any asynchronous method, but "Client Program" is calling the remote functions with ',(0,r.jsx)(e.code,{children:"await"})," symbol. It's because remote function calls are actually asynchrounous operations perform by the network communication, and ",(0,r.jsx)(e.code,{children:"Driver"})," is a type changing every function's return type to be asynchronous (",(0,r.jsx)(e.code,{children:"Promise"}),") in such reason."]}),"\n",(0,r.jsxs)(e.p,{children:["This is the ",(0,r.jsx)(e.a,{href:"../remote-procedure-call",children:"RPC (Remote Procedure Call)"})," of ",(0,r.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,r.jsx)(e.h2,{id:"next-chapter",children:"Next Chapter"}),"\n",(0,r.jsxs)(e.p,{children:["In this chapter, we've learned only about one-way remote function calls. By the way, most of real-time network systems need two-way communication. Also, we have not utilized ",(0,r.jsx)(e.a,{href:"../features/components/#header",children:(0,r.jsx)(e.code,{children:"Header"})}),", the value directly delivered after the connection, at all."]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.a,{href:"./remote-object-call",children:"Learn from Examples > Remote Object Call"})," chapter."]}),"\n"]}),"\n",(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})]})}let d={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,r.jsx)(e,{...s,children:(0,r.jsx)(h,{...s})}):h(s)},pageOpts:{filePath:"pages/docs/examples/remote-function-call.mdx",route:"/docs/examples/remote-function-call",timestamp:1724046954e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Remote Function Call",headings:a},pageNextRoute:"/docs/examples/remote-function-call",nextraLayout:l.ZP,themeConfig:i.Z};e.default=(0,n.j)(d)},2069:function(s,e,o){"use strict";var r=o(5893);o(7294),e.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[6235,2888,9774,179],function(){return s(s.s=6616)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/examples/remote-object-call-4ebed196810cc884.js b/_next/static/chunks/pages/docs/examples/remote-object-call-4ebed196810cc884.js deleted file mode 100644 index e4a1d03..0000000 --- a/_next/static/chunks/pages/docs/examples/remote-object-call-4ebed196810cc884.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[965],{2868:function(s,e,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/examples/remote-object-call",function(){return o(190)}])},190:function(s,e,o){"use strict";o.r(e),o.d(e,{__toc:function(){return h},default:function(){return d}});var r=o(5893),l=o(2673),n=o(1334),i=o(2069);o(9488);var t=o(2643),c={src:"/_next/static/media/remote-object-call.f084282a.png",height:450,width:566,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAd0lEQVR42j3NORICIRAFUO5/LU9gaDBlsQh0IzSQQCGLzATz4r+wOedaa4yRc04pEVG5sHXpfaBzAHAch5QyhMB+p9ZatVoAWGMMIu42A3TeYynf1/OhxFupD+c8xshqreM0pRTWWqUUIhLR/dF3ynuvtd5rRPQHw1aG2J+8j1AAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6},a=o(2154);let h=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Client Program",id:"client-program"},{depth:2,value:"Server Program",id:"server-program"},{depth:2,value:"Next Chapter",id:"next-chapter"}];function x(s){let e=Object.assign({h2:"h2",p:"p",img:"img",code:"code",a:"a",strong:"strong",pre:"pre",span:"span",blockquote:"blockquote",ul:"ul",li:"li"},(0,t.a)(),s.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,r.jsx)(e.p,{children:(0,r.jsx)(e.img,{alt:"Remote Object Call",placeholder:"blur",src:c})}),"\n",(0,r.jsxs)(e.p,{children:["With ",(0,r.jsx)(e.code,{children:"TGrid"}),", you can call remote system's nested functions as if they are local functions."]}),"\n",(0,r.jsxs)(e.p,{children:["Such remote procedure calling concept is called as ",(0,r.jsx)(e.a,{href:"../remote-procedure-call",children:"RPC (Remote Procedure Call)"})," in the development world, but it contains not only remote function call, but also contains ",(0,r.jsx)(e.a,{href:"./object-oriented-network",children:"Object Oriented Network"}),". However, in here chapter, we will focus only on the remote nested function calls."]}),"\n",(0,r.jsxs)(e.p,{children:["Let's learn how to call remote nested functions with ",(0,r.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,r.jsxs)(a.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Demonstration"})}),(0,r.jsxs)(e.p,{children:["You can run the example program on ",(0,r.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.remote-object-call"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]}),"\n",(0,r.jsx)(e.h2,{id:"client-program",children:"Client Program"}),"\n",(0,r.jsxs)(a.mQ,{items:["Main Program","Interfaces"],children:[(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-object-call/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-object-call/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,r.jsx)(e.p,{children:"Here is an example websocket client program, calling remote calculator of the websocket server's own."}),"\n",(0,r.jsxs)(e.p,{children:["As you can see, the client has constructed a ",(0,r.jsx)(e.code,{children:"WebSocketConnector"})," instance with the ",(0,r.jsx)(e.code,{children:"Header"})," and ",(0,r.jsx)(e.code,{children:"listener"})," objects. The ",(0,r.jsx)(e.code,{children:"header"})," object represents a ",(0,r.jsx)(e.a,{href:"../features/components/#header",children:(0,r.jsx)(e.code,{children:"Header"})})," component which be directly delivered to the remote system when connecting. The ",(0,r.jsx)(e.code,{children:"listener"})," object is a ",(0,r.jsx)(e.a,{href:"../features/components/#provider",children:(0,r.jsx)(e.code,{children:"Provider"})}),' component provided for the remote websocket server. It means that, the "Client Program" configures the ',(0,r.jsx)(e.code,{children:"header"})," value to ",(0,r.jsx)(e.code,{children:"precision: 2"}),", and provides ",(0,r.jsx)(e.code,{children:"ICalcEventListener"}),' for the remote "Server Program".']}),"\n",(0,r.jsxs)(e.p,{children:['After that, you can find out the "Client Program" is calling the remote calculator\'s function of "Server Program" through ',(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})})," typed instance. In the remote function call statements, there is one thing important. It is ",(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})})," type supports nested object's funtion calls."]}),"\n",(0,r.jsx)(e.p,{children:'This is the "Remote Object Call".'}),"\n",(0,r.jsx)(e.h2,{id:"server-program",children:"Server Program"}),"\n",(0,r.jsxs)(a.mQ,{items:["Main Program","Providers","Interfaces"],children:[(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-object-call/src/server.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-object-call/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.p,{children:['The "Server Program" is ',(0,r.jsx)(e.a,{href:"%5B%60Provider%60%5D(../features/components/#provider)",children:"providing"})," ",(0,r.jsx)(e.code,{children:"CompositeCalculator"})," class to the websocket client."]}),"\n",(0,r.jsxs)(e.p,{children:["By the way, when composing the ",(0,r.jsx)(e.code,{children:"CompositeCalculator"})," class instance as a ",(0,r.jsx)(e.a,{href:"../features/components/#provider",children:(0,r.jsx)(e.code,{children:"Provider"})}),", you can find out that it is delivering the ",(0,r.jsx)(e.a,{href:"../features/components/#header",children:(0,r.jsx)(e.code,{children:"Header"})})," and ",(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})})," typed instances to the construction parameter. By getting the ",(0,r.jsx)(e.a,{href:"../features/components/#header",children:(0,r.jsx)(e.code,{children:"Header"})}),' value from the "Client Program", "Server Program" configures precision level of the calculator.']}),"\n",(0,r.jsxs)(e.p,{children:["Also, if you click the second ",(0,r.jsx)(e.code,{children:"Providers"}),' tab, you can find out that calculators are reporting their calculator operations to the "Client Program" through the ',(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})}),' object. Therefore, whenever the calculator function be called, "Server Program" calls remote function of the "Client Program" for event reporting.']}),"\n",(0,r.jsx)(e.p,{children:'Such two-way remote functions providing and header for initialization, this is the "Remote Object Call".'}),"\n",(0,r.jsx)(e.h2,{id:"next-chapter",children:"Next Chapter"}),"\n",(0,r.jsxs)(e.p,{children:["Until this chapter, we've learned only about simple structructured network systems. Complexity has only come to the ",(0,r.jsx)(e.a,{href:"../features/components/#provider",children:(0,r.jsx)(e.code,{children:"Provider"})})," level, and the network systems were always monotonous. Only single type of server and client were existed."]}),"\n",(0,r.jsxs)(e.p,{children:["By the way, ",(0,r.jsx)(e.code,{children:"TGrid"})," has said that it is useful for developing complicated network system like grid computing in the ",(0,r.jsx)(e.a,{href:"https://github.com/samchon/tgrid",children:"README"})," and index page of guide documents. At the next chapter, we will learn about the complicated network system."]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.a,{href:"./object-oriented-network",children:"Learn from Examples > Object Oriented Network"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(a.mQ,{items:["Server Program","Client Program"],children:[(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/composite.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"__filename"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"js"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// `CompositeCalculator` has two additional properties"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"///"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// - `scientific` from remote worker server"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// - `statistics` from remote worker server"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// connect to remote worker server"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" <"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"object"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" file"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"process"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(file);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getHeader"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// constructor provider combining with remote worker-servers"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">>("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"__dirname"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/scientific."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">>("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"__dirname"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/statistics."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((exp) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".error"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(exp);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"process"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".exit"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"__filename"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"js"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"workerClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"process"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"__dirname"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/composite."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})})]})]})}let k={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,r.jsx)(e,{...s,children:(0,r.jsx)(x,{...s})}):x(s)},pageOpts:{filePath:"pages/docs/examples/remote-object-call.mdx",route:"/docs/examples/remote-object-call",timestamp:1722478373e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Remote Object Call",headings:h},pageNextRoute:"/docs/examples/remote-object-call",nextraLayout:n.ZP,themeConfig:i.Z};var d=(0,l.j)(k)},2069:function(s,e,o){"use strict";var r=o(5893);o(7294),e.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[235,888,774,179],function(){return s(s.s=2868)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/examples/remote-object-call-cefec2d58ffee31a.js b/_next/static/chunks/pages/docs/examples/remote-object-call-cefec2d58ffee31a.js new file mode 100644 index 0000000..0fcb038 --- /dev/null +++ b/_next/static/chunks/pages/docs/examples/remote-object-call-cefec2d58ffee31a.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1965],{2868:function(s,e,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/examples/remote-object-call",function(){return o(190)}])},190:function(s,e,o){"use strict";o.r(e),o.d(e,{__toc:function(){return h},default:function(){return d}});var r=o(5893),l=o(2673),n=o(1334),i=o(2069);o(9488);var t=o(2643),c={src:"/_next/static/media/remote-object-call.f084282a.png",height:450,width:566,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAIAAABxZ0isAAAAd0lEQVR42j3NORICIRAFUO5/LU9gaDBlsQh0IzSQQCGLzATz4r+wOedaa4yRc04pEVG5sHXpfaBzAHAch5QyhMB+p9ZatVoAWGMMIu42A3TeYynf1/OhxFupD+c8xshqreM0pRTWWqUUIhLR/dF3ynuvtd5rRPQHw1aG2J+8j1AAAAAASUVORK5CYII=",blurWidth:8,blurHeight:6},a=o(2154);let h=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Client Program",id:"client-program"},{depth:2,value:"Server Program",id:"server-program"},{depth:2,value:"Next Chapter",id:"next-chapter"}];function x(s){let e=Object.assign({h2:"h2",p:"p",img:"img",code:"code",a:"a",strong:"strong",pre:"pre",span:"span",blockquote:"blockquote",ul:"ul",li:"li"},(0,t.a)(),s.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,r.jsx)(e.p,{children:(0,r.jsx)(e.img,{alt:"Remote Object Call",placeholder:"blur",src:c})}),"\n",(0,r.jsxs)(e.p,{children:["With ",(0,r.jsx)(e.code,{children:"TGrid"}),", you can call remote system's nested functions as if they are local functions."]}),"\n",(0,r.jsxs)(e.p,{children:["Such remote procedure calling concept is called as ",(0,r.jsx)(e.a,{href:"../remote-procedure-call",children:"RPC (Remote Procedure Call)"})," in the development world, but it contains not only remote function call, but also contains ",(0,r.jsx)(e.a,{href:"./object-oriented-network",children:"Object Oriented Network"}),". However, in here chapter, we will focus only on the remote nested function calls."]}),"\n",(0,r.jsxs)(e.p,{children:["Let's learn how to call remote nested functions with ",(0,r.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,r.jsxs)(a.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Demonstration"})}),(0,r.jsxs)(e.p,{children:["You can run the example program on ",(0,r.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.remote-object-call"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]}),"\n",(0,r.jsx)(e.h2,{id:"client-program",children:"Client Program"}),"\n",(0,r.jsxs)(a.mQ,{items:["Main Program","Interfaces"],children:[(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-object-call/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-object-call/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,r.jsx)(e.p,{children:"Here is an example websocket client program, calling remote calculator of the websocket server's own."}),"\n",(0,r.jsxs)(e.p,{children:["As you can see, the client has constructed a ",(0,r.jsx)(e.code,{children:"WebSocketConnector"})," instance with the ",(0,r.jsx)(e.code,{children:"Header"})," and ",(0,r.jsx)(e.code,{children:"listener"})," objects. The ",(0,r.jsx)(e.code,{children:"header"})," object represents a ",(0,r.jsx)(e.a,{href:"../features/components/#header",children:(0,r.jsx)(e.code,{children:"Header"})})," component which be directly delivered to the remote system when connecting. The ",(0,r.jsx)(e.code,{children:"listener"})," object is a ",(0,r.jsx)(e.a,{href:"../features/components/#provider",children:(0,r.jsx)(e.code,{children:"Provider"})}),' component provided for the remote websocket server. It means that, the "Client Program" configures the ',(0,r.jsx)(e.code,{children:"header"})," value to ",(0,r.jsx)(e.code,{children:"precision: 2"}),", and provides ",(0,r.jsx)(e.code,{children:"ICalcEventListener"}),' for the remote "Server Program".']}),"\n",(0,r.jsxs)(e.p,{children:['After that, you can find out the "Client Program" is calling the remote calculator\'s function of "Server Program" through ',(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})})," typed instance. In the remote function call statements, there is one thing important. It is ",(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})})," type supports nested object's funtion calls."]}),"\n",(0,r.jsx)(e.p,{children:'This is the "Remote Object Call".'}),"\n",(0,r.jsx)(e.h2,{id:"server-program",children:"Server Program"}),"\n",(0,r.jsxs)(a.mQ,{items:["Main Program","Providers","Interfaces"],children:[(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-object-call/src/server.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/remote-object-call/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.p,{children:['The "Server Program" is ',(0,r.jsx)(e.a,{href:"%5B%60Provider%60%5D(../features/components/#provider)",children:"providing"})," ",(0,r.jsx)(e.code,{children:"CompositeCalculator"})," class to the websocket client."]}),"\n",(0,r.jsxs)(e.p,{children:["By the way, when composing the ",(0,r.jsx)(e.code,{children:"CompositeCalculator"})," class instance as a ",(0,r.jsx)(e.a,{href:"../features/components/#provider",children:(0,r.jsx)(e.code,{children:"Provider"})}),", you can find out that it is delivering the ",(0,r.jsx)(e.a,{href:"../features/components/#header",children:(0,r.jsx)(e.code,{children:"Header"})})," and ",(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})})," typed instances to the construction parameter. By getting the ",(0,r.jsx)(e.a,{href:"../features/components/#header",children:(0,r.jsx)(e.code,{children:"Header"})}),' value from the "Client Program", "Server Program" configures precision level of the calculator.']}),"\n",(0,r.jsxs)(e.p,{children:["Also, if you click the second ",(0,r.jsx)(e.code,{children:"Providers"}),' tab, you can find out that calculators are reporting their calculator operations to the "Client Program" through the ',(0,r.jsx)(e.a,{href:"../features/components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})}),' object. Therefore, whenever the calculator function be called, "Server Program" calls remote function of the "Client Program" for event reporting.']}),"\n",(0,r.jsx)(e.p,{children:'Such two-way remote functions providing and header for initialization, this is the "Remote Object Call".'}),"\n",(0,r.jsx)(e.h2,{id:"next-chapter",children:"Next Chapter"}),"\n",(0,r.jsxs)(e.p,{children:["Until this chapter, we've learned only about simple structructured network systems. Complexity has only come to the ",(0,r.jsx)(e.a,{href:"../features/components/#provider",children:(0,r.jsx)(e.code,{children:"Provider"})})," level, and the network systems were always monotonous. Only single type of server and client were existed."]}),"\n",(0,r.jsxs)(e.p,{children:["By the way, ",(0,r.jsx)(e.code,{children:"TGrid"})," has said that it is useful for developing complicated network system like grid computing in the ",(0,r.jsx)(e.a,{href:"https://github.com/samchon/tgrid",children:"README"})," and index page of guide documents. At the next chapter, we will learn about the complicated network system."]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.a,{href:"./object-oriented-network",children:"Learn from Examples > Object Oriented Network"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(a.mQ,{items:["Server Program","Client Program"],children:[(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/composite.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"__filename"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"js"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// `CompositeCalculator` has two additional properties"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"///"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// - `scientific` from remote worker server"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// - `statistics` from remote worker server"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"props"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/// connect to remote worker server"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" <"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"object"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" file"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"process"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(file);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getHeader"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// constructor provider combining with remote worker-servers"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">>("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"__dirname"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/scientific."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">>("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"__dirname"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/statistics."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((exp) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".error"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(exp);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"process"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".exit"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})})]})})}),(0,r.jsx)(a.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/object-oriented-network/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"__filename"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ts"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"js"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"workerClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"process"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"__dirname"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/composite."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})})]})]})}let k={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,r.jsx)(e,{...s,children:(0,r.jsx)(x,{...s})}):x(s)},pageOpts:{filePath:"pages/docs/examples/remote-object-call.mdx",route:"/docs/examples/remote-object-call",timestamp:1724046954e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Remote Object Call",headings:h},pageNextRoute:"/docs/examples/remote-object-call",nextraLayout:n.ZP,themeConfig:i.Z};var d=(0,l.j)(k)},2069:function(s,e,o){"use strict";var r=o(5893);o(7294),e.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[6235,2888,9774,179],function(){return s(s.s=2868)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/features/components-6e4e3148d556ee8f.js b/_next/static/chunks/pages/docs/features/components-6e4e3148d556ee8f.js deleted file mode 100644 index dac49b2..0000000 --- a/_next/static/chunks/pages/docs/features/components-6e4e3148d556ee8f.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[87],{8034:function(s,e,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/features/components",function(){return r(7356)}])},7356:function(s,e,r){"use strict";r.r(e),r.d(e,{__toc:function(){return h},default:function(){return k}});var o=r(5893),l=r(2673),n=r(1334),i=r(2069);r(9488);var t=r(2643),c={src:"/_next/static/media/sequence.5a6cf4e8.png",height:530,width:849,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAAAAABd+vKJAAAALUlEQVR42g3FwQ0AIAgEweu/W2MishxE5zNakN6E7olD1FVPG1zyjMlC+E/XA2xwJxABCggSAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:5},a=r(2154);let h=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Communicator",id:"communicator"},{depth:2,value:"Header",id:"header"},{depth:2,value:"Provider",id:"provider"},{depth:2,value:"Driver",id:"driver"}];function x(s){let e=Object.assign({h2:"h2",p:"p",code:"code",a:"a",ul:"ul",li:"li",img:"img",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td",pre:"pre",span:"span",blockquote:"blockquote",strong:"strong"},(0,t.a)(),s.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,o.jsxs)(e.p,{children:["This chapter describes key components of the ",(0,o.jsx)(e.code,{children:"TGrid"})," only in the conceptual level."]}),"\n",(0,o.jsxs)(e.p,{children:["If you're not familar with theoretical stories, it's okay to skip to the next chapter ",(0,o.jsx)(e.a,{href:"./websocket",children:"Features > WebSocket Protocol"}),"."]}),"\n",(0,o.jsxs)(e.p,{children:["Even you want to see the example codes, step to the ",(0,o.jsx)(e.a,{href:"../examples/remote-function-call",children:"Learn from Examples > Remote Funtion Call"})," chapter."]}),"\n",(0,o.jsxs)(e.p,{children:["Otherwise, let's study about the key components of the ",(0,o.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"#communicator",children:(0,o.jsx)(e.code,{children:"Communicator"})}),": network communication with remote system"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"#header",children:(0,o.jsx)(e.code,{children:"Header"})}),": header value directly delivered after the connection"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"#provider",children:(0,o.jsx)(e.code,{children:"Provider"})}),": object provided for remote system"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"#driver",children:(0,o.jsx)(e.code,{children:"Driver"})}),": proxy instance for calling functions of the remote system's ",(0,o.jsx)(e.code,{children:"Provider"})]}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"communicator",children:"Communicator"}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.img,{alt:"Sequence Diagram",placeholder:"blur",src:c})}),"\n",(0,o.jsx)(e.p,{children:"Communicates with a remote system."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"Communicator"})," is a class taking full responsibility to network communication with remote system. You can register a Provider, an object would be provided to the remote system, to the ",(0,o.jsx)(e.code,{children:"Communicator"}),". Also, ",(0,o.jsx)(e.a,{href:"#driver",children:(0,o.jsx)(e.code,{children:"Driver"})}),", which can access to the remote system's ",(0,o.jsx)(e.a,{href:"#provider",children:"Provider"}),", is created by this ",(0,o.jsx)(e.code,{children:"Communicator"}),"."]}),"\n",(0,o.jsxs)(e.p,{children:["For reference, actual ",(0,o.jsx)(e.code,{children:"Communicator"})," is the top-level abstract class, and all the classes responsible for network communication in ",(0,o.jsx)(e.code,{children:"TGrid"})," are inheriting from this ",(0,o.jsx)(e.code,{children:"Communicator"})," class. Here is the list of every communicator classes in ",(0,o.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,o.jsxs)(e.table,{children:[(0,o.jsx)(e.thead,{children:(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.th,{children:"Protocol"}),(0,o.jsx)(e.th,{children:"Client"}),(0,o.jsx)(e.th,{children:"Server"})]})}),(0,o.jsxs)(e.tbody,{children:[(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:"Web Socket"}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"./websocket/#websocketconnector",children:(0,o.jsx)(e.code,{children:"WebSocketConnector"})})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"./websocket/#websocketacceptor",children:(0,o.jsx)(e.code,{children:"WebSocketAcceptor"})})})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:"Dedicated Worker"}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"./worker/#workerconnector",children:(0,o.jsx)(e.code,{children:"WorkerConnector"})})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"./worker/#workerserver",children:(0,o.jsx)(e.code,{children:"WorkerServer"})})})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:"Shared Worker"}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"./worker/#sharedworkerconnector",children:(0,o.jsx)(e.code,{children:"SharedWorkerConnector"})})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"./worker/#sharedworkeracceptor",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})})})]})]})]}),"\n",(0,o.jsx)(e.h2,{id:"header",children:"Header"}),"\n",(0,o.jsxs)(a.mQ,{items:["Client Program","WebSocket Server","Worker Server"],children:[(0,o.jsx)(a.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/client.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,o.jsx)(a.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/server.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketServer } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/composite"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/simple"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/statistics"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/scientific"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1002"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`WebSocket API endpoint not found.`"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,o.jsx)(a.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/worker/src/server.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerServer } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getHeader"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((exp) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".error"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(exp);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"process"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".exit"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})})]})})})]}),"\n",(0,o.jsx)(e.p,{children:"Header value delivered after the connection."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"Header"})," is a value, delivered from client to server directly, after the connection."]}),"\n",(0,o.jsxs)(e.p,{children:["Server can get the ",(0,o.jsx)(e.code,{children:"Header"})," value through acceptor's ",(0,o.jsx)(e.code,{children:"header"})," property."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#header-1",children:(0,o.jsx)(e.code,{children:"WebSocketAcceptor.header"})})}),"\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"http://127.0.0.1:3000/api/classes/WorkerServer-1.html#getHeader",children:(0,o.jsx)(e.code,{children:"WorkerServer.getHeader()"})})}),"\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"http://127.0.0.1:3000/api/classes/SharedWorkerAcceptor-1.html#header-1",children:(0,o.jsx)(e.code,{children:"SharedWorkerSever.header"})})}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"provider",children:"Provider"}),"\n",(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/server.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketServer } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/composite"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/simple"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/statistics"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/scientific"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1002"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`WebSocket API endpoint not found.`"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})}),"\n",(0,o.jsx)(e.p,{children:"Object provided for remote system."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"Provider"})," is an object provided for the remote system."]}),"\n",(0,o.jsxs)(e.p,{children:["The remote system can call the ",(0,o.jsx)(e.code,{children:"Provider"}),"'s functions through ",(0,o.jsx)(e.a,{href:"#driver",children:(0,o.jsx)(e.code,{children:"Driver"})}),"."]}),"\n",(0,o.jsx)(e.h2,{id:"driver",children:"Driver"}),"\n",(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/client.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,o.jsx)(e.span,{className:"line highlighted",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,o.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,o.jsx)(e.p,{children:"Driver of RPC (Remote Procedure Call)."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"Driver"})," is a proxy instance designed to call functions of the remote system. It has a generic argument ",(0,o.jsx)(e.code,{children:"Remote"})," which means the type of remote system's ",(0,o.jsx)(e.a,{href:"#provider",children:"Provider"}),", and you can remotely call the functions of the ",(0,o.jsx)(e.a,{href:"#provider",children:"Provider"})," asynchronously through the ",(0,o.jsx)(e.code,{children:"Drive"})," instance."]}),"\n",(0,o.jsxs)(e.p,{children:["When you call some function of remote ",(0,o.jsx)(e.a,{href:"#provider",children:"Provider"})," by the ",(0,o.jsx)(e.code,{children:"Driver"})," instance, it hooks the function call expression, and delivers the function name and arguments (parameter values) to the remote system through the ",(0,o.jsx)(e.a,{href:"#communicator",children:"Communicator"}),". If the remote system suceeded to reply the result of the function call, ",(0,o.jsx)(e.a,{href:"#communicator",children:"Communicator"})," resolves the promise of the function call expression with the result, so that makes ",(0,o.jsx)(e.code,{children:"Driver"})," working."]}),"\n",(0,o.jsxs)(e.p,{children:["Otherwise exception is thrown in the remote ",(0,o.jsx)(e.a,{href:"#provider",children:"Provider"})," function, ",(0,o.jsx)(e.a,{href:"#communicator",children:"Communicator"})," deliveries the exception instance instead to the remote system, so that actual exception being thrown from the ",(0,o.jsx)(e.code,{children:"Driver"})," instance."]}),"\n",(0,o.jsxs)(a.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"Demonstration"})}),(0,o.jsxs)(e.p,{children:["You can run it on ",(0,o.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,o.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.websocket"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]})]})}let d={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(x,{...s})}):x(s)},pageOpts:{filePath:"pages/docs/features/components.mdx",route:"/docs/features/components",timestamp:1722478373e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Components",headings:h},pageNextRoute:"/docs/features/components",nextraLayout:n.ZP,themeConfig:i.Z};var k=(0,l.j)(d)},2069:function(s,e,r){"use strict";var o=r(5893);r(7294),e.Z={logo:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,o.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,o.jsxs)("span",{children:["Released under the MIT License.",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,o.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,o.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[235,888,774,179],function(){return s(s.s=8034)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/features/components-c700552875b5a57a.js b/_next/static/chunks/pages/docs/features/components-c700552875b5a57a.js new file mode 100644 index 0000000..a3ed612 --- /dev/null +++ b/_next/static/chunks/pages/docs/features/components-c700552875b5a57a.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5087],{8034:function(s,e,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/features/components",function(){return r(289)}])},289:function(s,e,r){"use strict";r.r(e),r.d(e,{__toc:function(){return h}});var o=r(5893),n=r(2673),l=r(1334),i=r(2069);r(9488);var t=r(2643),c=r(8757),a=r(2154);let h=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Communicator",id:"communicator"},{depth:2,value:"Header",id:"header"},{depth:2,value:"Provider",id:"provider"},{depth:2,value:"Driver",id:"driver"}];function x(s){let e=Object.assign({h2:"h2",p:"p",code:"code",a:"a",ul:"ul",li:"li",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td",pre:"pre",span:"span",blockquote:"blockquote",strong:"strong"},(0,t.a)(),s.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,o.jsxs)(e.p,{children:["This chapter describes key components of the ",(0,o.jsx)(e.code,{children:"TGrid"})," only in the conceptual level."]}),"\n",(0,o.jsxs)(e.p,{children:["If you're not familar with theoretical stories, it's okay to skip to the next chapter ",(0,o.jsx)(e.a,{href:"./websocket",children:"Features > WebSocket Protocol"}),"."]}),"\n",(0,o.jsxs)(e.p,{children:["Even you want to see the example codes, step to the ",(0,o.jsx)(e.a,{href:"../examples/remote-function-call",children:"Learn from Examples > Remote Funtion Call"})," chapter."]}),"\n",(0,o.jsxs)(e.p,{children:["Otherwise, let's study about the key components of the ",(0,o.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"#communicator",children:(0,o.jsx)(e.code,{children:"Communicator"})}),": network communication with remote system"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"#header",children:(0,o.jsx)(e.code,{children:"Header"})}),": header value directly delivered after the connection"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"#provider",children:(0,o.jsx)(e.code,{children:"Provider"})}),": object provided for remote system"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"#driver",children:(0,o.jsx)(e.code,{children:"Driver"})}),": proxy instance for calling functions of the remote system's ",(0,o.jsx)(e.code,{children:"Provider"})]}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"communicator",children:"Communicator"}),"\n",(0,o.jsx)(c.G,{chart:"sequenceDiagram\nbox Client Application\n actor User\n participant Driver as Driver\n participant Connector as Communicator (Client)\nend\nbox Server Application\n participant Acceptor as Communicator (Server)\n actor Provider\nend\nUser->>Driver: 1. calls a function\nActivate User\nActivate Driver\nDriver->>Connector: 2. delivers the function call\nActivate Connector\nDeactivate Driver\nConnector-->>Acceptor: 3. sends a protocolized
network message
meaning a function call\nDeactivate Connector\nActivate Acceptor\nAcceptor->>Provider: 4. calls the function\nProvider->>Acceptor: 5. returns a value\nAcceptor-->>Connector: 6. sends a protocolized
network message
meaning a return value\nDeactivate Acceptor\nActivate Connector\nConnector->>User: 7. delivers the return value\nDeactivate Connector\nDeactivate User"}),"\n",(0,o.jsx)(e.p,{children:"Communicates with a remote system."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"Communicator"})," is a class taking full responsibility to network communication with remote system. You can register a Provider, an object would be provided to the remote system, to the ",(0,o.jsx)(e.code,{children:"Communicator"}),". Also, ",(0,o.jsx)(e.a,{href:"#driver",children:(0,o.jsx)(e.code,{children:"Driver"})}),", which can access to the remote system's ",(0,o.jsx)(e.a,{href:"#provider",children:"Provider"}),", is created by this ",(0,o.jsx)(e.code,{children:"Communicator"}),"."]}),"\n",(0,o.jsxs)(e.p,{children:["For reference, actual ",(0,o.jsx)(e.code,{children:"Communicator"})," is the top-level abstract class, and all the classes responsible for network communication in ",(0,o.jsx)(e.code,{children:"TGrid"})," are inheriting from this ",(0,o.jsx)(e.code,{children:"Communicator"})," class. Here is the list of every communicator classes in ",(0,o.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,o.jsxs)(e.table,{children:[(0,o.jsx)(e.thead,{children:(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.th,{children:"Protocol"}),(0,o.jsx)(e.th,{children:"Client"}),(0,o.jsx)(e.th,{children:"Server"})]})}),(0,o.jsxs)(e.tbody,{children:[(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:"Web Socket"}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"./websocket/#websocketconnector",children:(0,o.jsx)(e.code,{children:"WebSocketConnector"})})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"./websocket/#websocketacceptor",children:(0,o.jsx)(e.code,{children:"WebSocketAcceptor"})})})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:"Dedicated Worker"}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"./worker/#workerconnector",children:(0,o.jsx)(e.code,{children:"WorkerConnector"})})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"./worker/#workerserver",children:(0,o.jsx)(e.code,{children:"WorkerServer"})})})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:"Shared Worker"}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"./worker/#sharedworkerconnector",children:(0,o.jsx)(e.code,{children:"SharedWorkerConnector"})})}),(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"./worker/#sharedworkeracceptor",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})})})]})]})]}),"\n",(0,o.jsx)(e.h2,{id:"header",children:"Header"}),"\n",(0,o.jsxs)(a.mQ,{items:["Client Program","WebSocket Server","Worker Server"],children:[(0,o.jsx)(a.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/client.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,o.jsx)(a.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/server.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketServer } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/composite"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/simple"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/statistics"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/scientific"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1002"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`WebSocket API endpoint not found.`"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,o.jsx)(a.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/worker/src/server.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerServer } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getHeader"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((exp) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".error"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(exp);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"process"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".exit"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})})]})})})]}),"\n",(0,o.jsx)(e.p,{children:"Header value delivered after the connection."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"Header"})," is a value, delivered from client to server directly, after the connection."]}),"\n",(0,o.jsxs)(e.p,{children:["Server can get the ",(0,o.jsx)(e.code,{children:"Header"})," value through acceptor's ",(0,o.jsx)(e.code,{children:"header"})," property."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#header-1",children:(0,o.jsx)(e.code,{children:"WebSocketAcceptor.header"})})}),"\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"http://127.0.0.1:3000/api/classes/WorkerServer-1.html#getHeader",children:(0,o.jsx)(e.code,{children:"WorkerServer.getHeader()"})})}),"\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"http://127.0.0.1:3000/api/classes/SharedWorkerAcceptor-1.html#header-1",children:(0,o.jsx)(e.code,{children:"SharedWorkerSever.header"})})}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"provider",children:"Provider"}),"\n",(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/server.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketServer } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/composite"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/simple"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/statistics"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/scientific"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1002"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`WebSocket API endpoint not found.`"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})}),"\n",(0,o.jsx)(e.p,{children:"Object provided for remote system."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"Provider"})," is an object provided for the remote system."]}),"\n",(0,o.jsxs)(e.p,{children:["The remote system can call the ",(0,o.jsx)(e.code,{children:"Provider"}),"'s functions through ",(0,o.jsx)(e.a,{href:"#driver",children:(0,o.jsx)(e.code,{children:"Driver"})}),"."]}),"\n",(0,o.jsx)(e.h2,{id:"driver",children:"Driver"}),"\n",(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/client.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,o.jsx)(e.span,{className:"line highlighted",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,o.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,o.jsx)(e.p,{children:"Driver of RPC (Remote Procedure Call)."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"Driver"})," is a proxy instance designed to call functions of the remote system. It has a generic argument ",(0,o.jsx)(e.code,{children:"Remote"})," which means the type of remote system's ",(0,o.jsx)(e.a,{href:"#provider",children:"Provider"}),", and you can remotely call the functions of the ",(0,o.jsx)(e.a,{href:"#provider",children:"Provider"})," asynchronously through the ",(0,o.jsx)(e.code,{children:"Drive"})," instance."]}),"\n",(0,o.jsxs)(e.p,{children:["When you call some function of remote ",(0,o.jsx)(e.a,{href:"#provider",children:"Provider"})," by the ",(0,o.jsx)(e.code,{children:"Driver"})," instance, it hooks the function call expression, and delivers the function name and arguments (parameter values) to the remote system through the ",(0,o.jsx)(e.a,{href:"#communicator",children:"Communicator"}),". If the remote system suceeded to reply the result of the function call, ",(0,o.jsx)(e.a,{href:"#communicator",children:"Communicator"})," resolves the promise of the function call expression with the result, so that makes ",(0,o.jsx)(e.code,{children:"Driver"})," working."]}),"\n",(0,o.jsxs)(e.p,{children:["Otherwise exception is thrown in the remote ",(0,o.jsx)(e.a,{href:"#provider",children:"Provider"})," function, ",(0,o.jsx)(e.a,{href:"#communicator",children:"Communicator"})," deliveries the exception instance instead to the remote system, so that actual exception being thrown from the ",(0,o.jsx)(e.code,{children:"Driver"})," instance."]}),"\n",(0,o.jsxs)(a.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"Demonstration"})}),(0,o.jsxs)(e.p,{children:["You can run it on ",(0,o.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,o.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.websocket"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]})]})}let d={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(x,{...s})}):x(s)},pageOpts:{filePath:"pages/docs/features/components.mdx",route:"/docs/features/components",timestamp:1724046954e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Components",headings:h},pageNextRoute:"/docs/features/components",nextraLayout:l.ZP,themeConfig:i.Z};e.default=(0,n.j)(d)},2069:function(s,e,r){"use strict";var o=r(5893);r(7294),e.Z={logo:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,o.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,o.jsxs)("span",{children:["Released under the MIT License.",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,o.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,o.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[5083,6235,177,2888,9774,179],function(){return s(s.s=8034)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/features/websocket-0f0ddaac220d7cf8.js b/_next/static/chunks/pages/docs/features/websocket-8dee114018b5c10d.js similarity index 53% rename from _next/static/chunks/pages/docs/features/websocket-0f0ddaac220d7cf8.js rename to _next/static/chunks/pages/docs/features/websocket-8dee114018b5c10d.js index b721eab..2c16615 100644 --- a/_next/static/chunks/pages/docs/features/websocket-0f0ddaac220d7cf8.js +++ b/_next/static/chunks/pages/docs/features/websocket-8dee114018b5c10d.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[125],{3085:function(s,e,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/features/websocket",function(){return o(6491)}])},6491:function(s,e,o){"use strict";o.r(e),o.d(e,{__toc:function(){return a}});var r=o(5893),l=o(2673),n=o(1334),i=o(2069);o(9488);var t=o(2643),c=o(2154);let a=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Native Classes",id:"native-classes"},{depth:3,value:"WebSocketServer",id:"websocketserver"},{depth:3,value:"WebSocketAcceptor",id:"websocketacceptor"},{depth:3,value:"WebSocketConnector",id:"websocketconnector"},{depth:2,value:"NestJS Integration",id:"nestjs-integration"},{depth:3,value:"Bootstrap",id:"bootstrap"},{depth:3,value:"NestJS Controller",id:"nestjs-controller"},{depth:3,value:"Software Development Kit",id:"software-development-kit"},{depth:3,value:"Client Application",id:"client-application"}];function h(s){let e=Object.assign({h2:"h2",p:"p",code:"code",a:"a",h3:"h3",pre:"pre",span:"span",ul:"ul",li:"li",strong:"strong",blockquote:"blockquote"},(0,t.a)(),s.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"TGrid"})," supports WebSocket protocol."]}),"\n",(0,r.jsxs)(e.p,{children:["With ",(0,r.jsx)(e.code,{children:"TGrid"}),", you can easily develop WebSocket system under the RPC (Remote Procedure Call) concept."]}),"\n",(0,r.jsxs)(e.p,{children:["By the way, when you're developing WebSocket server natively only with ",(0,r.jsx)(e.code,{children:"TGrid"}),", you have to construct and open the WebSocket server through ",(0,r.jsx)(e.a,{href:"#websocketserver",children:"WebSocketServer"})," class. Also, you have to access to the WebSocket server with manual ",(0,r.jsx)(e.a,{href:"#websocketconnector",children:"WebSocketConnector"})," composition."]}),"\n",(0,r.jsxs)(e.p,{children:["Instead, if you develop the WebSocket server with ",(0,r.jsx)(e.code,{children:"NestJS"}),", client can easily interact with the WebSocket server by SDK (Software Development Kit) library generated by ",(0,r.jsx)(e.code,{children:"Nestia"}),". Also, you can make both http and websocket operations to the NestJS controllers, so that makes the server compatible on both protocols."]}),"\n",(0,r.jsxs)(e.p,{children:["Therefore, when you develop WebSocket server, I recommend to use ",(0,r.jsx)(e.code,{children:"NestJS"})," with ",(0,r.jsx)(e.code,{children:"TGrid"})," for the best development experience."]}),"\n",(0,r.jsx)(e.h2,{id:"native-classes",children:"Native Classes"}),"\n",(0,r.jsx)(e.h3,{id:"websocketserver",children:(0,r.jsx)(e.code,{children:"WebSocketServer"})}),"\n",(0,r.jsxs)(c.mQ,{items:["Main Program","Providers","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/swebsocket/src/server.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1002"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`WebSocket API endpoint not found.`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/websocket/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/websocket/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsx)(c.UW,{type:"warning",children:(0,r.jsx)(e.p,{children:"Available only in the NodeJS."})}),"\n",(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"WebSocketServer"})," is a class which can open an websocket server. ",(0,r.jsx)(e.a,{href:"#websocketconnector",children:"Clients"})," connecting to the ",(0,r.jsx)(e.code,{children:"WebSocketServer"})," would communicate with this websocket server through ",(0,r.jsx)(e.a,{href:"#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})})," objects with RPC (Remote Procedure Call) concept."]}),"\n",(0,r.jsxs)(e.p,{children:["To open the websocket server, call the ",(0,r.jsx)(e.a,{href:"/api/classes/WorkerServer-1.html#open",children:(0,r.jsx)(e.code,{children:"WebSocketServer.open()"})})," method with target port number, and your custom callback function which would be called whenever a ",(0,r.jsx)(e.a,{href:"#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})})," has been newly created by a new client's connection."]}),"\n",(0,r.jsxs)(e.p,{children:["Also, when declaring ",(0,r.jsx)(e.code,{children:"WebSocketServer"})," type, you have to specify three generic arguments; ",(0,r.jsx)(e.code,{children:"Header"}),", ",(0,r.jsx)(e.code,{children:"Provider"})," and ",(0,r.jsx)(e.code,{children:"Remote"}),". Those generic arguments would be propagated to the ",(0,r.jsx)(e.a,{href:"#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})}),", so that ",(0,r.jsx)(e.a,{href:"#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})})," would have the same generic arguments, too."]}),"\n",(0,r.jsxs)(e.p,{children:["For reference, the first ",(0,r.jsx)(e.code,{children:"Header"})," type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,r.jsx)(e.code,{children:"Provider"})," represents a provider from server to client, and the other ",(0,r.jsx)(e.code,{children:"Remote"})," means a provider from the remote client to server."]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["Above example case:","\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"Header"}),": ",(0,r.jsx)(e.code,{children:"ICalcConfig"})," type"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"Provider"}),": Server is providing one of below to the client","\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.code,{children:"SimpleCalculator"})}),"\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.code,{children:"StatisticsCalculator"})}),"\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.code,{children:"ScientificCalculator"})}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"Remote"}),": Client is providing ",(0,r.jsx)(e.code,{children:"ICalcEventListener"})," to the server"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(e.h3,{id:"websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})}),"\n",(0,r.jsxs)(c.mQ,{items:["Main Program","Providers","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/server.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor: WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line highlighted",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ICalcEventListener"})}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line highlighted",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1002"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`WebSocket API endpoint not found.`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsx)(c.UW,{type:"warning",children:(0,r.jsx)(e.p,{children:"Available only in the NodeJS."})}),"\n",(0,r.jsxs)(e.p,{children:["The ",(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})," is a ",(0,r.jsx)(e.a,{href:"./components/#communicator",children:"communicator"})," class interacting with the remote ",(0,r.jsx)(e.a,{href:"#websocketconnector",children:"websocket client"})," through (RPC)(Remote Procedure Call) concept, created by the ",(0,r.jsx)(e.a,{href:"#websocketserver",children:(0,r.jsx)(e.code,{children:"WebSocketServer"})})," class whenever a remote client connects to the ",(0,r.jsx)(e.a,{href:"#websocketserver",children:"websocket server"}),"."]}),"\n",(0,r.jsxs)(e.p,{children:["When the closure function being called by the connection of a remote client, you can determine whether to accept the client's connection or not, reading the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#header-1",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.header"})})," or ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#path-1",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.path"})})," properties. If you've decided to accept the connection, call the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#accept",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.accept()"})})," method with ",(0,r.jsx)(e.code,{children:"Provider"})," instance. Otherwise, reject it through the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#reject",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.reject()"})})," method."]}),"\n",(0,r.jsxs)(e.p,{children:["Also, don't forget to ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#close",children:(0,r.jsx)(e.code,{children:"closing"})})," the connection after your business logic has been completed to clean up the resources. Otherwise the closing must be performed by the remote client, you can wait the remote client's closing signal by the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#join",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.join()"})})," method."]}),"\n",(0,r.jsxs)(c.UW,{type:"info",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Ping"})}),(0,r.jsx)(e.p,{children:"If client comes from web browser, the connection would be closed automatically after a certain period of time if there's no signal. In the Google Chrome case, it automatically closes the connection after 60 seconds."}),(0,r.jsxs)(e.p,{children:["To make the connection alive forcibly, you can ping a signal to the remote client repeatedly in the specified interval by calling the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#ping",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.ping()"})})," method. Therefore, when developing WebSocket server application, consider to calling the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#ping",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.ping()"})})," method after ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#accept",children:"accepting"})," the connection."]})]}),"\n",(0,r.jsx)(e.h3,{id:"websocketconnector",children:(0,r.jsx)(e.code,{children:"WebSocketConnector"})}),"\n",(0,r.jsxs)(c.mQ,{items:["Main Program","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,r.jsx)(c.UW,{type:"default",children:(0,r.jsx)(e.p,{children:"Available in both Browser/NodeJS."})}),"\n",(0,r.jsx)(e.p,{children:"Web Socket Connector."}),"\n",(0,r.jsxs)(e.p,{children:["The ",(0,r.jsx)(e.code,{children:"WebSocketConnector"})," is a ",(0,r.jsx)(e.a,{href:"./components/#communicator",children:"communicator"})," class which connects to a ",(0,r.jsx)(e.a,{href:"#websocketserver",children:"websocket server"})," and interacts with it through RPC (Remote Procedure Call) concept."]}),"\n",(0,r.jsxs)(e.p,{children:["You can connect to the websocket server using ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketConnector-1.html#connect",children:(0,r.jsx)(e.code,{children:"WebSocketConnector.connect()"})})," method. The interaction would be started if the server accepts your connection by calling the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#accept",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.accept()"})})," method. If the remote server rejects your connection through ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#reject",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.reject()"})})," method, the exception would be thrown."]}),"\n",(0,r.jsxs)(e.p,{children:["After the connection, don't forget to ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketConnector-1.html#close",children:"closing"})," the connection, if your business logics have been completed, to clean up the resources. Otherwise, the closing must be performed by the remote ",(0,r.jsx)(e.a,{href:"#websocketserver",children:"websocket server"}),", you can wait the remote server's closing signal through the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketConnector-1.html#join",children:(0,r.jsx)(e.code,{children:"WebSocketConnector.join()"})})," method."]}),"\n",(0,r.jsxs)(e.p,{children:["Also, when declaring this ",(0,r.jsx)(e.code,{children:"WebSocketConnector"})," type, you've to define three generic arguments; ",(0,r.jsx)(e.code,{children:"Header"}),", ",(0,r.jsx)(e.code,{children:"Provider"})," and ",(0,r.jsx)(e.code,{children:"Remote"}),". Those generic arguments must be same with the ones defined in the target ",(0,r.jsx)(e.a,{href:"#websocketserver",children:(0,r.jsx)(e.code,{children:"WebSocketServer"})})," and ",(0,r.jsx)(e.a,{href:"#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})})," classes (",(0,r.jsx)(e.code,{children:"Provider"})," and ",(0,r.jsx)(e.code,{children:"Remote"})," must be reversed)."]}),"\n",(0,r.jsxs)(e.p,{children:["For reference, the first ",(0,r.jsx)(e.code,{children:"Header"})," type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,r.jsx)(e.code,{children:"Provider"})," represents a provider from client to server, and the other ",(0,r.jsx)(e.code,{children:"Remote"})," means a provider from the remote server to client."]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["Above example case:","\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"Header"}),": ",(0,r.jsx)(e.code,{children:"ICalcConfig"})," type"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"Provider"}),": Client is providing ",(0,r.jsx)(e.code,{children:"ICalcEventListener"})," to the server"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"Remote"}),": Server is providing ",(0,r.jsx)(e.code,{children:"ISimpleCalculator"})," to the client"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(c.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Demonstration"})}),(0,r.jsxs)(e.p,{children:["You can run it on ",(0,r.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.websocket"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]}),"\n",(0,r.jsx)(e.h2,{id:"nestjs-integration",children:"NestJS Integration"}),"\n",(0,r.jsxs)(e.p,{children:["If you develop websocket application, I recommend integrate ",(0,r.jsx)(e.code,{children:"TGrid"})," with ",(0,r.jsx)(e.code,{children:"NestJS"}),"."]}),"\n",(0,r.jsxs)(e.p,{children:["It's because you can manage WebSocket API endpoints much effectively and easily by ",(0,r.jsx)(e.code,{children:"NestJS"})," controller patterns. Also, you can make your server to support both HTTP and WebSocket protocols at the same time. NestJS controllers are compatible with both HTTP and WebSocket operations."]}),"\n",(0,r.jsx)(e.p,{children:"In the client side, you also can take advantages of automatically generated SDK (Software Development Kit) library for the client developers. With the SDK, client developers no more need to write the WebSocket connection and RPC (Remote Procedure Call) codes manually, so that the client development becomes much easier and safer."}),"\n",(0,r.jsx)(e.h3,{id:"bootstrap",children:"Bootstrap"}),"\n",(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/bootstrap.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketAdaptor } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/core"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { INestApplication } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/common"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { NestFactory } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/core"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CalculateModule } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./calculate.module"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"bootstrap"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"INestApplication"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"app"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"INestApplication"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"NestFactory"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".create"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(CalculateModule);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketAdaptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".upgrade"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(app);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"app"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".listen"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"0.0.0.0"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" app;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})}),"\n",(0,r.jsxs)(e.p,{children:["To utilize ",(0,r.jsx)(e.code,{children:"TGrid"})," in the ",(0,r.jsx)(e.code,{children:"NestJS"}),", upgrade the NestJS application like above."]}),"\n",(0,r.jsxs)(e.p,{children:["Just call the ",(0,r.jsx)(e.a,{href:"https://nestia.io/api/classes/WebSocketAdaptor.html#upgrade",children:(0,r.jsx)(e.code,{children:"WebSocketAdaptor.upgrade()"})})," method, then you can utilize ",(0,r.jsx)(e.code,{children:"TGrid"})," in the ",(0,r.jsx)(e.code,{children:"NestJS"})," server."]}),"\n",(0,r.jsxs)(c.UW,{type:"info",children:[(0,r.jsx)(e.p,{children:"About detailed setup or more detailed informations, please refer below docs:"}),(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"https://nestia.io/docs/setup/",children:"Nestia > Guide Documents > Setup"})}),"\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"https://nestia.io/docs/core/WebSocketRoute/",children:"Nestia > Guide Documents > WebSocketRoute"})}),"\n"]})]}),"\n",(0,r.jsx)(e.h3,{id:"nestjs-controller",children:"NestJS Controller"}),"\n",(0,r.jsxs)(c.mQ,{items:["Controller","Module","Providers","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.controller.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { TypedRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketRoute } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/core"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Controller } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/common"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketAcceptor } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"@"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"calculate"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculateController"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"TypedRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Get"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Health check OK"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"() header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"() listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote client"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider from remote client"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.module.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"1",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Module } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/common"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CalculateController } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./calculate.controller"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"@"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Module"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" controllers"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [CalculateController]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"})"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculateModule"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {}"})]})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsx)(e.p,{children:"From now on, you can define WebSocket API operations like above."}),"\n",(0,r.jsxs)(e.p,{children:["Just import and attach the ",(0,r.jsx)(e.code,{children:"@WebSocketRoute()"})," decorator function to the target controller methods."]}),"\n",(0,r.jsxs)(e.p,{children:["Note that, don't forget to define ",(0,r.jsx)(e.code,{children:"@WebSocketRoute.Acceptor()"})," decorated parameter with ",(0,r.jsx)(e.a,{href:"#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})})," type. It's because the websocket server must determine whether to ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#accept",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.accept()"})})," the client's connection or ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#reject",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.reject()"})})," it."]}),"\n",(0,r.jsxs)(e.p,{children:["Also, when declaring the ",(0,r.jsx)(e.a,{href:"#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})})," type, ou have to specify three generic arguments; ",(0,r.jsx)(e.code,{children:"Header"}),", ",(0,r.jsx)(e.code,{children:"Provider"})," and ",(0,r.jsx)(e.code,{children:"Remote"}),". Those generic arguments would be propagated to the automatically generated ",(0,r.jsx)(e.a,{href:"#software-development-kit",children:"Software Development Kit"})," for the client, so that the client developers will utilize the same generic types what you've defined (",(0,r.jsx)(e.code,{children:"Provider"})," and ",(0,r.jsx)(e.code,{children:"Remote"})," must be reversed)."]}),"\n",(0,r.jsxs)(e.p,{children:["For reference, the first ",(0,r.jsx)(e.code,{children:"Header"})," type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,r.jsx)(e.code,{children:"Provider"})," represents a provider from server to client, and the other ",(0,r.jsx)(e.code,{children:"Remote"})," means a provider from the remote client to server."]}),"\n",(0,r.jsxs)(c.UW,{type:"info",children:[(0,r.jsxs)(e.p,{children:["You can find more detailed informations about ",(0,r.jsx)(e.code,{children:"@WebSocketRoute()"}),":"]}),(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.a,{href:"https://nestia.io/docs/core/WebSocketRoute/",children:"Nestia > Guide Documents > WebSocketRoute"}),"]"]}),"\n"]})]}),"\n",(0,r.jsx)(e.h3,{id:"software-development-kit",children:"Software Development Kit"}),"\n",(0,r.jsxs)(c.mQ,{items:["SDK Function","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/functional/calculate.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@packageDocumentation"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@module"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"api.functional.calculate"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//================================================================"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" Primitive } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { PlainFetcher } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher/lib/PlainFetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" GET /calculate/health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"PlainFetcher"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".fetch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Primitive"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" method"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"GET"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" request"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" response"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"application/json"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" encrypted"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" status"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsx)(e.code,{"data-language":"bash","data-theme":"default",children:(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npx"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"sdk"})]})})}),"\n",(0,r.jsxs)(e.p,{children:["When you run ",(0,r.jsx)(e.code,{children:"npx nestia sdk"})," command, SDK (Software Development Kit) library be generated."]}),"\n",(0,r.jsxs)(e.p,{children:["Above file is one of the SDK library corresponding to the ",(0,r.jsx)(e.a,{href:"#nestjs-controller",children:(0,r.jsx)(e.code,{children:"CalculateController"})})," class we've seen in the previous ",(0,r.jsx)(e.a,{href:"#nestjs-controller",children:"NestJS Controller"})," section. Client developers can utilize the automatically generated SDK functions to connect to the WebSocket server, and interact it type safely. Also, HTTP operation is compatible with the WebSocket operation."]}),"\n",(0,r.jsx)(e.p,{children:"Let's see how client developer utilizes the SDK library in the next section."}),"\n",(0,r.jsxs)(c.UW,{type:"info",children:[(0,r.jsx)(e.p,{children:"You can find more detailed informations about SDK generator:"}),(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"https://nestia.io/docs/sdk/sdk/",children:"Nestia > Guide Documents > S/W Development Kit"})}),"\n"]})]}),"\n",(0,r.jsx)(e.h3,{id:"client-application",children:"Client Application"}),"\n",(0,r.jsxs)(c.mQ,{items:["Main Program","SDK Function","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.test.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" api "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"testCalculateSdk"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// HTTP PROTOCOL"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//---"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// CALL HEALTH CHECK API"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"api"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"functional"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"calculate"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"http://127.0.0.1:37000"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// WEBSOCKET PROTOCOL"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//---"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PROVIDER FOR WEBSOCKET SERVER"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// DO CONNECT"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"api"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"functional"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"calculate"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" headers"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// CALL FUNCTIONS OF REMOTE SERVER"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// TERMINATE"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/functional/calculate.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@packageDocumentation"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@module"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"api.functional.calculate"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//================================================================"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" Primitive } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { PlainFetcher } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher/lib/PlainFetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" GET /calculate/health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"PlainFetcher"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".fetch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Primitive"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" method"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"GET"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" request"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" response"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"application/json"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" encrypted"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" status"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestFactory] Starting Nest application..."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [InstanceLoader] CalculateModule dependencies initialized +5ms"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [RoutesResolver] CalculateController {"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"/calculate}:"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"+5ms"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestApplication] Nest application successfully started +2ms"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"check"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"OK"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,r.jsx)(e.p,{children:"Do import the SDK, and enjoy the type-safe and easy-to-use RPC."}),"\n",(0,r.jsxs)(e.p,{children:["Looking at the above code, the client application is calling a function of the automatically generated SDK (Software Development Kit) library, so that connecting to the websocket server, and starting interaction through RPC (Remote Procedure Call) concept with ",(0,r.jsx)(e.a,{href:"./components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})}),"<",(0,r.jsx)(e.code,{children:"ICompositeCalculator"}),"> instance."]}),"\n",(0,r.jsxs)(e.p,{children:['Doesn\'t the "SDK based development" seems much easier and safer than the previous ',(0,r.jsxs)(e.a,{href:"#websocketconnector",children:["Natives Classes > ",(0,r.jsx)(e.code,{children:"WebSocketConnector"})]})," case? This is the reason why I've recommended to combine with the ",(0,r.jsx)(e.code,{children:"NestJS"})," when using websocket protocol based network system."]}),"\n",(0,r.jsxs)(e.p,{children:["For reference, return type of SDK function is a pair ",(0,r.jsx)(e.a,{href:"#websocketconnector",children:(0,r.jsx)(e.code,{children:"WebSocketConnector"})})," and ",(0,r.jsx)(e.a,{href:"./components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})}),"<",(0,r.jsx)(e.code,{children:"ICompositeCalculator"}),"> instances, but it would be actually returned only when the websocket server ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#accept",children:"accept"}),"s your connection. Otherwise, the websocket server ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#reject",children:"reject"}),"s your connection, an exception would be thrown."]}),"\n",(0,r.jsxs)(e.p,{children:["Also, don't forget to ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketConnector-1.html#close",children:"closing"})," the connection, if your business logics have been completed, to clean up the resources. Otherwise, the closing must be performed by the remote ",(0,r.jsx)(e.a,{href:"#websocketserver",children:"websocket server"}),", you can wait the remote server's closing signal through the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketConnector-1.html#join",children:(0,r.jsx)(e.code,{children:"WebSocketConnector.join()"})})," method."]}),"\n",(0,r.jsxs)(c.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Demonstration"})}),(0,r.jsxs)(e.p,{children:["You can run it on ",(0,r.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.nestjs"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]})]})}let x={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,r.jsx)(e,{...s,children:(0,r.jsx)(h,{...s})}):h(s)},pageOpts:{filePath:"pages/docs/features/websocket.mdx",route:"/docs/features/websocket",timestamp:1722478373e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Websocket",headings:a},pageNextRoute:"/docs/features/websocket",nextraLayout:n.ZP,themeConfig:i.Z};e.default=(0,l.j)(x)},2069:function(s,e,o){"use strict";var r=o(5893);o(7294),e.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[235,888,774,179],function(){return s(s.s=3085)}),_N_E=s.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9125],{3085:function(s,e,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/features/websocket",function(){return o(6491)}])},6491:function(s,e,o){"use strict";o.r(e),o.d(e,{__toc:function(){return a}});var r=o(5893),l=o(2673),n=o(1334),i=o(2069);o(9488);var t=o(2643),c=o(2154);let a=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Native Classes",id:"native-classes"},{depth:3,value:"WebSocketServer",id:"websocketserver"},{depth:3,value:"WebSocketAcceptor",id:"websocketacceptor"},{depth:3,value:"WebSocketConnector",id:"websocketconnector"},{depth:2,value:"NestJS Integration",id:"nestjs-integration"},{depth:3,value:"Bootstrap",id:"bootstrap"},{depth:3,value:"NestJS Controller",id:"nestjs-controller"},{depth:3,value:"Software Development Kit",id:"software-development-kit"},{depth:3,value:"Client Application",id:"client-application"}];function h(s){let e=Object.assign({h2:"h2",p:"p",code:"code",a:"a",h3:"h3",pre:"pre",span:"span",ul:"ul",li:"li",strong:"strong",blockquote:"blockquote"},(0,t.a)(),s.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"TGrid"})," supports WebSocket protocol."]}),"\n",(0,r.jsxs)(e.p,{children:["With ",(0,r.jsx)(e.code,{children:"TGrid"}),", you can easily develop WebSocket system under the RPC (Remote Procedure Call) concept."]}),"\n",(0,r.jsxs)(e.p,{children:["By the way, when you're developing WebSocket server natively only with ",(0,r.jsx)(e.code,{children:"TGrid"}),", you have to construct and open the WebSocket server through ",(0,r.jsx)(e.a,{href:"#websocketserver",children:"WebSocketServer"})," class. Also, you have to access to the WebSocket server with manual ",(0,r.jsx)(e.a,{href:"#websocketconnector",children:"WebSocketConnector"})," composition."]}),"\n",(0,r.jsxs)(e.p,{children:["Instead, if you develop the WebSocket server with ",(0,r.jsx)(e.code,{children:"NestJS"}),", client can easily interact with the WebSocket server by SDK (Software Development Kit) library generated by ",(0,r.jsx)(e.code,{children:"Nestia"}),". Also, you can make both http and websocket operations to the NestJS controllers, so that makes the server compatible on both protocols."]}),"\n",(0,r.jsxs)(e.p,{children:["Therefore, when you develop WebSocket server, I recommend to use ",(0,r.jsx)(e.code,{children:"NestJS"})," with ",(0,r.jsx)(e.code,{children:"TGrid"})," for the best development experience."]}),"\n",(0,r.jsx)(e.h2,{id:"native-classes",children:"Native Classes"}),"\n",(0,r.jsx)(e.h3,{id:"websocketserver",children:(0,r.jsx)(e.code,{children:"WebSocketServer"})}),"\n",(0,r.jsxs)(c.mQ,{items:["Main Program","Providers","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/swebsocket/src/server.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1002"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`WebSocket API endpoint not found.`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/websocket/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/websocket/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsx)(c.UW,{type:"warning",children:(0,r.jsx)(e.p,{children:"Available only in the NodeJS."})}),"\n",(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"WebSocketServer"})," is a class which can open an websocket server. ",(0,r.jsx)(e.a,{href:"#websocketconnector",children:"Clients"})," connecting to the ",(0,r.jsx)(e.code,{children:"WebSocketServer"})," would communicate with this websocket server through ",(0,r.jsx)(e.a,{href:"#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})})," objects with RPC (Remote Procedure Call) concept."]}),"\n",(0,r.jsxs)(e.p,{children:["To open the websocket server, call the ",(0,r.jsx)(e.a,{href:"/api/classes/WorkerServer-1.html#open",children:(0,r.jsx)(e.code,{children:"WebSocketServer.open()"})})," method with target port number, and your custom callback function which would be called whenever a ",(0,r.jsx)(e.a,{href:"#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})})," has been newly created by a new client's connection."]}),"\n",(0,r.jsxs)(e.p,{children:["Also, when declaring ",(0,r.jsx)(e.code,{children:"WebSocketServer"})," type, you have to specify three generic arguments; ",(0,r.jsx)(e.code,{children:"Header"}),", ",(0,r.jsx)(e.code,{children:"Provider"})," and ",(0,r.jsx)(e.code,{children:"Remote"}),". Those generic arguments would be propagated to the ",(0,r.jsx)(e.a,{href:"#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})}),", so that ",(0,r.jsx)(e.a,{href:"#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})})," would have the same generic arguments, too."]}),"\n",(0,r.jsxs)(e.p,{children:["For reference, the first ",(0,r.jsx)(e.code,{children:"Header"})," type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,r.jsx)(e.code,{children:"Provider"})," represents a provider from server to client, and the other ",(0,r.jsx)(e.code,{children:"Remote"})," means a provider from the remote client to server."]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["Above example case:","\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"Header"}),": ",(0,r.jsx)(e.code,{children:"ICalcConfig"})," type"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"Provider"}),": Server is providing one of below to the client","\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.code,{children:"SimpleCalculator"})}),"\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.code,{children:"StatisticsCalculator"})}),"\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.code,{children:"ScientificCalculator"})}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"Remote"}),": Client is providing ",(0,r.jsx)(e.code,{children:"ICalcEventListener"})," to the server"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(e.h3,{id:"websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})}),"\n",(0,r.jsxs)(c.mQ,{items:["Main Program","Providers","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/server.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor: WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line highlighted",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ICalcEventListener"})}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line highlighted",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1002"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`WebSocket API endpoint not found.`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsx)(c.UW,{type:"warning",children:(0,r.jsx)(e.p,{children:"Available only in the NodeJS."})}),"\n",(0,r.jsxs)(e.p,{children:["The ",(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})," is a ",(0,r.jsx)(e.a,{href:"./components/#communicator",children:"communicator"})," class interacting with the remote ",(0,r.jsx)(e.a,{href:"#websocketconnector",children:"websocket client"})," through (RPC)(Remote Procedure Call) concept, created by the ",(0,r.jsx)(e.a,{href:"#websocketserver",children:(0,r.jsx)(e.code,{children:"WebSocketServer"})})," class whenever a remote client connects to the ",(0,r.jsx)(e.a,{href:"#websocketserver",children:"websocket server"}),"."]}),"\n",(0,r.jsxs)(e.p,{children:["When the closure function being called by the connection of a remote client, you can determine whether to accept the client's connection or not, reading the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#header-1",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.header"})})," or ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#path-1",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.path"})})," properties. If you've decided to accept the connection, call the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#accept",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.accept()"})})," method with ",(0,r.jsx)(e.code,{children:"Provider"})," instance. Otherwise, reject it through the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#reject",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.reject()"})})," method."]}),"\n",(0,r.jsxs)(e.p,{children:["Also, don't forget to ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#close",children:(0,r.jsx)(e.code,{children:"closing"})})," the connection after your business logic has been completed to clean up the resources. Otherwise the closing must be performed by the remote client, you can wait the remote client's closing signal by the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#join",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.join()"})})," method."]}),"\n",(0,r.jsxs)(c.UW,{type:"info",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Ping"})}),(0,r.jsx)(e.p,{children:"If client comes from web browser, the connection would be closed automatically after a certain period of time if there's no signal. In the Google Chrome case, it automatically closes the connection after 60 seconds."}),(0,r.jsxs)(e.p,{children:["To make the connection alive forcibly, you can ping a signal to the remote client repeatedly in the specified interval by calling the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#ping",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.ping()"})})," method. Therefore, when developing WebSocket server application, consider to calling the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#ping",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.ping()"})})," method after ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#accept",children:"accepting"})," the connection."]})]}),"\n",(0,r.jsx)(e.h3,{id:"websocketconnector",children:(0,r.jsx)(e.code,{children:"WebSocketConnector"})}),"\n",(0,r.jsxs)(c.mQ,{items:["Main Program","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,r.jsx)(c.UW,{type:"default",children:(0,r.jsx)(e.p,{children:"Available in both Browser/NodeJS."})}),"\n",(0,r.jsx)(e.p,{children:"Web Socket Connector."}),"\n",(0,r.jsxs)(e.p,{children:["The ",(0,r.jsx)(e.code,{children:"WebSocketConnector"})," is a ",(0,r.jsx)(e.a,{href:"./components/#communicator",children:"communicator"})," class which connects to a ",(0,r.jsx)(e.a,{href:"#websocketserver",children:"websocket server"})," and interacts with it through RPC (Remote Procedure Call) concept."]}),"\n",(0,r.jsxs)(e.p,{children:["You can connect to the websocket server using ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketConnector-1.html#connect",children:(0,r.jsx)(e.code,{children:"WebSocketConnector.connect()"})})," method. The interaction would be started if the server accepts your connection by calling the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#accept",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.accept()"})})," method. If the remote server rejects your connection through ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#reject",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.reject()"})})," method, the exception would be thrown."]}),"\n",(0,r.jsxs)(e.p,{children:["After the connection, don't forget to ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketConnector-1.html#close",children:"closing"})," the connection, if your business logics have been completed, to clean up the resources. Otherwise, the closing must be performed by the remote ",(0,r.jsx)(e.a,{href:"#websocketserver",children:"websocket server"}),", you can wait the remote server's closing signal through the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketConnector-1.html#join",children:(0,r.jsx)(e.code,{children:"WebSocketConnector.join()"})})," method."]}),"\n",(0,r.jsxs)(e.p,{children:["Also, when declaring this ",(0,r.jsx)(e.code,{children:"WebSocketConnector"})," type, you've to define three generic arguments; ",(0,r.jsx)(e.code,{children:"Header"}),", ",(0,r.jsx)(e.code,{children:"Provider"})," and ",(0,r.jsx)(e.code,{children:"Remote"}),". Those generic arguments must be same with the ones defined in the target ",(0,r.jsx)(e.a,{href:"#websocketserver",children:(0,r.jsx)(e.code,{children:"WebSocketServer"})})," and ",(0,r.jsx)(e.a,{href:"#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})})," classes (",(0,r.jsx)(e.code,{children:"Provider"})," and ",(0,r.jsx)(e.code,{children:"Remote"})," must be reversed)."]}),"\n",(0,r.jsxs)(e.p,{children:["For reference, the first ",(0,r.jsx)(e.code,{children:"Header"})," type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,r.jsx)(e.code,{children:"Provider"})," represents a provider from client to server, and the other ",(0,r.jsx)(e.code,{children:"Remote"})," means a provider from the remote server to client."]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["Above example case:","\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"Header"}),": ",(0,r.jsx)(e.code,{children:"ICalcConfig"})," type"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"Provider"}),": Client is providing ",(0,r.jsx)(e.code,{children:"ICalcEventListener"})," to the server"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"Remote"}),": Server is providing ",(0,r.jsx)(e.code,{children:"ISimpleCalculator"})," to the client"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(c.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Demonstration"})}),(0,r.jsxs)(e.p,{children:["You can run it on ",(0,r.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.websocket"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]}),"\n",(0,r.jsx)(e.h2,{id:"nestjs-integration",children:"NestJS Integration"}),"\n",(0,r.jsxs)(e.p,{children:["If you develop websocket application, I recommend integrate ",(0,r.jsx)(e.code,{children:"TGrid"})," with ",(0,r.jsx)(e.code,{children:"NestJS"}),"."]}),"\n",(0,r.jsxs)(e.p,{children:["It's because you can manage WebSocket API endpoints much effectively and easily by ",(0,r.jsx)(e.code,{children:"NestJS"})," controller patterns. Also, you can make your server to support both HTTP and WebSocket protocols at the same time. NestJS controllers are compatible with both HTTP and WebSocket operations."]}),"\n",(0,r.jsx)(e.p,{children:"In the client side, you also can take advantages of automatically generated SDK (Software Development Kit) library for the client developers. With the SDK, client developers no more need to write the WebSocket connection and RPC (Remote Procedure Call) codes manually, so that the client development becomes much easier and safer."}),"\n",(0,r.jsx)(e.h3,{id:"bootstrap",children:"Bootstrap"}),"\n",(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/bootstrap.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketAdaptor } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/core"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { INestApplication } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/common"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { NestFactory } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/core"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CalculateModule } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./calculate.module"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"bootstrap"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"INestApplication"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"app"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"INestApplication"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"NestFactory"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".create"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(CalculateModule);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketAdaptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".upgrade"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(app);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"app"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".listen"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"0.0.0.0"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" app;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})}),"\n",(0,r.jsxs)(e.p,{children:["To utilize ",(0,r.jsx)(e.code,{children:"TGrid"})," in the ",(0,r.jsx)(e.code,{children:"NestJS"}),", upgrade the NestJS application like above."]}),"\n",(0,r.jsxs)(e.p,{children:["Just call the ",(0,r.jsx)(e.a,{href:"https://nestia.io/api/classes/WebSocketAdaptor.html#upgrade",children:(0,r.jsx)(e.code,{children:"WebSocketAdaptor.upgrade()"})})," method, then you can utilize ",(0,r.jsx)(e.code,{children:"TGrid"})," in the ",(0,r.jsx)(e.code,{children:"NestJS"})," server."]}),"\n",(0,r.jsxs)(c.UW,{type:"info",children:[(0,r.jsx)(e.p,{children:"About detailed setup or more detailed informations, please refer below docs:"}),(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"https://nestia.io/docs/setup/",children:"Nestia > Guide Documents > Setup"})}),"\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"https://nestia.io/docs/core/WebSocketRoute/",children:"Nestia > Guide Documents > WebSocketRoute"})}),"\n"]})]}),"\n",(0,r.jsx)(e.h3,{id:"nestjs-controller",children:"NestJS Controller"}),"\n",(0,r.jsxs)(c.mQ,{items:["Controller","Module","Providers","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.controller.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { TypedRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketRoute } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/core"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Controller } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/common"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketAcceptor } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"@"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"calculate"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculateController"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"TypedRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Get"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Health check OK"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"() header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"() listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote client"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider from remote client"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" @"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"WebSocketRoute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".Acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketAcceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"); "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.module.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"1",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Module } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestjs/common"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CalculateController } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./calculate.controller"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"@"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Module"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" controllers"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [CalculateController]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"})"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculateModule"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {}"})]})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsx)(e.p,{children:"From now on, you can define WebSocket API operations like above."}),"\n",(0,r.jsxs)(e.p,{children:["Just import and attach the ",(0,r.jsx)(e.code,{children:"@WebSocketRoute()"})," decorator function to the target controller methods."]}),"\n",(0,r.jsxs)(e.p,{children:["Note that, don't forget to define ",(0,r.jsx)(e.code,{children:"@WebSocketRoute.Acceptor()"})," decorated parameter with ",(0,r.jsx)(e.a,{href:"#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})})," type. It's because the websocket server must determine whether to ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#accept",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.accept()"})})," the client's connection or ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#reject",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor.reject()"})})," it."]}),"\n",(0,r.jsxs)(e.p,{children:["Also, when declaring the ",(0,r.jsx)(e.a,{href:"#websocketacceptor",children:(0,r.jsx)(e.code,{children:"WebSocketAcceptor"})})," type, ou have to specify three generic arguments; ",(0,r.jsx)(e.code,{children:"Header"}),", ",(0,r.jsx)(e.code,{children:"Provider"})," and ",(0,r.jsx)(e.code,{children:"Remote"}),". Those generic arguments would be propagated to the automatically generated ",(0,r.jsx)(e.a,{href:"#software-development-kit",children:"Software Development Kit"})," for the client, so that the client developers will utilize the same generic types what you've defined (",(0,r.jsx)(e.code,{children:"Provider"})," and ",(0,r.jsx)(e.code,{children:"Remote"})," must be reversed)."]}),"\n",(0,r.jsxs)(e.p,{children:["For reference, the first ",(0,r.jsx)(e.code,{children:"Header"})," type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,r.jsx)(e.code,{children:"Provider"})," represents a provider from server to client, and the other ",(0,r.jsx)(e.code,{children:"Remote"})," means a provider from the remote client to server."]}),"\n",(0,r.jsxs)(c.UW,{type:"info",children:[(0,r.jsxs)(e.p,{children:["You can find more detailed informations about ",(0,r.jsx)(e.code,{children:"@WebSocketRoute()"}),":"]}),(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.a,{href:"https://nestia.io/docs/core/WebSocketRoute/",children:"Nestia > Guide Documents > WebSocketRoute"}),"]"]}),"\n"]})]}),"\n",(0,r.jsx)(e.h3,{id:"software-development-kit",children:"Software Development Kit"}),"\n",(0,r.jsxs)(c.mQ,{items:["SDK Function","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/functional/calculate.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@packageDocumentation"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@module"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"api.functional.calculate"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//================================================================"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" Primitive } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { PlainFetcher } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher/lib/PlainFetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" GET /calculate/health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"PlainFetcher"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".fetch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Primitive"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" method"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"GET"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" request"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" response"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"application/json"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" encrypted"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" status"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsx)(e.code,{"data-language":"bash","data-theme":"default",children:(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npx"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"sdk"})]})})}),"\n",(0,r.jsxs)(e.p,{children:["When you run ",(0,r.jsx)(e.code,{children:"npx nestia sdk"})," command, SDK (Software Development Kit) library be generated."]}),"\n",(0,r.jsxs)(e.p,{children:["Above file is one of the SDK library corresponding to the ",(0,r.jsx)(e.a,{href:"#nestjs-controller",children:(0,r.jsx)(e.code,{children:"CalculateController"})})," class we've seen in the previous ",(0,r.jsx)(e.a,{href:"#nestjs-controller",children:"NestJS Controller"})," section. Client developers can utilize the automatically generated SDK functions to connect to the WebSocket server, and interact it type safely. Also, HTTP operation is compatible with the WebSocket operation."]}),"\n",(0,r.jsx)(e.p,{children:"Let's see how client developer utilizes the SDK library in the next section."}),"\n",(0,r.jsxs)(c.UW,{type:"info",children:[(0,r.jsx)(e.p,{children:"You can find more detailed informations about SDK generator:"}),(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:(0,r.jsx)(e.a,{href:"https://nestia.io/docs/sdk/sdk/",children:"Nestia > Guide Documents > S/W Development Kit"})}),"\n"]})]}),"\n",(0,r.jsx)(e.h3,{id:"client-application",children:"Client Application"}),"\n",(0,r.jsxs)(c.mQ,{items:["Main Program","SDK Function","Interfaces"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/calculate.test.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" api "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./api/interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"testCalculateSdk"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// HTTP PROTOCOL"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//---"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// CALL HEALTH CHECK API"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"api"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"functional"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"calculate"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"http://127.0.0.1:37000"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// WEBSOCKET PROTOCOL"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//---"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PROVIDER FOR WEBSOCKET SERVER"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// DO CONNECT"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"api"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"functional"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"calculate"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" headers"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// CALL FUNCTIONS OF REMOTE SERVER"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// TERMINATE"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/functional/calculate.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@packageDocumentation"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@module"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"api.functional.calculate"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//================================================================"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" Primitive } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { PlainFetcher } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"@nestia/fetcher/lib/PlainFetcher"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Health check API (HTTP GET)."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" GET /calculate/health"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"PlainFetcher"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".fetch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Primitive"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"METADATA"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" method"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"GET"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" request"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" response"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"application/json"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" encrypted"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" status"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/health"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a composite calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/composite"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"composite"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a simple calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/simple"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"simple"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a scientific calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/scientific"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Prepare a statistics calculator."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@controller"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" CalculateController.statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /calculate/statistics"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@nestia"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" Generated by Nestia - https://github.com/samchon/nestia"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IConnection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".headers "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"??"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ({} "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"as"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" provider);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connection"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".host"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Header"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Provider"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"path"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/calculate/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/nestjs/src/api/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestFactory] Starting Nest application..."})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [InstanceLoader] CalculateModule dependencies initialized +5ms"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [RoutesResolver] CalculateController {"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"/calculate}:"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"+5ms"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[Nest] 4328 - 05/15/2024, 3:19:50 AM LOG [NestApplication] Nest application successfully started +2ms"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Health"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"check"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"OK"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,r.jsx)(e.p,{children:"Do import the SDK, and enjoy the type-safe and easy-to-use RPC."}),"\n",(0,r.jsxs)(e.p,{children:["Looking at the above code, the client application is calling a function of the automatically generated SDK (Software Development Kit) library, so that connecting to the websocket server, and starting interaction through RPC (Remote Procedure Call) concept with ",(0,r.jsx)(e.a,{href:"./components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})}),"<",(0,r.jsx)(e.code,{children:"ICompositeCalculator"}),"> instance."]}),"\n",(0,r.jsxs)(e.p,{children:['Doesn\'t the "SDK based development" seems much easier and safer than the previous ',(0,r.jsxs)(e.a,{href:"#websocketconnector",children:["Natives Classes > ",(0,r.jsx)(e.code,{children:"WebSocketConnector"})]})," case? This is the reason why I've recommended to combine with the ",(0,r.jsx)(e.code,{children:"NestJS"})," when using websocket protocol based network system."]}),"\n",(0,r.jsxs)(e.p,{children:["For reference, return type of SDK function is a pair ",(0,r.jsx)(e.a,{href:"#websocketconnector",children:(0,r.jsx)(e.code,{children:"WebSocketConnector"})})," and ",(0,r.jsx)(e.a,{href:"./components/#driver",children:(0,r.jsx)(e.code,{children:"Driver"})}),"<",(0,r.jsx)(e.code,{children:"ICompositeCalculator"}),"> instances, but it would be actually returned only when the websocket server ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#accept",children:"accept"}),"s your connection. Otherwise, the websocket server ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketAcceptor-1.html#reject",children:"reject"}),"s your connection, an exception would be thrown."]}),"\n",(0,r.jsxs)(e.p,{children:["Also, don't forget to ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketConnector-1.html#close",children:"closing"})," the connection, if your business logics have been completed, to clean up the resources. Otherwise, the closing must be performed by the remote ",(0,r.jsx)(e.a,{href:"#websocketserver",children:"websocket server"}),", you can wait the remote server's closing signal through the ",(0,r.jsx)(e.a,{href:"/api/classes/WebSocketConnector-1.html#join",children:(0,r.jsx)(e.code,{children:"WebSocketConnector.join()"})})," method."]}),"\n",(0,r.jsxs)(c.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Demonstration"})}),(0,r.jsxs)(e.p,{children:["You can run it on ",(0,r.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.nestjs"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]})]})}let x={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,r.jsx)(e,{...s,children:(0,r.jsx)(h,{...s})}):h(s)},pageOpts:{filePath:"pages/docs/features/websocket.mdx",route:"/docs/features/websocket",timestamp:1724046954e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Websocket",headings:a},pageNextRoute:"/docs/features/websocket",nextraLayout:n.ZP,themeConfig:i.Z};e.default=(0,l.j)(x)},2069:function(s,e,o){"use strict";var r=o(5893);o(7294),e.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[6235,2888,9774,179],function(){return s(s.s=3085)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/features/worker-35683d38a4c87a6c.js b/_next/static/chunks/pages/docs/features/worker-35683d38a4c87a6c.js deleted file mode 100644 index baca77e..0000000 --- a/_next/static/chunks/pages/docs/features/worker-35683d38a4c87a6c.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[637],{7317:function(s,e,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/features/worker",function(){return r(4141)}])},4141:function(s,e,r){"use strict";r.r(e),r.d(e,{__toc:function(){return a}});var o=r(5893),l=r(2673),n=r(1334),i=r(2069);r(9488);var t=r(2643),c=r(2154);let a=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Worker",id:"worker"},{depth:3,value:"WorkerConnector",id:"workerconnector"},{depth:3,value:"WorkerServer",id:"workerserver"},{depth:2,value:"Shared Worker",id:"shared-worker"},{depth:3,value:"SharedWorkerServer",id:"sharedworkerserver"},{depth:3,value:"SharedWorkerAcceptor",id:"sharedworkeracceptor"},{depth:3,value:"SharedWorkerConnector",id:"sharedworkerconnector"}];function h(s){let e=Object.assign({h2:"h2",p:"p",code:"code",a:"a",h3:"h3",pre:"pre",span:"span",blockquote:"blockquote",ul:"ul",li:"li",strong:"strong"},(0,t.a)(),s.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"TGrid"})," supports ",(0,o.jsx)(e.code,{children:"Worker"}),"/",(0,o.jsx)(e.code,{children:"SharedWorker"})," protocols."]}),"\n",(0,o.jsxs)(e.p,{children:["With ",(0,o.jsx)(e.code,{children:"TGrid"}),", you can easily develop ",(0,o.jsx)(e.code,{children:"Worker"})," programs under the RPC (Remote Procedure Call) concept."]}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"TGrid"})," considers ",(0,o.jsx)(e.code,{children:"Worker"})," as a 1: 1 dedicated server, and ",(0,o.jsx)(e.code,{children:"SharedWorker"})," as a 1: N multi-client acceptable server running on the local. Therefore, the interfaces of ",(0,o.jsx)(e.code,{children:"Worker"})," and ",(0,o.jsx)(e.code,{children:"SharedWorker"})," in the ",(0,o.jsx)(e.code,{children:"TGrid"})," are similar with ",(0,o.jsx)(e.a,{href:"./websocket",children:"WebSocket components"}),". In such reason, if you're developing a complicate WebSocket system, you can simulate it in the local environment by using ",(0,o.jsx)(e.code,{children:"Worker"}),"/",(0,o.jsx)(e.code,{children:"SharedWorker"})," components."]}),"\n",(0,o.jsx)(e.h2,{id:"worker",children:"Worker"}),"\n",(0,o.jsx)(c.UW,{type:"info",children:(0,o.jsx)(e.p,{children:"Available in both Browser/NodeJS."})}),"\n",(0,o.jsxs)(e.p,{children:["You can utilize RPC (Remote Procedure Call) even in the ",(0,o.jsx)(e.code,{children:"Worker"}),"."]}),"\n",(0,o.jsx)(e.h3,{id:"workerconnector",children:(0,o.jsx)(e.code,{children:"WorkerConnector"})}),"\n",(0,o.jsxs)(c.mQ,{items:["Main Program","Interfaces"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/worker/src/client.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerConnector } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"__filename"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".ts"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ts"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"js"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"workerClientMain"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"process"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"__dirname"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/server."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/worker/src/interfaces/*.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,o.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,o.jsx)(e.p,{children:"Worker Connector."}),"\n",(0,o.jsxs)(e.p,{children:["The ",(0,o.jsx)(e.code,{children:"WorkerConnetor"})," is a ",(0,o.jsx)(e.a,{href:"./components/#communicator",children:"communicator"})," class, which creates an ",(0,o.jsx)(e.code,{children:"Worker"})," instance, and interacts with it through RPC (Remote Procedure Call). In other words, ",(0,o.jsx)(e.code,{children:"WorkerConnector"})," considers the ",(0,o.jsx)(e.code,{children:"Worker"})," instance as a remote server accepting only one client; ",(0,o.jsx)(e.a,{href:"#workerserver",children:(0,o.jsx)(e.code,{children:"WorkerServer"})}),"."]}),"\n",(0,o.jsxs)(e.p,{children:["You can create the ",(0,o.jsx)(e.code,{children:"Worker"})," instance and communicate with it by ",(0,o.jsx)(e.a,{href:"/api/classes/WorkerConnector-1.html#connect",children:(0,o.jsx)(e.code,{children:"WorkerConnector.connect()"})})," or ",(0,o.jsx)(e.a,{href:"/api/classes/WorkerConnector-1.html#compile",children:(0,o.jsx)(e.code,{children:"WorkerConnector.compile()"})})," method. The ",(0,o.jsx)(e.a,{href:"/api/classes/WorkerConnector-1.html#connect",children:(0,o.jsx)(e.code,{children:"WorkerConnector.connect()"})})," method just opens an existing JS (or TS) file, and the ",(0,o.jsx)(e.a,{href:"/api/classes/WorkerConnector-1.html#compile",children:(0,o.jsx)(e.code,{children:"WorkerConnector.compile()"})})," method writes a temporary JS (TS) file and connects to it. Anyway, the ",(0,o.jsx)(e.code,{children:"Worker"})," instanced program must open the ",(0,o.jsx)(e.a,{href:"#workerserver",children:(0,o.jsx)(e.code,{children:"WorkerServer"})}),"."]}),"\n",(0,o.jsxs)(e.p,{children:["By the way, don't forget ",(0,o.jsx)(e.a,{href:"/api/classes/WorkerConnector-1.html#close",children:"closing"})," the worker to clean up the resources. If the closing be performed by ",(0,o.jsx)(e.a,{href:"#workerserver",children:(0,o.jsx)(e.code,{children:"WorkerServer"})}),", you can wait the worker server closing through the ",(0,o.jsx)(e.a,{href:"/api/classes/WorkerConnector-1.html#wait",children:(0,o.jsx)(e.code,{children:"WorkerConnector.wait()"})})," method."]}),"\n",(0,o.jsxs)(e.p,{children:["Also, when declaring this ",(0,o.jsx)(e.code,{children:"WorkerConnector"})," type, you've to define three generic arguments; ",(0,o.jsx)(e.code,{children:"Header"}),", ",(0,o.jsx)(e.code,{children:"Provider"})," and ",(0,o.jsx)(e.code,{children:"Remote"}),". Those generic arguments must be same with the ones defined in the target ",(0,o.jsx)(e.a,{href:"#workerserver",children:(0,o.jsx)(e.code,{children:"WorkerServer"})})," class (",(0,o.jsx)(e.code,{children:"Provider"})," and ",(0,o.jsx)(e.code,{children:"Remote"})," must be reversed)."]}),"\n",(0,o.jsxs)(e.p,{children:["For reference, the first ",(0,o.jsx)(e.code,{children:"Header"})," type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,o.jsx)(e.code,{children:"Provider"})," represents a provider from client to server, and the other ",(0,o.jsx)(e.code,{children:"Remote"})," means a provider from the remote server to client."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["Above example case:","\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Header"}),": ",(0,o.jsx)(e.code,{children:"ICalcConfig"})," type"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Provider"}),": Client is providing ",(0,o.jsx)(e.code,{children:"ICalcEventListener"})," to the server"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Remote"}),": Server is providing ",(0,o.jsx)(e.code,{children:"ISimpleCalculator"})," to the client"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(c.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"Demonstration"})}),(0,o.jsxs)(e.p,{children:["You can run it on ",(0,o.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,o.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.worker"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]}),"\n",(0,o.jsx)(e.h3,{id:"workerserver",children:(0,o.jsx)(e.code,{children:"WorkerServer"})}),"\n",(0,o.jsxs)(c.mQ,{items:["Main Program","Providers","Interfaces"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/worker/src/server.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerServer } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getHeader"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((exp) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".error"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(exp);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"process"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".exit"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/worker/src/providers/*.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/worker/src/interfaces/*.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsx)(e.p,{children:"Worker Server."}),"\n",(0,o.jsxs)(e.p,{children:["The ",(0,o.jsx)(e.code,{children:"WorkerServer"})," is a class representing a Worker server which communicate with client (",(0,o.jsx)(e.a,{href:"#workerconnector",children:(0,o.jsx)(e.code,{children:"WorkerConnector"})}),"), through the RPC (Remote Procedure Call)."]}),"\n",(0,o.jsxs)(e.p,{children:["Unlike other servers, ",(0,o.jsx)(e.code,{children:"WorkerServer"})," can accept only one client (",(0,o.jsx)(e.a,{href:"#workerconnector",children:(0,o.jsx)(e.code,{children:"WorkerConnector"})}),"), because the ",(0,o.jsx)(e.code,{children:"Worker"})," is dependent on its parent instance (web page, node or parent worker). Thus, ",(0,o.jsx)(e.code,{children:"WorkerServer"})," does not have any acceptor and communicates with client (its parent) directly."]}),"\n",(0,o.jsxs)(e.p,{children:["To start communication with the client, call the ",(0,o.jsx)(e.a,{href:"http://127.0.0.1:3000/api/classes/WorkerServer-1.html#open",children:(0,o.jsx)(e.code,{children:"WorkerServer.open()"})})," method with ",(0,o.jsx)(e.code,{children:"Provider"})," instance. After your business, don't forget closing this Worker instance. If the termination is performed by the ",(0,o.jsx)(e.a,{href:"#workerconnector",children:(0,o.jsx)(e.code,{children:"WorkerConnector"})}),", you can wait the closing signal through the ",(0,o.jsx)(e.a,{href:"http://127.0.0.1:3000/api/classes/WorkerServer-1.html#join",children:(0,o.jsx)(e.code,{children:"WorkerServer.join()"})})," method."]}),"\n",(0,o.jsxs)(e.p,{children:["Also, when declaring this WorkerServer type, you've to define three generic arguments; ",(0,o.jsx)(e.code,{children:"Header"}),", ",(0,o.jsx)(e.code,{children:"Provider"})," and ",(0,o.jsx)(e.code,{children:"Remote"}),". Those generic arguments must be same with the ones defined in the target ",(0,o.jsx)(e.a,{href:"#workerconnector",children:(0,o.jsx)(e.code,{children:"WorkerConnector"})})," class (",(0,o.jsx)(e.code,{children:"Provider"})," and ",(0,o.jsx)(e.code,{children:"Remote"})," must be reversed)."]}),"\n",(0,o.jsxs)(e.p,{children:["For reference, the first ",(0,o.jsx)(e.code,{children:"Header"})," type repersents an initial data from the client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,o.jsx)(e.code,{children:"Provider"})," represents a provider from server to client, and the other ",(0,o.jsx)(e.code,{children:"Remote"})," means a provider from the client to server."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["Above example case:","\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Header"}),": ",(0,o.jsx)(e.code,{children:"ICalcConfig"})," type"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Provider"}),": Server is providing ",(0,o.jsx)(e.code,{children:"CompositeCalculator"})," to the client"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Remote"}),": Client is providing ",(0,o.jsx)(e.code,{children:"ICalcEventListener"})," to the server"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"shared-worker",children:"Shared Worker"}),"\n",(0,o.jsx)(c.UW,{type:"warning",children:(0,o.jsx)(e.p,{children:"Available only in the Web Browser."})}),"\n",(0,o.jsxs)(e.p,{children:["In the Web Browser, you also can perform RPC (Remote Procedure Call) in the ",(0,o.jsx)(e.code,{children:"SharedWorker"}),"."]}),"\n",(0,o.jsxs)(e.p,{children:["Also, as ",(0,o.jsx)(e.code,{children:"SharedWorker"})," can accept multiple clients, ",(0,o.jsx)(e.code,{children:"TGrid"})," considers it as a local server running on the web browser, and its interfaces are similar with ",(0,o.jsx)(e.a,{href:"./websocket",children:"WebSocket components"}),"."]}),"\n",(0,o.jsx)(e.h3,{id:"sharedworkerserver",children:(0,o.jsx)(e.code,{children:"SharedWorkerServer"})}),"\n",(0,o.jsxs)(c.mQ,{items:["Main Program","Providers","Interfaces"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/shared-worker/src/server.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" SharedWorkerServer } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pool"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SharedWorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SharedWorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT THE CONNECTION"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (pool "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:">="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Too much connections."'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"++"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"pool;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".join"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"--"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"pool;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".error);"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/shared-worker/src/providers/*.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/shared-worker/src/interfaces/*.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsx)(e.p,{children:"Shared Worker Server."}),"\n",(0,o.jsxs)(e.p,{children:["The ",(0,o.jsx)(e.code,{children:"SharedWorkerServer"})," is a class representing a server in ",(0,o.jsx)(e.code,{children:"SharedWorker"})," environment. Clients connecting to the ",(0,o.jsx)(e.code,{children:"SharedWorkerServer"})," would communicate with this server through ",(0,o.jsx)(e.a,{href:"#sharedworkeracceptor",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})})," instaces using RPC (Remote Procedure Call) concept."]}),"\n",(0,o.jsxs)(e.p,{children:["To open the server, call the ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerServer-1.html#open",children:(0,o.jsx)(e.code,{children:"SharedWorkerServer.open()"})})," method with your callback function which would be called whenever a ",(0,o.jsx)(e.a,{href:"#sharedworkeracceptor",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})})," has been newly created by a new client's connection."]}),"\n",(0,o.jsxs)(e.p,{children:["Also, when declaring this ",(0,o.jsx)(e.code,{children:"SharedWorkerServer"})," type, you have to define three generic arguments; ",(0,o.jsx)(e.code,{children:"Header"}),", ",(0,o.jsx)(e.code,{children:"Provider"})," and ",(0,o.jsx)(e.code,{children:"Remote"}),". Those generic arguments would be propagated to the ",(0,o.jsx)(e.a,{href:"#sharedworkeracceptor",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})}),", so that ",(0,o.jsx)(e.a,{href:"#sharedworkeracceptor",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})})," would have the same generic arguments, too."]}),"\n",(0,o.jsxs)(e.p,{children:["For reference, the first ",(0,o.jsx)(e.code,{children:"Header"})," type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,o.jsx)(e.code,{children:"Provider"})," represents a provider from server to client, and the other ",(0,o.jsx)(e.code,{children:"Remote"})," means a provider from the remote client to server."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["Above example case:","\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Header"}),": ",(0,o.jsx)(e.code,{children:"ICalcConfig"})," type"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Provider"}),": Server is providing ",(0,o.jsx)(e.code,{children:"CompositeCalculator"})," to the client"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Remote"}),": Client is providing ",(0,o.jsx)(e.code,{children:"ICalcEventListener"})," to the server"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(e.h3,{id:"sharedworkeracceptor",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})}),"\n",(0,o.jsxs)(c.mQ,{items:["Main Program","Providers","Interfaces"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/shared-worker/src/server.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" SharedWorkerAcceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" SharedWorkerServer } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pool"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SharedWorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SharedWorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor: SharedWorkerAcceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line highlighted",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ICalcEventListener"})}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:">"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line highlighted",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT THE CONNECTION"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (pool "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:">="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Too much connections."'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"++"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"pool;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".join"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"--"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"pool;"})]}),"\n",(0,o.jsx)(e.span,{className:"line highlighted",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".error);"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/shared-worker/src/interfaces/*.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsx)(e.p,{children:"Shared Worker Acceptor."}),"\n",(0,o.jsxs)(e.p,{children:["The ",(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})," is a ",(0,o.jsx)(e.a,{href:"./components/#communicator",children:"communicator"})," class interacting with the ",(0,o.jsx)(e.a,{href:"#sharedworkerconnector",children:(0,o.jsx)(e.code,{children:"SharedWorkerConnector"})})," through RFC (Remote Function Call), created by the ",(0,o.jsx)(e.a,{href:"#sharedworkerserver",children:(0,o.jsx)(e.code,{children:"SharedWorkerServer"})})," class whenever a client connects to the ",(0,o.jsx)(e.code,{children:"SharedWorker"})," instance."]}),"\n",(0,o.jsxs)(e.p,{children:["When a remote client connects to the ",(0,o.jsx)(e.a,{href:"#sharedworkerserver",children:(0,o.jsx)(e.code,{children:"SharedWorkerServer"})}),", so that a new ",(0,o.jsx)(e.code,{children:"SharedworkerAcceptor"})," instance being created, you can determine whether to accept the client's connection or not, reading the ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#header-1",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor.header"})})," property. If you've decided to accept the connection, call the ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#accept",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor.accept()"})})," method with Provider instance. Otherwise, reject it thorugh the ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#reject",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor.reject()"})})," method."]}),"\n",(0,o.jsxs)(e.p,{children:["After ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#accept",children:"accepting"})," the connection, don't forget to ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#close",children:"closing"})," the connection after your business has been completed to clean up the resources. Otherwise the closing must be performed by the remote client, you can wait the remote client's closing signal by the ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#accept",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor.join()"})})," method."]}),"\n",(0,o.jsxs)(e.p,{children:["Also, when declaring this ",(0,o.jsx)(e.code,{children:"SharedworkerAcceptor"})," type, you have to define three generic arguments; ",(0,o.jsx)(e.code,{children:"Header"}),", ",(0,o.jsx)(e.code,{children:"Provider"})," and ",(0,o.jsx)(e.code,{children:"Remote"}),". Those generic arguments must be same with the ones defined in the ",(0,o.jsx)(e.a,{href:"#sharedworkerserver",children:(0,o.jsx)(e.code,{children:"SharedWorkerServer"})})," class."]}),"\n",(0,o.jsxs)(e.p,{children:["For reference, the first ",(0,o.jsx)(e.code,{children:"Header"})," type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,o.jsx)(e.code,{children:"Provider"})," represents a provider from server to client, and the other ",(0,o.jsx)(e.code,{children:"Remote"})," means a provider from the remote client to server."]}),"\n",(0,o.jsx)(e.h3,{id:"sharedworkerconnector",children:(0,o.jsx)(e.code,{children:"SharedWorkerConnector"})}),"\n",(0,o.jsxs)(c.mQ,{items:["Main Program","Interfaces"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/shared-worker/src/client.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" SharedWorkerConnector } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SharedWorkerConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SharedWorkerConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`./server.js`"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"for"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"evt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"of"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" stack) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"JSON"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".stringify"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".error);"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/shared-worker/src/interfaces/*.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"console",children:(0,o.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"type"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"plus"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[10,20],"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"output"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":30}"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"type"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"multiplies"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[3,4],"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"output"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":12}"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"type"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"divides"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[5,3],"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"output"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":1.67}"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"type"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"sqrt"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[2],"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"output"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":1.41}"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"type"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"mean"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[1,3,9],"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"output"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":4.33}"})]})]})}),"\n"]}),"\n",(0,o.jsx)(e.p,{children:"Shared Worker Connector."}),"\n",(0,o.jsxs)(e.p,{children:["The ",(0,o.jsx)(e.code,{children:"SharedWorkerConnector"})," is a ",(0,o.jsx)(e.a,{href:"./components/#communicator",children:"communicator"})," class which connects to an ",(0,o.jsx)(e.code,{children:"SharedWorker"})," instance, and interacts with it through RFC (Remote Function Call) concept."]}),"\n",(0,o.jsxs)(e.p,{children:["You can connect to the ",(0,o.jsx)(e.a,{href:"#sharedworkerserver",children:(0,o.jsx)(e.code,{children:"SharedWorkerServer"})})," using ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerConnector-1.html#connect",children:(0,o.jsx)(e.code,{children:"SharedWorkerConnector.connect()"})})," method. The interaction would be started if the server accepts your connection by calling the ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#accept",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor.accept()"})})," method. If the remote server rejects your connection through ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#reject",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor.reject()"})})," method, the exception would be thrown."]}),"\n",(0,o.jsxs)(e.p,{children:["After the connection, don't forget to ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerConnector-1.html#close",children:"closing"})," the connection, if your business logics have been completed, to clean up the resources. Otherwise, the closing must be performed by the remote shared worker server, you can wait the remote server's closing signal through the ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerConnector-1.html#join",children:(0,o.jsx)(e.code,{children:"SharedWorkerConnector.join()"})})," method."]}),"\n",(0,o.jsxs)(e.p,{children:["Also, when declaring this ",(0,o.jsx)(e.code,{children:"SharedWorkerConnector"})," type, you've to define three generic arguments; ",(0,o.jsx)(e.code,{children:"Header"}),", ",(0,o.jsx)(e.code,{children:"Provider"})," and ",(0,o.jsx)(e.code,{children:"Remote"}),". Those generic arguments must be same with the ones defined in the target ",(0,o.jsx)(e.a,{href:"#sharedworkerserver",children:(0,o.jsx)(e.code,{children:"SharedWorkerServer"})})," and ",(0,o.jsx)(e.a,{href:"#sharedworkeracceptor",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})})," classes (Provider and ",(0,o.jsx)(e.code,{children:"Remote"})," must be reversed)."]}),"\n",(0,o.jsxs)(e.p,{children:["For reference, the first ",(0,o.jsx)(e.code,{children:"Header"})," type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,o.jsx)(e.code,{children:"Provider"})," represents a provider from client to server, and the other ",(0,o.jsx)(e.code,{children:"Remote"})," means a provider from the remote server to client."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["Above example case:","\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Header"}),": ",(0,o.jsx)(e.code,{children:"ICalcConfig"})," type"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Provider"}),": Client is providing ",(0,o.jsx)(e.code,{children:"ICalcEventListener"})," to the server"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Remote"}),": Server is providing ",(0,o.jsx)(e.code,{children:"ISimpleCalculator"})," to the client"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(c.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"Demonstration"})}),(0,o.jsx)(e.p,{children:"You can run it on your local machine."}),(0,o.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.shared-worker"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"run"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"build"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]})]})}let x={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(h,{...s})}):h(s)},pageOpts:{filePath:"pages/docs/features/worker.mdx",route:"/docs/features/worker",timestamp:1722478373e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Worker",headings:a},pageNextRoute:"/docs/features/worker",nextraLayout:n.ZP,themeConfig:i.Z};e.default=(0,l.j)(x)},2069:function(s,e,r){"use strict";var o=r(5893);r(7294),e.Z={logo:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,o.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,o.jsxs)("span",{children:["Released under the MIT License.",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,o.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,o.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[235,888,774,179],function(){return s(s.s=7317)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/features/worker-6ba57c80834fe01b.js b/_next/static/chunks/pages/docs/features/worker-6ba57c80834fe01b.js new file mode 100644 index 0000000..e79aace --- /dev/null +++ b/_next/static/chunks/pages/docs/features/worker-6ba57c80834fe01b.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8637],{7317:function(s,e,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/features/worker",function(){return r(4141)}])},4141:function(s,e,r){"use strict";r.r(e),r.d(e,{__toc:function(){return a}});var o=r(5893),l=r(2673),n=r(1334),i=r(2069);r(9488);var t=r(2643),c=r(2154);let a=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Worker",id:"worker"},{depth:3,value:"WorkerConnector",id:"workerconnector"},{depth:3,value:"WorkerServer",id:"workerserver"},{depth:2,value:"Shared Worker",id:"shared-worker"},{depth:3,value:"SharedWorkerServer",id:"sharedworkerserver"},{depth:3,value:"SharedWorkerAcceptor",id:"sharedworkeracceptor"},{depth:3,value:"SharedWorkerConnector",id:"sharedworkerconnector"}];function h(s){let e=Object.assign({h2:"h2",p:"p",code:"code",a:"a",h3:"h3",pre:"pre",span:"span",blockquote:"blockquote",ul:"ul",li:"li",strong:"strong"},(0,t.a)(),s.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"TGrid"})," supports ",(0,o.jsx)(e.code,{children:"Worker"}),"/",(0,o.jsx)(e.code,{children:"SharedWorker"})," protocols."]}),"\n",(0,o.jsxs)(e.p,{children:["With ",(0,o.jsx)(e.code,{children:"TGrid"}),", you can easily develop ",(0,o.jsx)(e.code,{children:"Worker"})," programs under the RPC (Remote Procedure Call) concept."]}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"TGrid"})," considers ",(0,o.jsx)(e.code,{children:"Worker"})," as a 1: 1 dedicated server, and ",(0,o.jsx)(e.code,{children:"SharedWorker"})," as a 1: N multi-client acceptable server running on the local. Therefore, the interfaces of ",(0,o.jsx)(e.code,{children:"Worker"})," and ",(0,o.jsx)(e.code,{children:"SharedWorker"})," in the ",(0,o.jsx)(e.code,{children:"TGrid"})," are similar with ",(0,o.jsx)(e.a,{href:"./websocket",children:"WebSocket components"}),". In such reason, if you're developing a complicate WebSocket system, you can simulate it in the local environment by using ",(0,o.jsx)(e.code,{children:"Worker"}),"/",(0,o.jsx)(e.code,{children:"SharedWorker"})," components."]}),"\n",(0,o.jsx)(e.h2,{id:"worker",children:"Worker"}),"\n",(0,o.jsx)(c.UW,{type:"info",children:(0,o.jsx)(e.p,{children:"Available in both Browser/NodeJS."})}),"\n",(0,o.jsxs)(e.p,{children:["You can utilize RPC (Remote Procedure Call) even in the ",(0,o.jsx)(e.code,{children:"Worker"}),"."]}),"\n",(0,o.jsx)(e.h3,{id:"workerconnector",children:(0,o.jsx)(e.code,{children:"WorkerConnector"})}),"\n",(0,o.jsxs)(c.mQ,{items:["Main Program","Interfaces"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/worker/src/client.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerConnector } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"__filename"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".ts"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ts"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"js"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"workerClientMain"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"process"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"__dirname"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/server."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"EXTENSION"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/worker/src/interfaces/*.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,o.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,o.jsx)(e.p,{children:"Worker Connector."}),"\n",(0,o.jsxs)(e.p,{children:["The ",(0,o.jsx)(e.code,{children:"WorkerConnetor"})," is a ",(0,o.jsx)(e.a,{href:"./components/#communicator",children:"communicator"})," class, which creates an ",(0,o.jsx)(e.code,{children:"Worker"})," instance, and interacts with it through RPC (Remote Procedure Call). In other words, ",(0,o.jsx)(e.code,{children:"WorkerConnector"})," considers the ",(0,o.jsx)(e.code,{children:"Worker"})," instance as a remote server accepting only one client; ",(0,o.jsx)(e.a,{href:"#workerserver",children:(0,o.jsx)(e.code,{children:"WorkerServer"})}),"."]}),"\n",(0,o.jsxs)(e.p,{children:["You can create the ",(0,o.jsx)(e.code,{children:"Worker"})," instance and communicate with it by ",(0,o.jsx)(e.a,{href:"/api/classes/WorkerConnector-1.html#connect",children:(0,o.jsx)(e.code,{children:"WorkerConnector.connect()"})})," or ",(0,o.jsx)(e.a,{href:"/api/classes/WorkerConnector-1.html#compile",children:(0,o.jsx)(e.code,{children:"WorkerConnector.compile()"})})," method. The ",(0,o.jsx)(e.a,{href:"/api/classes/WorkerConnector-1.html#connect",children:(0,o.jsx)(e.code,{children:"WorkerConnector.connect()"})})," method just opens an existing JS (or TS) file, and the ",(0,o.jsx)(e.a,{href:"/api/classes/WorkerConnector-1.html#compile",children:(0,o.jsx)(e.code,{children:"WorkerConnector.compile()"})})," method writes a temporary JS (TS) file and connects to it. Anyway, the ",(0,o.jsx)(e.code,{children:"Worker"})," instanced program must open the ",(0,o.jsx)(e.a,{href:"#workerserver",children:(0,o.jsx)(e.code,{children:"WorkerServer"})}),"."]}),"\n",(0,o.jsxs)(e.p,{children:["By the way, don't forget ",(0,o.jsx)(e.a,{href:"/api/classes/WorkerConnector-1.html#close",children:"closing"})," the worker to clean up the resources. If the closing be performed by ",(0,o.jsx)(e.a,{href:"#workerserver",children:(0,o.jsx)(e.code,{children:"WorkerServer"})}),", you can wait the worker server closing through the ",(0,o.jsx)(e.a,{href:"/api/classes/WorkerConnector-1.html#wait",children:(0,o.jsx)(e.code,{children:"WorkerConnector.wait()"})})," method."]}),"\n",(0,o.jsxs)(e.p,{children:["Also, when declaring this ",(0,o.jsx)(e.code,{children:"WorkerConnector"})," type, you've to define three generic arguments; ",(0,o.jsx)(e.code,{children:"Header"}),", ",(0,o.jsx)(e.code,{children:"Provider"})," and ",(0,o.jsx)(e.code,{children:"Remote"}),". Those generic arguments must be same with the ones defined in the target ",(0,o.jsx)(e.a,{href:"#workerserver",children:(0,o.jsx)(e.code,{children:"WorkerServer"})})," class (",(0,o.jsx)(e.code,{children:"Provider"})," and ",(0,o.jsx)(e.code,{children:"Remote"})," must be reversed)."]}),"\n",(0,o.jsxs)(e.p,{children:["For reference, the first ",(0,o.jsx)(e.code,{children:"Header"})," type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,o.jsx)(e.code,{children:"Provider"})," represents a provider from client to server, and the other ",(0,o.jsx)(e.code,{children:"Remote"})," means a provider from the remote server to client."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["Above example case:","\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Header"}),": ",(0,o.jsx)(e.code,{children:"ICalcConfig"})," type"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Provider"}),": Client is providing ",(0,o.jsx)(e.code,{children:"ICalcEventListener"})," to the server"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Remote"}),": Server is providing ",(0,o.jsx)(e.code,{children:"ISimpleCalculator"})," to the client"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(c.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"Demonstration"})}),(0,o.jsxs)(e.p,{children:["You can run it on ",(0,o.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,o.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.worker"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]}),"\n",(0,o.jsx)(e.h3,{id:"workerserver",children:(0,o.jsx)(e.code,{children:"WorkerServer"})}),"\n",(0,o.jsxs)(c.mQ,{items:["Main Program","Providers","Interfaces"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/worker/src/server.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WorkerServer } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"header"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getHeader"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"provider"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" header"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(provider);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((exp) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".error"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(exp);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"process"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".exit"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/worker/src/providers/*.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/worker/src/interfaces/*.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsx)(e.p,{children:"Worker Server."}),"\n",(0,o.jsxs)(e.p,{children:["The ",(0,o.jsx)(e.code,{children:"WorkerServer"})," is a class representing a Worker server which communicate with client (",(0,o.jsx)(e.a,{href:"#workerconnector",children:(0,o.jsx)(e.code,{children:"WorkerConnector"})}),"), through the RPC (Remote Procedure Call)."]}),"\n",(0,o.jsxs)(e.p,{children:["Unlike other servers, ",(0,o.jsx)(e.code,{children:"WorkerServer"})," can accept only one client (",(0,o.jsx)(e.a,{href:"#workerconnector",children:(0,o.jsx)(e.code,{children:"WorkerConnector"})}),"), because the ",(0,o.jsx)(e.code,{children:"Worker"})," is dependent on its parent instance (web page, node or parent worker). Thus, ",(0,o.jsx)(e.code,{children:"WorkerServer"})," does not have any acceptor and communicates with client (its parent) directly."]}),"\n",(0,o.jsxs)(e.p,{children:["To start communication with the client, call the ",(0,o.jsx)(e.a,{href:"http://127.0.0.1:3000/api/classes/WorkerServer-1.html#open",children:(0,o.jsx)(e.code,{children:"WorkerServer.open()"})})," method with ",(0,o.jsx)(e.code,{children:"Provider"})," instance. After your business, don't forget closing this Worker instance. If the termination is performed by the ",(0,o.jsx)(e.a,{href:"#workerconnector",children:(0,o.jsx)(e.code,{children:"WorkerConnector"})}),", you can wait the closing signal through the ",(0,o.jsx)(e.a,{href:"http://127.0.0.1:3000/api/classes/WorkerServer-1.html#join",children:(0,o.jsx)(e.code,{children:"WorkerServer.join()"})})," method."]}),"\n",(0,o.jsxs)(e.p,{children:["Also, when declaring this WorkerServer type, you've to define three generic arguments; ",(0,o.jsx)(e.code,{children:"Header"}),", ",(0,o.jsx)(e.code,{children:"Provider"})," and ",(0,o.jsx)(e.code,{children:"Remote"}),". Those generic arguments must be same with the ones defined in the target ",(0,o.jsx)(e.a,{href:"#workerconnector",children:(0,o.jsx)(e.code,{children:"WorkerConnector"})})," class (",(0,o.jsx)(e.code,{children:"Provider"})," and ",(0,o.jsx)(e.code,{children:"Remote"})," must be reversed)."]}),"\n",(0,o.jsxs)(e.p,{children:["For reference, the first ",(0,o.jsx)(e.code,{children:"Header"})," type repersents an initial data from the client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,o.jsx)(e.code,{children:"Provider"})," represents a provider from server to client, and the other ",(0,o.jsx)(e.code,{children:"Remote"})," means a provider from the client to server."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["Above example case:","\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Header"}),": ",(0,o.jsx)(e.code,{children:"ICalcConfig"})," type"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Provider"}),": Server is providing ",(0,o.jsx)(e.code,{children:"CompositeCalculator"})," to the client"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Remote"}),": Client is providing ",(0,o.jsx)(e.code,{children:"ICalcEventListener"})," to the server"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"shared-worker",children:"Shared Worker"}),"\n",(0,o.jsx)(c.UW,{type:"warning",children:(0,o.jsx)(e.p,{children:"Available only in the Web Browser."})}),"\n",(0,o.jsxs)(e.p,{children:["In the Web Browser, you also can perform RPC (Remote Procedure Call) in the ",(0,o.jsx)(e.code,{children:"SharedWorker"}),"."]}),"\n",(0,o.jsxs)(e.p,{children:["Also, as ",(0,o.jsx)(e.code,{children:"SharedWorker"})," can accept multiple clients, ",(0,o.jsx)(e.code,{children:"TGrid"})," considers it as a local server running on the web browser, and its interfaces are similar with ",(0,o.jsx)(e.a,{href:"./websocket",children:"WebSocket components"}),"."]}),"\n",(0,o.jsx)(e.h3,{id:"sharedworkerserver",children:(0,o.jsx)(e.code,{children:"SharedWorkerServer"})}),"\n",(0,o.jsxs)(c.mQ,{items:["Main Program","Providers","Interfaces"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/shared-worker/src/server.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" SharedWorkerServer } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pool"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SharedWorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SharedWorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT THE CONNECTION"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (pool "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:">="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Too much connections."'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"++"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"pool;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".join"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"--"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"pool;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".error);"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/shared-worker/src/providers/*.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/shared-worker/src/interfaces/*.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsx)(e.p,{children:"Shared Worker Server."}),"\n",(0,o.jsxs)(e.p,{children:["The ",(0,o.jsx)(e.code,{children:"SharedWorkerServer"})," is a class representing a server in ",(0,o.jsx)(e.code,{children:"SharedWorker"})," environment. Clients connecting to the ",(0,o.jsx)(e.code,{children:"SharedWorkerServer"})," would communicate with this server through ",(0,o.jsx)(e.a,{href:"#sharedworkeracceptor",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})})," instaces using RPC (Remote Procedure Call) concept."]}),"\n",(0,o.jsxs)(e.p,{children:["To open the server, call the ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerServer-1.html#open",children:(0,o.jsx)(e.code,{children:"SharedWorkerServer.open()"})})," method with your callback function which would be called whenever a ",(0,o.jsx)(e.a,{href:"#sharedworkeracceptor",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})})," has been newly created by a new client's connection."]}),"\n",(0,o.jsxs)(e.p,{children:["Also, when declaring this ",(0,o.jsx)(e.code,{children:"SharedWorkerServer"})," type, you have to define three generic arguments; ",(0,o.jsx)(e.code,{children:"Header"}),", ",(0,o.jsx)(e.code,{children:"Provider"})," and ",(0,o.jsx)(e.code,{children:"Remote"}),". Those generic arguments would be propagated to the ",(0,o.jsx)(e.a,{href:"#sharedworkeracceptor",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})}),", so that ",(0,o.jsx)(e.a,{href:"#sharedworkeracceptor",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})})," would have the same generic arguments, too."]}),"\n",(0,o.jsxs)(e.p,{children:["For reference, the first ",(0,o.jsx)(e.code,{children:"Header"})," type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,o.jsx)(e.code,{children:"Provider"})," represents a provider from server to client, and the other ",(0,o.jsx)(e.code,{children:"Remote"})," means a provider from the remote client to server."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["Above example case:","\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Header"}),": ",(0,o.jsx)(e.code,{children:"ICalcConfig"})," type"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Provider"}),": Server is providing ",(0,o.jsx)(e.code,{children:"CompositeCalculator"})," to the client"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Remote"}),": Client is providing ",(0,o.jsx)(e.code,{children:"ICalcEventListener"})," to the server"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(e.h3,{id:"sharedworkeracceptor",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})}),"\n",(0,o.jsxs)(c.mQ,{items:["Main Program","Providers","Interfaces"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/shared-worker/src/server.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" SharedWorkerAcceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" SharedWorkerServer } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pool"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SharedWorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SharedWorkerServer"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" acceptor: SharedWorkerAcceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line highlighted",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ICalcEventListener"})}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:">"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsx)(e.span,{className:"line highlighted",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT THE CONNECTION"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (pool "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:">="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"8"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Too much connections."'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"++"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"pool;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".join"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"--"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"pool;"})]}),"\n",(0,o.jsx)(e.span,{className:"line highlighted",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line highlighted",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".error);"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/shared-worker/src/interfaces/*.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsx)(e.p,{children:"Shared Worker Acceptor."}),"\n",(0,o.jsxs)(e.p,{children:["The ",(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})," is a ",(0,o.jsx)(e.a,{href:"./components/#communicator",children:"communicator"})," class interacting with the ",(0,o.jsx)(e.a,{href:"#sharedworkerconnector",children:(0,o.jsx)(e.code,{children:"SharedWorkerConnector"})})," through RFC (Remote Function Call), created by the ",(0,o.jsx)(e.a,{href:"#sharedworkerserver",children:(0,o.jsx)(e.code,{children:"SharedWorkerServer"})})," class whenever a client connects to the ",(0,o.jsx)(e.code,{children:"SharedWorker"})," instance."]}),"\n",(0,o.jsxs)(e.p,{children:["When a remote client connects to the ",(0,o.jsx)(e.a,{href:"#sharedworkerserver",children:(0,o.jsx)(e.code,{children:"SharedWorkerServer"})}),", so that a new ",(0,o.jsx)(e.code,{children:"SharedworkerAcceptor"})," instance being created, you can determine whether to accept the client's connection or not, reading the ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#header-1",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor.header"})})," property. If you've decided to accept the connection, call the ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#accept",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor.accept()"})})," method with Provider instance. Otherwise, reject it thorugh the ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#reject",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor.reject()"})})," method."]}),"\n",(0,o.jsxs)(e.p,{children:["After ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#accept",children:"accepting"})," the connection, don't forget to ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#close",children:"closing"})," the connection after your business has been completed to clean up the resources. Otherwise the closing must be performed by the remote client, you can wait the remote client's closing signal by the ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#accept",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor.join()"})})," method."]}),"\n",(0,o.jsxs)(e.p,{children:["Also, when declaring this ",(0,o.jsx)(e.code,{children:"SharedworkerAcceptor"})," type, you have to define three generic arguments; ",(0,o.jsx)(e.code,{children:"Header"}),", ",(0,o.jsx)(e.code,{children:"Provider"})," and ",(0,o.jsx)(e.code,{children:"Remote"}),". Those generic arguments must be same with the ones defined in the ",(0,o.jsx)(e.a,{href:"#sharedworkerserver",children:(0,o.jsx)(e.code,{children:"SharedWorkerServer"})})," class."]}),"\n",(0,o.jsxs)(e.p,{children:["For reference, the first ",(0,o.jsx)(e.code,{children:"Header"})," type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,o.jsx)(e.code,{children:"Provider"})," represents a provider from server to client, and the other ",(0,o.jsx)(e.code,{children:"Remote"})," means a provider from the remote client to server."]}),"\n",(0,o.jsx)(e.h3,{id:"sharedworkerconnector",children:(0,o.jsx)(e.code,{children:"SharedWorkerConnector"})}),"\n",(0,o.jsxs)(c.mQ,{items:["Main Program","Interfaces"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/shared-worker/src/client.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" SharedWorkerConnector } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SharedWorkerConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SharedWorkerConnector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`./server.js`"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"for"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"evt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"of"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" stack) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"JSON"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".stringify"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt));"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"main"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".error);"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/shared-worker/src/interfaces/*.ts",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"console",children:(0,o.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"type"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"plus"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[10,20],"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"output"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":30}"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"type"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"multiplies"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[3,4],"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"output"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":12}"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"type"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"divides"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[5,3],"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"output"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":1.67}"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"type"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"sqrt"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[2],"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"output"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":1.41}"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"type"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"mean"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[1,3,9],"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:'"output"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:":4.33}"})]})]})}),"\n"]}),"\n",(0,o.jsx)(e.p,{children:"Shared Worker Connector."}),"\n",(0,o.jsxs)(e.p,{children:["The ",(0,o.jsx)(e.code,{children:"SharedWorkerConnector"})," is a ",(0,o.jsx)(e.a,{href:"./components/#communicator",children:"communicator"})," class which connects to an ",(0,o.jsx)(e.code,{children:"SharedWorker"})," instance, and interacts with it through RFC (Remote Function Call) concept."]}),"\n",(0,o.jsxs)(e.p,{children:["You can connect to the ",(0,o.jsx)(e.a,{href:"#sharedworkerserver",children:(0,o.jsx)(e.code,{children:"SharedWorkerServer"})})," using ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerConnector-1.html#connect",children:(0,o.jsx)(e.code,{children:"SharedWorkerConnector.connect()"})})," method. The interaction would be started if the server accepts your connection by calling the ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#accept",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor.accept()"})})," method. If the remote server rejects your connection through ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerAcceptor-1.html#reject",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor.reject()"})})," method, the exception would be thrown."]}),"\n",(0,o.jsxs)(e.p,{children:["After the connection, don't forget to ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerConnector-1.html#close",children:"closing"})," the connection, if your business logics have been completed, to clean up the resources. Otherwise, the closing must be performed by the remote shared worker server, you can wait the remote server's closing signal through the ",(0,o.jsx)(e.a,{href:"/api/classes/SharedWorkerConnector-1.html#join",children:(0,o.jsx)(e.code,{children:"SharedWorkerConnector.join()"})})," method."]}),"\n",(0,o.jsxs)(e.p,{children:["Also, when declaring this ",(0,o.jsx)(e.code,{children:"SharedWorkerConnector"})," type, you've to define three generic arguments; ",(0,o.jsx)(e.code,{children:"Header"}),", ",(0,o.jsx)(e.code,{children:"Provider"})," and ",(0,o.jsx)(e.code,{children:"Remote"}),". Those generic arguments must be same with the ones defined in the target ",(0,o.jsx)(e.a,{href:"#sharedworkerserver",children:(0,o.jsx)(e.code,{children:"SharedWorkerServer"})})," and ",(0,o.jsx)(e.a,{href:"#sharedworkeracceptor",children:(0,o.jsx)(e.code,{children:"SharedWorkerAcceptor"})})," classes (Provider and ",(0,o.jsx)(e.code,{children:"Remote"})," must be reversed)."]}),"\n",(0,o.jsxs)(e.p,{children:["For reference, the first ",(0,o.jsx)(e.code,{children:"Header"})," type repersents an initial data from the remote client after the connection. I recommend utilize it as an activation tool for security enhancement. The second generic argument ",(0,o.jsx)(e.code,{children:"Provider"})," represents a provider from client to server, and the other ",(0,o.jsx)(e.code,{children:"Remote"})," means a provider from the remote server to client."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["Above example case:","\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Header"}),": ",(0,o.jsx)(e.code,{children:"ICalcConfig"})," type"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Provider"}),": Client is providing ",(0,o.jsx)(e.code,{children:"ICalcEventListener"})," to the server"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"Remote"}),": Server is providing ",(0,o.jsx)(e.code,{children:"ISimpleCalculator"})," to the client"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(c.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"Demonstration"})}),(0,o.jsx)(e.p,{children:"You can run it on your local machine."}),(0,o.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.shared-worker"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"run"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"build"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]})]})}let x={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(h,{...s})}):h(s)},pageOpts:{filePath:"pages/docs/features/worker.mdx",route:"/docs/features/worker",timestamp:1724046954e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Worker",headings:a},pageNextRoute:"/docs/features/worker",nextraLayout:n.ZP,themeConfig:i.Z};e.default=(0,l.j)(x)},2069:function(s,e,r){"use strict";var o=r(5893);r(7294),e.Z={logo:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,o.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,o.jsxs)("span",{children:["Released under the MIT License.",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,o.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,o.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[6235,2888,9774,179],function(){return s(s.s=7317)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/projects/chat-431fee5f4afd4657.js b/_next/static/chunks/pages/docs/projects/chat-431fee5f4afd4657.js new file mode 100644 index 0000000..b27036c --- /dev/null +++ b/_next/static/chunks/pages/docs/projects/chat-431fee5f4afd4657.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9199],{4449:function(e,t,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/projects/chat",function(){return o(833)}])},833:function(e,t,o){"use strict";o.r(t),o.d(t,{__toc:function(){return d},default:function(){return u}});var n=o(5893),r=o(2673),i=o(1334),c=o(2069);o(9488);var a=o(2643),s={src:"/_next/static/media/chat-ui.8326981b.png",height:1458,width:1784,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAXVBMVEX////+/v7+/fv8/f38/P38/Pz7/Pz7+/z7+/v6+/v6+vv6+vr6+vj5+vr5+fn4+fn39/f29vb19fP09PLz8/Tu7u7u7evs7e3R2ufN1+bN1uXG1uPH0+HB0+DDzd39xOPIAAAAPElEQVR42gWABxZAMAxAfxArVEOtGvc/Zh/XnfP/fg9bBUzHypnGupk7cBVsQNgdURXBg6q1QIrB+iVaAVwxAnl2t7lgAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:7};let d=[{depth:2,value:"Preparing",id:"preparing"}];function l(e){let t=Object.assign({h2:"h2",p:"p",img:"img",a:"a"},(0,a.a)(),e.components);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"preparing",children:"Preparing"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Chat Application UI",placeholder:"blur",src:s})}),"\n",(0,n.jsx)(t.p,{children:"Preparing the chatting application project documentation."}),"\n",(0,n.jsx)(t.p,{children:"Also, upgrading very old project to be modernized."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/samchon/tgrid.projects.chat",children:"https://github.com/samchon/tgrid.projects.chat"})})]})}let p={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,a.a)(),e.components);return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)},pageOpts:{filePath:"pages/docs/projects/chat.mdx",route:"/docs/projects/chat",timestamp:1724046954e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Chat",headings:d},pageNextRoute:"/docs/projects/chat",nextraLayout:i.ZP,themeConfig:c.Z};var u=(0,r.j)(p)},2069:function(e,t,o){"use strict";var n=o(5893);o(7294),t.Z={logo:()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,n.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,n.jsxs)("span",{children:["Released under the MIT License.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,n.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,n.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(e=>({rel:"icon",type:"image/png",sizes:"".concat(e,"x").concat(e),href:"/favicon/favicon-".concat(e,"x").concat(e,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(e){e.O(0,[6235,2888,9774,179],function(){return e(e.s=4449)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/projects/chat-5b4280ef2ce9e2cd.js b/_next/static/chunks/pages/docs/projects/chat-5b4280ef2ce9e2cd.js deleted file mode 100644 index 3dddec8..0000000 --- a/_next/static/chunks/pages/docs/projects/chat-5b4280ef2ce9e2cd.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[199],{4449:function(e,t,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/projects/chat",function(){return o(833)}])},833:function(e,t,o){"use strict";o.r(t),o.d(t,{__toc:function(){return d},default:function(){return u}});var n=o(5893),r=o(2673),i=o(1334),c=o(2069);o(9488);var a=o(2643),s={src:"/_next/static/media/chat-ui.8326981b.png",height:1458,width:1784,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAXVBMVEX////+/v7+/fv8/f38/P38/Pz7/Pz7+/z7+/v6+/v6+vv6+vr6+vj5+vr5+fn4+fn39/f29vb19fP09PLz8/Tu7u7u7evs7e3R2ufN1+bN1uXG1uPH0+HB0+DDzd39xOPIAAAAPElEQVR42gWABxZAMAxAfxArVEOtGvc/Zh/XnfP/fg9bBUzHypnGupk7cBVsQNgdURXBg6q1QIrB+iVaAVwxAnl2t7lgAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:7};let d=[{depth:2,value:"Preparing",id:"preparing"}];function l(e){let t=Object.assign({h2:"h2",p:"p",img:"img",a:"a"},(0,a.a)(),e.components);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"preparing",children:"Preparing"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Chat Application UI",placeholder:"blur",src:s})}),"\n",(0,n.jsx)(t.p,{children:"Preparing the chatting application project documentation."}),"\n",(0,n.jsx)(t.p,{children:"Also, upgrading very old project to be modernized."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/samchon/tgrid.projects.chat",children:"https://github.com/samchon/tgrid.projects.chat"})})]})}let p={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,a.a)(),e.components);return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)},pageOpts:{filePath:"pages/docs/projects/chat.mdx",route:"/docs/projects/chat",timestamp:1722478373e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Chat",headings:d},pageNextRoute:"/docs/projects/chat",nextraLayout:i.ZP,themeConfig:c.Z};var u=(0,r.j)(p)},2069:function(e,t,o){"use strict";var n=o(5893);o(7294),t.Z={logo:()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,n.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,n.jsxs)("span",{children:["Released under the MIT License.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,n.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,n.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(e=>({rel:"icon",type:"image/png",sizes:"".concat(e,"x").concat(e),href:"/favicon/favicon-".concat(e,"x").concat(e,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(e){e.O(0,[235,888,774,179],function(){return e(e.s=4449)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/projects/market-35f572c94ef2116b.js b/_next/static/chunks/pages/docs/projects/market-35f572c94ef2116b.js new file mode 100644 index 0000000..cda5a58 --- /dev/null +++ b/_next/static/chunks/pages/docs/projects/market-35f572c94ef2116b.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8793],{9998:function(e,t,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/projects/market",function(){return o(3633)}])},3633:function(e,t,o){"use strict";o.r(t),o.d(t,{__toc:function(){return d},default:function(){return m}});var r=o(5893),n=o(2673),i=o(1334),c=o(2069);o(9488);var a=o(2643),s={src:"/_next/static/media/grid-market-actors.726765f6.png",height:588,width:1059,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAAf0lEQVR42mMoW9/LwgACYQ+58xZdv5236MZLjvbTkiChxF2bWRlgoGtbtX7W3B4d37abajVLbpgxwEDb7gynpu0pKTUbExwidzZxle9n4E5bs88i8+iytOyLMzwYajclbGjYknwtc7WPUeT6fvOMtd12ovszNTJOTj+beHzKQQC2cDLSorQ/9gAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:4};let d=[{depth:2,value:"Preparing",id:"preparing"}];function l(e){let t=Object.assign({h2:"h2",p:"p",img:"img",a:"a"},(0,a.a)(),e.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"preparing",children:"Preparing"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Grid Market Actors",placeholder:"blur",src:s})}),"\n",(0,r.jsx)(t.p,{children:"Preparing the grid market project documentation."}),"\n",(0,r.jsx)(t.p,{children:"Also, upgrading very old project to be modernized."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/samchon/tgrid.projects.market",children:"https://github.com/samchon/tgrid.projects.market"})})]})}let p={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,a.a)(),e.components);return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)},pageOpts:{filePath:"pages/docs/projects/market.mdx",route:"/docs/projects/market",timestamp:1724046954e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Market",headings:d},pageNextRoute:"/docs/projects/market",nextraLayout:i.ZP,themeConfig:c.Z};var m=(0,n.j)(p)},2069:function(e,t,o){"use strict";var r=o(5893);o(7294),t.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(e=>({rel:"icon",type:"image/png",sizes:"".concat(e,"x").concat(e),href:"/favicon/favicon-".concat(e,"x").concat(e,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(e){e.O(0,[6235,2888,9774,179],function(){return e(e.s=9998)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/projects/market-7ca2ec1cf906b649.js b/_next/static/chunks/pages/docs/projects/market-7ca2ec1cf906b649.js deleted file mode 100644 index 785b470..0000000 --- a/_next/static/chunks/pages/docs/projects/market-7ca2ec1cf906b649.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[793],{9998:function(e,t,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/projects/market",function(){return o(3633)}])},3633:function(e,t,o){"use strict";o.r(t),o.d(t,{__toc:function(){return d},default:function(){return m}});var r=o(5893),n=o(2673),i=o(1334),c=o(2069);o(9488);var a=o(2643),s={src:"/_next/static/media/grid-market-actors.726765f6.png",height:588,width:1059,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAAf0lEQVR42mMoW9/LwgACYQ+58xZdv5236MZLjvbTkiChxF2bWRlgoGtbtX7W3B4d37abajVLbpgxwEDb7gynpu0pKTUbExwidzZxle9n4E5bs88i8+iytOyLMzwYajclbGjYknwtc7WPUeT6fvOMtd12ovszNTJOTj+beHzKQQC2cDLSorQ/9gAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:4};let d=[{depth:2,value:"Preparing",id:"preparing"}];function l(e){let t=Object.assign({h2:"h2",p:"p",img:"img",a:"a"},(0,a.a)(),e.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"preparing",children:"Preparing"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Grid Market Actors",placeholder:"blur",src:s})}),"\n",(0,r.jsx)(t.p,{children:"Preparing the grid market project documentation."}),"\n",(0,r.jsx)(t.p,{children:"Also, upgrading very old project to be modernized."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/samchon/tgrid.projects.market",children:"https://github.com/samchon/tgrid.projects.market"})})]})}let p={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,a.a)(),e.components);return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)},pageOpts:{filePath:"pages/docs/projects/market.mdx",route:"/docs/projects/market",timestamp:1722478373e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Market",headings:d},pageNextRoute:"/docs/projects/market",nextraLayout:i.ZP,themeConfig:c.Z};var m=(0,n.j)(p)},2069:function(e,t,o){"use strict";var r=o(5893);o(7294),t.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(e=>({rel:"icon",type:"image/png",sizes:"".concat(e,"x").concat(e),href:"/favicon/favicon-".concat(e,"x").concat(e,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(e){e.O(0,[235,888,774,179],function(){return e(e.s=9998)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/projects/mutex-5b827b3a60bfb1a9.js b/_next/static/chunks/pages/docs/projects/mutex-5b827b3a60bfb1a9.js new file mode 100644 index 0000000..025b35b --- /dev/null +++ b/_next/static/chunks/pages/docs/projects/mutex-5b827b3a60bfb1a9.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9651],{7604:function(e,t,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/projects/mutex",function(){return o(939)}])},939:function(e,t,o){"use strict";o.r(t),o.d(t,{__toc:function(){return d},default:function(){return u}});var n=o(5893),r=o(2673),i=o(1334),c=o(2069);o(9488);var a=o(2643),s={src:"/_next/static/media/mutex-server-demo.7f348e50.gif",height:298,width:662,blurWidth:0,blurHeight:0};let d=[{depth:2,value:"Preparing",id:"preparing"}];function l(e){let t=Object.assign({h2:"h2",p:"p",img:"img",a:"a"},(0,a.a)(),e.components);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"preparing",children:"Preparing"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Mutex Server Demo",src:s})}),"\n",(0,n.jsx)(t.p,{children:"Preparing the mutex server project documentation."}),"\n",(0,n.jsx)(t.p,{children:"Also, upgrading very old project to be modernized."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/samchon/mutex",children:"https://github.com/samchon/mutex"})})]})}let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,a.a)(),e.components);return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)},pageOpts:{filePath:"pages/docs/projects/mutex.mdx",route:"/docs/projects/mutex",timestamp:1724046954e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Mutex",headings:d},pageNextRoute:"/docs/projects/mutex",nextraLayout:i.ZP,themeConfig:c.Z};var u=(0,r.j)(m)},2069:function(e,t,o){"use strict";var n=o(5893);o(7294),t.Z={logo:()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,n.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,n.jsxs)("span",{children:["Released under the MIT License.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,n.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,n.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(e=>({rel:"icon",type:"image/png",sizes:"".concat(e,"x").concat(e),href:"/favicon/favicon-".concat(e,"x").concat(e,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(e){e.O(0,[6235,2888,9774,179],function(){return e(e.s=7604)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/projects/mutex-6cc590d7ab20736e.js b/_next/static/chunks/pages/docs/projects/mutex-6cc590d7ab20736e.js deleted file mode 100644 index a60015e..0000000 --- a/_next/static/chunks/pages/docs/projects/mutex-6cc590d7ab20736e.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[651],{7604:function(e,t,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/projects/mutex",function(){return o(939)}])},939:function(e,t,o){"use strict";o.r(t),o.d(t,{__toc:function(){return d},default:function(){return u}});var n=o(5893),r=o(2673),i=o(1334),c=o(2069);o(9488);var a=o(2643),s={src:"/_next/static/media/mutex-server-demo.7f348e50.gif",height:298,width:662,blurWidth:0,blurHeight:0};let d=[{depth:2,value:"Preparing",id:"preparing"}];function l(e){let t=Object.assign({h2:"h2",p:"p",img:"img",a:"a"},(0,a.a)(),e.components);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"preparing",children:"Preparing"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Mutex Server Demo",src:s})}),"\n",(0,n.jsx)(t.p,{children:"Preparing the mutex server project documentation."}),"\n",(0,n.jsx)(t.p,{children:"Also, upgrading very old project to be modernized."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://github.com/samchon/mutex",children:"https://github.com/samchon/mutex"})})]})}let m={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,a.a)(),e.components);return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)},pageOpts:{filePath:"pages/docs/projects/mutex.mdx",route:"/docs/projects/mutex",timestamp:1722478373e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Mutex",headings:d},pageNextRoute:"/docs/projects/mutex",nextraLayout:i.ZP,themeConfig:c.Z};var u=(0,r.j)(m)},2069:function(e,t,o){"use strict";var n=o(5893);o(7294),t.Z={logo:()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,n.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,n.jsxs)("span",{children:["Released under the MIT License.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,n.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,n.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(e=>({rel:"icon",type:"image/png",sizes:"".concat(e,"x").concat(e),href:"/favicon/favicon-".concat(e,"x").concat(e,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(e){e.O(0,[235,888,774,179],function(){return e(e.s=7604)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/remote-procedure-call-0227858445490802.js b/_next/static/chunks/pages/docs/remote-procedure-call-0227858445490802.js deleted file mode 100644 index 02d5837..0000000 --- a/_next/static/chunks/pages/docs/remote-procedure-call-0227858445490802.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[433],{3911:function(s,e,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/remote-procedure-call",function(){return o(8796)}])},8796:function(s,e,o){"use strict";o.r(e),o.d(e,{__toc:function(){return a}});var r=o(5893),l=o(2673),n=o(1334),i=o(2069);o(9488);var t=o(2643),c=o(2154);let a=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Demonstration",id:"demonstration"},{depth:2,value:"RPC Driver",id:"rpc-driver"},{depth:2,value:"Restrictions",id:"restrictions"}];function h(s){let e=Object.assign({h2:"h2",p:"p",code:"code",pre:"pre",span:"span",blockquote:"blockquote",strong:"strong",a:"a"},(0,t.a)(),s.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,r.jsxs)(e.p,{children:["With ",(0,r.jsx)(e.code,{children:"TGrid"}),", you can call remote procedures of provided by remote system."]}),"\n",(0,r.jsxs)(e.p,{children:["If remote system provides a function, ",(0,r.jsx)(e.code,{children:"TGrid"})," lets you call it as if it was a local function own. If remote system provides some functions that are capsuled in hierarchical structured objects, you still can call them as if they were your own. This is the concept of RPC (Remote Procedure Call) what ",(0,r.jsx)(e.code,{children:"TGrid"})," is saying."]}),"\n",(0,r.jsxs)(e.p,{children:["By the way, there are many other RPC (Remote Procedure Call) frameworks or libraries in the world. However, ",(0,r.jsx)(e.code,{children:"TGrid"})," is different from them. RPC of ",(0,r.jsx)(e.code,{children:"TGrid"})," does not mean only calling and getting returned value from the remote system's procedure, but also ensuring type safety. With the type safety, you can actually feel like that the remote procedure is your own."]}),"\n",(0,r.jsx)(e.h2,{id:"demonstration",children:"Demonstration"}),"\n",(0,r.jsxs)(c.mQ,{items:["Client Program","Server Program","Interfaces","Providers"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line highlighted",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/server.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1002"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`WebSocket API endpoint not found.`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,r.jsxs)(e.p,{children:["Here is the one of example programs that demonstrating the RPC (Remote Procedure Call) of ",(0,r.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,r.jsxs)(e.p,{children:['At first, looking at the "Client Program" tab, you can find out that the "Client Program" is calling the "Server Program"\'s functions as if they were its own, through the ',(0,r.jsx)(e.code,{children:"Driver"})," typed instance with ",(0,r.jsx)(e.code,{children:"await"})," symbols."]}),"\n",(0,r.jsxs)(e.p,{children:['At next, change the tab to "Server Program", then you can find out that the "Server Program" is serving ',(0,r.jsx)(e.code,{children:"CompositeCalculator"}),' class to the "Client Program". Calling the functions of ',(0,r.jsx)(e.code,{children:"CompositeCalculator"}),' in the "Server Program" from the "Client Program" through the ',(0,r.jsx)(e.code,{children:"Driver"})," typed instance, this is the RPC (Remote Procedure Call) of ",(0,r.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,r.jsxs)(c.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Demonstration"})}),(0,r.jsxs)(e.p,{children:["You can run it on ",(0,r.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.websocket"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]}),"\n",(0,r.jsx)(e.h2,{id:"rpc-driver",children:"RPC Driver"}),"\n",(0,r.jsxs)(c.mQ,{items:["Client Program","Server Program","Interfaces","Providers"],selectedIndex:2,children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/server.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1002"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`WebSocket API endpoint not found.`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.p,{children:["Looking at the above ",(0,r.jsx)(e.code,{children:"ICompositeCalculator"}),' type from the "Interfaces" tab, none of the functions are actually asynchrounous. However, the "Client Program" is attaching ',(0,r.jsx)(e.code,{children:"await"})," symbols. It's because every return types of ",(0,r.jsx)(e.code,{children:"ICompositeCalculator"})," have changed to ",(0,r.jsx)(e.code,{children:"Promise"})," types through the ",(0,r.jsx)(e.code,{children:"Driver"})," type."]}),"\n",(0,r.jsxs)(e.p,{children:["As the ",(0,r.jsx)(e.code,{children:"Driver"}),' typed instance is not a "Client Program"\'s own, but the "Server Program"\'s own (',(0,r.jsx)(e.code,{children:"CompositeCalculator"}),"), the function call must be passed through the asynchronous network communication. In such reason, the remote function calling cannot be synchronous, but asynchronous, and ",(0,r.jsx)(e.code,{children:"Driver"})," type is casting them."]}),"\n",(0,r.jsxs)(c.UW,{type:"warning",emoji:"\uD83D\uDCA1",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Tip"})}),(0,r.jsxs)(e.p,{children:["Description of ",(0,r.jsx)(e.code,{children:"Driver"})," type in the ",(0,r.jsx)(e.a,{href:"./features/components",children:"Features > Components"})," chatper."]}),(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"Driver"})," is a proxy instance designed to call functions of the remote system. It has a generic argument ",(0,r.jsx)(e.code,{children:"Remote"})," which means the type of remote system's ",(0,r.jsx)(e.a,{href:"./features/components/#provider",children:"Provider"}),", and you can remotely call the functions of the ",(0,r.jsx)(e.a,{href:"#provider",children:"Provider"})," asynchronously through the ",(0,r.jsx)(e.code,{children:"Drive"})," instance."]}),(0,r.jsxs)(e.p,{children:["When you call some function of remote ",(0,r.jsx)(e.a,{href:"./features/components/#provider",children:"Provider"})," by the ",(0,r.jsx)(e.code,{children:"Driver"})," instance, it hooks the function call expression, and delivers the function name and arguments (parameter values) to the remote system through the ",(0,r.jsx)(e.a,{href:"./features/components/#communicator",children:"Communicator"}),". If the remote system suceeded to reply the result of the function call, ",(0,r.jsx)(e.a,{href:"./features/components/#communicator",children:"Communicator"})," resolves the promise of the function call expression with the result, so that makes ",(0,r.jsx)(e.code,{children:"Driver"})," working."]}),(0,r.jsxs)(e.p,{children:["Otherwise exception is thrown in the remote ",(0,r.jsx)(e.a,{href:"./features/components/#provider",children:"Provider"})," function, ",(0,r.jsx)(e.a,{href:"./features/components/#communicator",children:"Communicator"})," deliveries the exception instance instead to the remote system, so that actual exception being thrown from the ",(0,r.jsx)(e.code,{children:"Driver"})," instance."]})]}),"\n",(0,r.jsx)(e.h2,{id:"restrictions",children:"Restrictions"}),"\n",(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"TGrid"})," has implemented the RPC (Remote Procedure Call) by communicating JSON message. Therefore, if parameters or return values of the remote provided functions are not compatible JSON, you can't use them."]}),"\n",(0,r.jsxs)(e.p,{children:["For example, JSON does not support ",(0,r.jsx)(e.code,{children:"bigint"})," type of JavaScript. Therefore, if some of the remote provided functions are using ",(0,r.jsx)(e.code,{children:"bigint"})," type on their parameters or return value, it would throw an exception."]}),"\n",(0,r.jsx)(e.p,{children:"Also, as JSON does not contain class transformation spec, every parameters and return values must be primitive types. If you try to deliver the class instance as a parameter or return value, it would be downgraded to primitive instance in the remote system."})]})}let x={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,r.jsx)(e,{...s,children:(0,r.jsx)(h,{...s})}):h(s)},pageOpts:{filePath:"pages/docs/remote-procedure-call.mdx",route:"/docs/remote-procedure-call",timestamp:1722478373e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Remote Procedure Call",headings:a},pageNextRoute:"/docs/remote-procedure-call",nextraLayout:n.ZP,themeConfig:i.Z};e.default=(0,l.j)(x)},2069:function(s,e,o){"use strict";var r=o(5893);o(7294),e.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[235,888,774,179],function(){return s(s.s=3911)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/remote-procedure-call-77f4afa3b7f38a96.js b/_next/static/chunks/pages/docs/remote-procedure-call-77f4afa3b7f38a96.js new file mode 100644 index 0000000..172546e --- /dev/null +++ b/_next/static/chunks/pages/docs/remote-procedure-call-77f4afa3b7f38a96.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8433],{3911:function(s,e,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/remote-procedure-call",function(){return o(8796)}])},8796:function(s,e,o){"use strict";o.r(e),o.d(e,{__toc:function(){return a}});var r=o(5893),l=o(2673),n=o(1334),i=o(2069);o(9488);var t=o(2643),c=o(2154);let a=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Demonstration",id:"demonstration"},{depth:2,value:"RPC Driver",id:"rpc-driver"},{depth:2,value:"Restrictions",id:"restrictions"}];function h(s){let e=Object.assign({h2:"h2",p:"p",code:"code",pre:"pre",span:"span",blockquote:"blockquote",strong:"strong",a:"a"},(0,t.a)(),s.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,r.jsxs)(e.p,{children:["With ",(0,r.jsx)(e.code,{children:"TGrid"}),", you can call remote procedures of provided by remote system."]}),"\n",(0,r.jsxs)(e.p,{children:["If remote system provides a function, ",(0,r.jsx)(e.code,{children:"TGrid"})," lets you call it as if it was a local function own. If remote system provides some functions that are capsuled in hierarchical structured objects, you still can call them as if they were your own. This is the concept of RPC (Remote Procedure Call) what ",(0,r.jsx)(e.code,{children:"TGrid"})," is saying."]}),"\n",(0,r.jsxs)(e.p,{children:["By the way, there are many other RPC (Remote Procedure Call) frameworks or libraries in the world. However, ",(0,r.jsx)(e.code,{children:"TGrid"})," is different from them. RPC of ",(0,r.jsx)(e.code,{children:"TGrid"})," does not mean only calling and getting returned value from the remote system's procedure, but also ensuring type safety. With the type safety, you can actually feel like that the remote procedure is your own."]}),"\n",(0,r.jsx)(e.h2,{id:"demonstration",children:"Demonstration"}),"\n",(0,r.jsxs)(c.mQ,{items:["Client Program","Server Program","Interfaces","Providers"],children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line highlighted",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/server.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line highlighted",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1002"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`WebSocket API endpoint not found.`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"["})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'plus'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'multiplies'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"12"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'divides'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.67"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'sqrt'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1.41"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" },"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { type: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'mean'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", input: [ "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:", "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ], output: "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4.33"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n"]}),"\n",(0,r.jsxs)(e.p,{children:["Here is the one of example programs that demonstrating the RPC (Remote Procedure Call) of ",(0,r.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,r.jsxs)(e.p,{children:['At first, looking at the "Client Program" tab, you can find out that the "Client Program" is calling the "Server Program"\'s functions as if they were its own, through the ',(0,r.jsx)(e.code,{children:"Driver"})," typed instance with ",(0,r.jsx)(e.code,{children:"await"})," symbols."]}),"\n",(0,r.jsxs)(e.p,{children:['At next, change the tab to "Server Program", then you can find out that the "Server Program" is serving ',(0,r.jsx)(e.code,{children:"CompositeCalculator"}),' class to the "Client Program". Calling the functions of ',(0,r.jsx)(e.code,{children:"CompositeCalculator"}),' in the "Server Program" from the "Client Program" through the ',(0,r.jsx)(e.code,{children:"Driver"})," typed instance, this is the RPC (Remote Procedure Call) of ",(0,r.jsx)(e.code,{children:"TGrid"}),"."]}),"\n",(0,r.jsxs)(c.UW,{type:"info",emoji:"\uD83D\uDCBB",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Demonstration"})}),(0,r.jsxs)(e.p,{children:["You can run it on ",(0,r.jsx)(e.a,{href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",children:"Playground Website"}),", or local machine."]}),(0,r.jsx)(e.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",hasCopyCode:!0,children:(0,r.jsxs)(e.code,{"data-language":"bash","data-theme":"default",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"git"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"clone"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"https://github.com/samchon/tgrid.example.websocket"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"install"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})})]}),"\n",(0,r.jsx)(e.h2,{id:"rpc-driver",children:"RPC Driver"}),"\n",(0,r.jsxs)(c.mQ,{items:["Client Program","Server Program","Interfaces","Providers"],selectedIndex:2,children:[(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/client.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketConnector } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEvent } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEvent"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketClientMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[] "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (evt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"stack"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".push"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(evt)"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketConnector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// header"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// provider for remote server"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".connect"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ws://127.0.0.1:37000/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"remote"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 30"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 12"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.67"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 1.41"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"9"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// returns 4.33"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"connector"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(stack);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/websocket/src/server.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" WebSocketServer } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { CompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/CompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/ScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { SimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/SimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { StatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./providers/StatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"webSocketServerMain"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"WebSocketServer"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"server"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".open"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"37_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (acceptor) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// LIST UP PROPERTIES"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".header;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getDriver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ACCEPT OR REJECT"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/composite"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/simple"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/statistics"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".path "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"/scientific"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".accept"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reject"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1002"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`WebSocket API endpoint not found.`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// PING REPEATEDLY TO KEEP CONNECTION"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"acceptor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".ping"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"15_000"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" server;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/providers/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { Driver } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tgrid"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcConfig } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcConfig"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICalcEventListener } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICalcEventListener"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ICompositeCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ICompositeCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IScientificCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IScientificCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { ISimpleCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/ISimpleCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { IStatisticsCalculator } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"../interfaces/IStatisticsCalculator"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"abstract"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"protected"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"10"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".precision);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(output "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pow;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"({ type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".catch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"plus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minus"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"multiplies"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"divides"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pow"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sqrt"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"log"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(base));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CalculatorBase"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"mean"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"sum"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".reduce"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y) "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" x "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(y "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".compute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"stdev"'}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(sum "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CompositeCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"SimpleCalculator"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"implements"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"readonly"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"constructor"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Driver"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) {"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"super"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".scientific "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".statistics "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"StatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(config"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" listener);"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,r.jsx)(c.OK,{children:(0,r.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/interfaces/*.ts",children:(0,r.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcConfig"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" precision"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" output"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEventListener"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"on"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(event"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICalcEvent"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:" "}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ICompositeCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" scientific"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" statistics"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISimpleCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"plus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"minus"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"multiplies"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"divides"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IScientificCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pow"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" y"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"sqrt"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"log"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(x"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" base"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IStatisticsCalculator"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"mean"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"stdev"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"values"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[])"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,r.jsxs)(e.p,{children:["Looking at the above ",(0,r.jsx)(e.code,{children:"ICompositeCalculator"}),' type from the "Interfaces" tab, none of the functions are actually asynchrounous. However, the "Client Program" is attaching ',(0,r.jsx)(e.code,{children:"await"})," symbols. It's because every return types of ",(0,r.jsx)(e.code,{children:"ICompositeCalculator"})," have changed to ",(0,r.jsx)(e.code,{children:"Promise"})," types through the ",(0,r.jsx)(e.code,{children:"Driver"})," type."]}),"\n",(0,r.jsxs)(e.p,{children:["As the ",(0,r.jsx)(e.code,{children:"Driver"}),' typed instance is not a "Client Program"\'s own, but the "Server Program"\'s own (',(0,r.jsx)(e.code,{children:"CompositeCalculator"}),"), the function call must be passed through the asynchronous network communication. In such reason, the remote function calling cannot be synchronous, but asynchronous, and ",(0,r.jsx)(e.code,{children:"Driver"})," type is casting them."]}),"\n",(0,r.jsxs)(c.UW,{type:"warning",emoji:"\uD83D\uDCA1",children:[(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Tip"})}),(0,r.jsxs)(e.p,{children:["Description of ",(0,r.jsx)(e.code,{children:"Driver"})," type in the ",(0,r.jsx)(e.a,{href:"./features/components",children:"Features > Components"})," chatper."]}),(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"Driver"})," is a proxy instance designed to call functions of the remote system. It has a generic argument ",(0,r.jsx)(e.code,{children:"Remote"})," which means the type of remote system's ",(0,r.jsx)(e.a,{href:"./features/components/#provider",children:"Provider"}),", and you can remotely call the functions of the ",(0,r.jsx)(e.a,{href:"#provider",children:"Provider"})," asynchronously through the ",(0,r.jsx)(e.code,{children:"Drive"})," instance."]}),(0,r.jsxs)(e.p,{children:["When you call some function of remote ",(0,r.jsx)(e.a,{href:"./features/components/#provider",children:"Provider"})," by the ",(0,r.jsx)(e.code,{children:"Driver"})," instance, it hooks the function call expression, and delivers the function name and arguments (parameter values) to the remote system through the ",(0,r.jsx)(e.a,{href:"./features/components/#communicator",children:"Communicator"}),". If the remote system suceeded to reply the result of the function call, ",(0,r.jsx)(e.a,{href:"./features/components/#communicator",children:"Communicator"})," resolves the promise of the function call expression with the result, so that makes ",(0,r.jsx)(e.code,{children:"Driver"})," working."]}),(0,r.jsxs)(e.p,{children:["Otherwise exception is thrown in the remote ",(0,r.jsx)(e.a,{href:"./features/components/#provider",children:"Provider"})," function, ",(0,r.jsx)(e.a,{href:"./features/components/#communicator",children:"Communicator"})," deliveries the exception instance instead to the remote system, so that actual exception being thrown from the ",(0,r.jsx)(e.code,{children:"Driver"})," instance."]})]}),"\n",(0,r.jsx)(e.h2,{id:"restrictions",children:"Restrictions"}),"\n",(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"TGrid"})," has implemented the RPC (Remote Procedure Call) by communicating JSON message. Therefore, if parameters or return values of the remote provided functions are not compatible JSON, you can't use them."]}),"\n",(0,r.jsxs)(e.p,{children:["For example, JSON does not support ",(0,r.jsx)(e.code,{children:"bigint"})," type of JavaScript. Therefore, if some of the remote provided functions are using ",(0,r.jsx)(e.code,{children:"bigint"})," type on their parameters or return value, it would throw an exception."]}),"\n",(0,r.jsx)(e.p,{children:"Also, as JSON does not contain class transformation spec, every parameters and return values must be primitive types. If you try to deliver the class instance as a parameter or return value, it would be downgraded to primitive instance in the remote system."})]})}let x={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,r.jsx)(e,{...s,children:(0,r.jsx)(h,{...s})}):h(s)},pageOpts:{filePath:"pages/docs/remote-procedure-call.mdx",route:"/docs/remote-procedure-call",timestamp:1724046954e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Remote Procedure Call",headings:a},pageNextRoute:"/docs/remote-procedure-call",nextraLayout:n.ZP,themeConfig:i.Z};e.default=(0,l.j)(x)},2069:function(s,e,o){"use strict";var r=o(5893);o(7294),e.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(s){s.O(0,[6235,2888,9774,179],function(){return s(s.s=3911)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/setup-6c5a041f3a3d4968.js b/_next/static/chunks/pages/docs/setup-6c5a041f3a3d4968.js new file mode 100644 index 0000000..75c39af --- /dev/null +++ b/_next/static/chunks/pages/docs/setup-6c5a041f3a3d4968.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9625],{668:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/setup",function(){return n(9533)}])},9533:function(e,t,n){"use strict";n.r(t),n.d(t,{__toc:function(){return c}});var s=n(5893),o=n(2673),r=n(1334),i=n(2069);n(9488);var a=n(2643),l=n(2154);let c=[{depth:2,value:"Standalone",id:"standalone"},{depth:2,value:"NestJS",id:"nestjs"}];function d(e){let t=Object.assign({h2:"h2",pre:"pre",code:"code",span:"span",p:"p",a:"a"},(0,a.a)(),e.components);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"standalone",children:"Standalone"}),"\n",(0,s.jsxs)(l.mQ,{items:["npm","pnpm","yarn"],children:[(0,s.jsx)(l.OK,{children:(0,s.jsx)(t.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,s.jsx)(t.code,{"data-language":"bash","data-theme":"default",children:(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"install"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"tgrid"})]})})})}),(0,s.jsx)(l.OK,{children:(0,s.jsx)(t.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,s.jsx)(t.code,{"data-language":"bash","data-theme":"default",children:(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"pnpm"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"install"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"tgrid"})]})})})}),(0,s.jsx)(l.OK,{children:(0,s.jsx)(t.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,s.jsx)(t.code,{"data-language":"bash","data-theme":"default",children:(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"yarn"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"add"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"tgrid"})]})})})})]}),"\n",(0,s.jsxs)(t.p,{children:["If you're planning to use ",(0,s.jsx)(t.code,{children:"TGrid"})," standalone, without ",(0,s.jsx)(t.a,{href:"./features/websocket/#nestjs-integration",children:"NestJS integration"}),", just setup it."]}),"\n",(0,s.jsx)(t.h2,{id:"nestjs",children:"NestJS"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://nestia.io/docs/setup/",children:"Nestia > Guide Documents > Setup"})}),"\n",(0,s.jsxs)(t.p,{children:["Otherwise, you wanna use ",(0,s.jsx)(t.code,{children:"TGrid"})," with ",(0,s.jsx)(t.a,{href:"./features/websocket/#nestjs-integration",children:"NestJS integration"}),", please refer to the guide documents of ",(0,s.jsx)(t.code,{children:"nestia"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"By the way, if you want to setup it right now without reading detailed documents, just run the below commands."}),"\n",(0,s.jsxs)(l.mQ,{items:["npm","pnpm","yarn"],children:[(0,s.jsx)(l.OK,{children:(0,s.jsx)(t.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,s.jsxs)(t.code,{"data-language":"bash","data-theme":"default",children:[(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"npx"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"nestia"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"setup"})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"install"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"tgrid"})]})]})})}),(0,s.jsx)(l.OK,{children:(0,s.jsx)(t.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,s.jsxs)(t.code,{"data-language":"bash","data-theme":"default",children:[(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"npx"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"nestia"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"setup"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"--manager"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"pnpm"})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"pnpm"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"install"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"tgrid"})]})]})})}),(0,s.jsxs)(l.OK,{children:[(0,s.jsx)(l.UW,{type:"warning",children:"Yarn beery is not supported."}),(0,s.jsx)(t.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,s.jsxs)(t.code,{"data-language":"bash","data-theme":"default",children:[(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"npx"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"nestia"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"setup"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"--manager"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"yarn"})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"yarn"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"add"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"tgrid"})]})]})})]})]})]})}let h={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,a.a)(),e.components);return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/docs/setup.mdx",route:"/docs/setup",timestamp:1724046954e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Setup",headings:c},pageNextRoute:"/docs/setup",nextraLayout:r.ZP,themeConfig:i.Z};t.default=(0,o.j)(h)},2069:function(e,t,n){"use strict";var s=n(5893);n(7294),t.Z={logo:()=>(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,s.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,s.jsxs)("span",{children:["Released under the MIT License.",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,s.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,s.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(e=>({rel:"icon",type:"image/png",sizes:"".concat(e,"x").concat(e),href:"/favicon/favicon-".concat(e,"x").concat(e,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(e){e.O(0,[6235,2888,9774,179],function(){return e(e.s=668)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/setup-9f3e1178b892888b.js b/_next/static/chunks/pages/docs/setup-9f3e1178b892888b.js deleted file mode 100644 index 5039025..0000000 --- a/_next/static/chunks/pages/docs/setup-9f3e1178b892888b.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[625],{668:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/setup",function(){return n(9533)}])},9533:function(e,t,n){"use strict";n.r(t),n.d(t,{__toc:function(){return c}});var s=n(5893),o=n(2673),r=n(1334),i=n(2069);n(9488);var a=n(2643),l=n(2154);let c=[{depth:2,value:"Standalone",id:"standalone"},{depth:2,value:"NestJS",id:"nestjs"}];function d(e){let t=Object.assign({h2:"h2",pre:"pre",code:"code",span:"span",p:"p",a:"a"},(0,a.a)(),e.components);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"standalone",children:"Standalone"}),"\n",(0,s.jsxs)(l.mQ,{items:["npm","pnpm","yarn"],children:[(0,s.jsx)(l.OK,{children:(0,s.jsx)(t.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,s.jsx)(t.code,{"data-language":"bash","data-theme":"default",children:(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"install"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"tgrid"})]})})})}),(0,s.jsx)(l.OK,{children:(0,s.jsx)(t.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,s.jsx)(t.code,{"data-language":"bash","data-theme":"default",children:(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"pnpm"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"install"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"tgrid"})]})})})}),(0,s.jsx)(l.OK,{children:(0,s.jsx)(t.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,s.jsx)(t.code,{"data-language":"bash","data-theme":"default",children:(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"yarn"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"add"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"tgrid"})]})})})})]}),"\n",(0,s.jsxs)(t.p,{children:["If you're planning to use ",(0,s.jsx)(t.code,{children:"TGrid"})," standalone, without ",(0,s.jsx)(t.a,{href:"./features/websocket/#nestjs-integration",children:"NestJS integration"}),", just setup it."]}),"\n",(0,s.jsx)(t.h2,{id:"nestjs",children:"NestJS"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://nestia.io/docs/setup/",children:"Nestia > Guide Documents > Setup"})}),"\n",(0,s.jsxs)(t.p,{children:["Otherwise, you wanna use ",(0,s.jsx)(t.code,{children:"TGrid"})," with ",(0,s.jsx)(t.a,{href:"./features/websocket/#nestjs-integration",children:"NestJS integration"}),", please refer to the guide documents of ",(0,s.jsx)(t.code,{children:"nestia"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"By the way, if you want to setup it right now without reading detailed documents, just run the below commands."}),"\n",(0,s.jsxs)(l.mQ,{items:["npm","pnpm","yarn"],children:[(0,s.jsx)(l.OK,{children:(0,s.jsx)(t.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,s.jsxs)(t.code,{"data-language":"bash","data-theme":"default",children:[(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"npx"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"nestia"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"setup"})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"install"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"tgrid"})]})]})})}),(0,s.jsx)(l.OK,{children:(0,s.jsx)(t.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,s.jsxs)(t.code,{"data-language":"bash","data-theme":"default",children:[(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"npx"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"nestia"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"setup"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"--manager"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"pnpm"})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"pnpm"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"install"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"tgrid"})]})]})})}),(0,s.jsxs)(l.OK,{children:[(0,s.jsx)(l.UW,{type:"warning",children:"Yarn beery is not supported."}),(0,s.jsx)(t.pre,{"data-language":"bash","data-theme":"default",filename:"Terminal",children:(0,s.jsxs)(t.code,{"data-language":"bash","data-theme":"default",children:[(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"npx"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"nestia"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"setup"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"--manager"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"yarn"})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"yarn"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"add"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"tgrid"})]})]})})]})]})]})}let h={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,a.a)(),e.components);return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)},pageOpts:{filePath:"pages/docs/setup.mdx",route:"/docs/setup",timestamp:1722478373e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Setup",headings:c},pageNextRoute:"/docs/setup",nextraLayout:r.ZP,themeConfig:i.Z};t.default=(0,o.j)(h)},2069:function(e,t,n){"use strict";var s=n(5893);n(7294),t.Z={logo:()=>(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,s.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,s.jsxs)("span",{children:["Released under the MIT License.",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,s.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,s.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(e=>({rel:"icon",type:"image/png",sizes:"".concat(e,"x").concat(e),href:"/favicon/favicon-".concat(e,"x").concat(e,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(e){e.O(0,[235,888,774,179],function(){return e(e.s=668)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/index-3ae84526cce50e85.js b/_next/static/chunks/pages/index-3ae84526cce50e85.js new file mode 100644 index 0000000..1397ce5 --- /dev/null +++ b/_next/static/chunks/pages/index-3ae84526cce50e85.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5405],{1464:function(e,t,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return o(7e3)}])},7e3:function(e,t,o){"use strict";o.r(t),o.d(t,{__toc:function(){return N},default:function(){return E}});var r=o(5893),n=o(2673),s=o(1334),i=o(2069);o(9488);var c=o(2643),l=e=>(0,r.jsx)("div",{style:{marginLeft:"-1.5rem",marginRight:"-1.5rem"},children:e.children}),a=o(2303),d=o(6957),p=o(3402),h=o(8163),m=o(4246),x=o(4440),u=o(5369),g=o(9262),j=o(7294);let b=(0,g.ZP)("section")(e=>{let{theme:t}=e;return{color:t.palette.common.white,position:"relative",display:"flex",alignItems:"center",[t.breakpoints.up("sm")]:{height:"calc(100vh - 50px)"}}}),y=(0,g.ZP)("div")({position:"absolute",left:0,right:0,top:0,bottom:0,backgroundSize:"contain",backgroundRepeat:"no-repeat",zIndex:-2}),k=(0,g.ZP)("div")(e=>{let{theme:t}=e;return{position:"absolute",bottom:32,display:"none",[t.breakpoints.up("sm")]:{display:"block"}}});var f=e=>{let{sxBackground:t,children:o}=e;return(0,r.jsx)(b,{children:(0,r.jsxs)(u.Z,{sx:{mt:3,mb:3,display:"flex",flexDirection:"column",alignItems:"center"},children:[o,(0,r.jsx)(x.Z,{sx:{position:"absolute",left:0,right:0,top:0,bottom:0,backgroundColor:"common.black",opacity:.7,zIndex:-1}}),(0,r.jsx)(y,{sx:t}),(0,r.jsx)(k,{children:(0,r.jsx)("img",{src:"/images/home/productHeroArrowDown.png",height:"32",width:"24",alt:"arrow down"})})]})})};let w="#DEC20B",P=e=>(0,r.jsx)(p.ZP,{item:!0,xs:12,md:6,children:(0,r.jsx)(h.Z,{color:e.color,variant:"outlined",size:"large",component:"a",href:e.href,startIcon:e.icon,fullWidth:!0,style:{fontFamily:"unset",fontWeight:"bold"},children:e.title})});var v=()=>(0,r.jsxs)(f,{sxBackground:{background:"url(/images/home/background.jpg) no-repeat center top",backgroundColor:"black",backgroundPosition:"center"},children:[(0,r.jsx)(m.Z,{color:"inherit",align:"center",variant:"h2",fontFamily:"fantasy",children:"TGrid"}),(0,r.jsxs)(m.Z,{color:"inherit",align:"center",variant:"h5",fontFamily:"cursive",sx:{mb:4,mt:{xs:4,sm:10}},children:["Remote Procedure Call",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"TypeScript Grid Computing Framework"]}),(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),(0,r.jsx)(m.Z,{align:"center",variant:"h5",fontFamily:"monospace",sx:{fontWeight:"bold"},children:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("span",{style:{color:"rgb(191, 64, 191)"},children:"await "}),(0,r.jsx)("span",{style:{color:"rgb(80, 200, 0)"},children:"remote"}),(0,r.jsx)("span",{style:{color:"gray"},children:"."}),(0,r.jsx)("span",{style:{color:w},children:"function("}),(0,r.jsx)("span",{style:{color:"gray"},children:"...params"}),(0,r.jsx)("span",{style:{color:w},children:")"})]})}),(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),(0,r.jsxs)(p.ZP,{container:!0,spacing:2,children:[(0,r.jsx)(P,{title:"Guide Documents",icon:(0,r.jsx)(d.Z,{}),href:"/docs",color:"info"}),(0,r.jsx)(P,{title:"Github Repository",icon:(0,r.jsx)(a.Z,{}),href:"https://github.com/samchon/tgrid",color:"success"})]})]}),D=o(7868),C=o(9203),S=o(9619),W=e=>{var t;return(0,r.jsx)(p.ZP,{item:!0,xs:12,md:6,children:(0,r.jsxs)(x.Z,{children:[(0,r.jsxs)(D.Z,{href:e.href,children:[(0,r.jsx)("br",{}),(0,r.jsx)("div",{style:{alignItems:"center",justifyContent:"center",display:"flex"},children:(0,r.jsx)(x.Z,{component:"img",src:e.image,sx:{width:e.width,height:null!==(t=e.height)&&void 0!==t?t:100}})}),(0,r.jsx)("br",{}),(0,r.jsxs)(C.Z,{style:{textAlign:"center"},children:[(0,r.jsx)(m.Z,{variant:"h5",children:e.title}),(0,r.jsx)(m.Z,{color:"default",sx:{paddingTop:.5},children:e.subTitle}),(0,r.jsx)("br",{}),e.description]})]}),(0,r.jsx)(S.Z,{})]})})};let F="rgb(0, 200, 255)",T="rgb(80, 200, 0)",Z="rgb(191, 64, 191)",R="#DEC20B",M=[{title:"Remote Procedure Call",subTitle:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("span",{style:{color:Z},children:"await "}),(0,r.jsx)("span",{style:{color:T},children:"remote"}),(0,r.jsx)("span",{style:{color:"gray"},children:"."}),(0,r.jsx)("span",{style:{color:R},children:"function("}),(0,r.jsx)("span",{style:{color:"gray"},children:"...params"}),(0,r.jsx)("span",{style:{color:R},children:")"})]}),description:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("p",{children:"You can call remote system's functions"}),(0,r.jsx)("br",{}),(0,r.jsxs)("p",{children:[(0,r.jsx)("span",{style:{color:F},children:"Provider"}),": functions for remote system"]}),(0,r.jsx)("br",{}),(0,r.jsxs)("p",{children:[(0,r.jsx)("span",{style:{color:F},children:"Driver"}),(0,r.jsx)("span",{style:{color:"gray"},children:"<"}),(0,r.jsx)("span",{style:{color:T},children:"Remote"}),(0,r.jsx)("span",{style:{color:"gray"},children:">"}),": remote function caller"]})]}),image:"/images/home/rpc.png",href:"/docs/remote-procedure-call"},{title:"Web Socket Protocol",subTitle:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("span",{style:{color:F},children:"WebSocketAcceptor"}),(0,r.jsx)("span",{style:{color:"gray"},children:"<"}),(0,r.jsx)("span",{style:{color:T},children:"Header"}),(0,r.jsx)("span",{style:{color:"gray"},children:", "}),(0,r.jsx)("span",{style:{color:T},children:"Provider"}),(0,r.jsx)("span",{style:{color:"gray"},children:", "}),(0,r.jsx)("span",{style:{color:T},children:"Remote"}),(0,r.jsx)("span",{style:{color:"gray"},children:">"})]}),description:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("p",{children:"Supports RPC on WebSocket protocol"}),(0,r.jsx)("br",{}),(0,r.jsx)("p",{children:"Available in both Web Browser and NodeJS"}),(0,r.jsx)("br",{}),(0,r.jsxs)("p",{children:[(0,r.jsx)("span",{style:{color:Z},children:"await"})," ",(0,r.jsx)("span",{style:{color:T},children:"remote"}),(0,r.jsx)("span",{style:{color:"gray"},children:"."}),(0,r.jsx)("span",{style:{color:R},children:"function("}),(0,r.jsx)("span",{style:{color:"gray"},children:"...params"}),(0,r.jsx)("span",{style:{color:R},children:")"})]})]}),image:"/images/home/websocket.svg",href:"/docs/features/websocket"},{title:"Worker Protocol",subTitle:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("span",{style:{color:F},children:"WorkerConnector"}),(0,r.jsx)("span",{style:{color:"gray"},children:"<"}),(0,r.jsx)("span",{style:{color:T},children:"Header"}),(0,r.jsx)("span",{style:{color:"gray"},children:", "}),(0,r.jsx)("span",{style:{color:T},children:"Provider"}),(0,r.jsx)("span",{style:{color:"gray"},children:", "}),(0,r.jsx)("span",{style:{color:T},children:"Remote"}),(0,r.jsx)("span",{style:{color:"gray"},children:">"})]}),description:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("p",{children:"Considers Worker as a remote system"}),(0,r.jsx)("br",{}),(0,r.jsx)("p",{children:"So that supports RPC in Worker"}),(0,r.jsx)("br",{}),(0,r.jsx)("p",{children:"So that supports RPC in SharedWorker"})]}),image:"/images/home/worker.svg",href:"/docs/features/worker"},{title:"NestJS WebSocket",subTitle:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("span",{style:{color:Z},children:"@"}),(0,r.jsx)("span",{style:{color:R},children:"WebSocketRoute()"}),(0,r.jsx)("span",{style:{color:"gray"},children:" acceptor: "}),(0,r.jsx)("span",{style:{color:F},children:"WebSocketAcceptor"})]}),description:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("p",{children:"WebSocket RPC in NestJS"}),(0,r.jsx)("br",{}),(0,r.jsx)("p",{children:"Compatible with both HTTP and WebSocket protocols"}),(0,r.jsx)("br",{}),(0,r.jsx)("p",{children:"Supports SDK (Software Development Kit) generation"})]}),image:"/images/home/nestia.png",href:"/docs/features/websocket/#nestjs-integration",width:120}];var G=()=>(0,r.jsx)(x.Z,{sx:{display:"flex"},children:(0,r.jsx)(u.Z,{sx:{mt:3,display:"flex",position:"relative"},children:(0,r.jsx)(p.ZP,{container:!0,spacing:3,children:M.map(W)})})});let N=[{depth:2,value:"Key Features",id:"key-features"}];function _(e){let t=Object.assign({h2:"h2"},(0,c.a)(),e.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l,{children:(0,r.jsx)(v,{})}),"\n",(0,r.jsx)(t.h2,{id:"key-features",children:"Key Features"}),"\n",(0,r.jsx)(l,{children:(0,r.jsx)(G,{})})]})}let z={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,c.a)(),e.components);return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(_,{...e})}):_(e)},pageOpts:{filePath:"pages/index.mdx",route:"/",timestamp:1724046954e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Index",headings:N},pageNextRoute:"/",nextraLayout:s.ZP,themeConfig:i.Z};var E=(0,n.j)(z)},2069:function(e,t,o){"use strict";var r=o(5893);o(7294),t.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(e=>({rel:"icon",type:"image/png",sizes:"".concat(e,"x").concat(e),href:"/favicon/favicon-".concat(e,"x").concat(e,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(e){e.O(0,[6235,9528,2888,9774,179],function(){return e(e.s=1464)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/index-a6a9578504c0ed59.js b/_next/static/chunks/pages/index-a6a9578504c0ed59.js deleted file mode 100644 index 490d86f..0000000 --- a/_next/static/chunks/pages/index-a6a9578504c0ed59.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{1464:function(e,t,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return o(7e3)}])},7e3:function(e,t,o){"use strict";o.r(t),o.d(t,{__toc:function(){return N},default:function(){return E}});var r=o(5893),n=o(2673),s=o(1334),i=o(2069);o(9488);var c=o(2643),l=e=>(0,r.jsx)("div",{style:{marginLeft:"-1.5rem",marginRight:"-1.5rem"},children:e.children}),a=o(2303),d=o(6957),p=o(3402),h=o(8163),m=o(4246),x=o(4440),u=o(5369),g=o(9262),j=o(7294);let b=(0,g.ZP)("section")(e=>{let{theme:t}=e;return{color:t.palette.common.white,position:"relative",display:"flex",alignItems:"center",[t.breakpoints.up("sm")]:{height:"calc(100vh - 50px)"}}}),y=(0,g.ZP)("div")({position:"absolute",left:0,right:0,top:0,bottom:0,backgroundSize:"contain",backgroundRepeat:"no-repeat",zIndex:-2}),k=(0,g.ZP)("div")(e=>{let{theme:t}=e;return{position:"absolute",bottom:32,display:"none",[t.breakpoints.up("sm")]:{display:"block"}}});var f=e=>{let{sxBackground:t,children:o}=e;return(0,r.jsx)(b,{children:(0,r.jsxs)(u.Z,{sx:{mt:3,mb:3,display:"flex",flexDirection:"column",alignItems:"center"},children:[o,(0,r.jsx)(x.Z,{sx:{position:"absolute",left:0,right:0,top:0,bottom:0,backgroundColor:"common.black",opacity:.7,zIndex:-1}}),(0,r.jsx)(y,{sx:t}),(0,r.jsx)(k,{children:(0,r.jsx)("img",{src:"/images/home/productHeroArrowDown.png",height:"32",width:"24",alt:"arrow down"})})]})})};let w="#DEC20B",P=e=>(0,r.jsx)(p.ZP,{item:!0,xs:12,md:6,children:(0,r.jsx)(h.Z,{color:e.color,variant:"outlined",size:"large",component:"a",href:e.href,startIcon:e.icon,fullWidth:!0,style:{fontFamily:"unset",fontWeight:"bold"},children:e.title})});var v=()=>(0,r.jsxs)(f,{sxBackground:{background:"url(/images/home/background.jpg) no-repeat center top",backgroundColor:"black",backgroundPosition:"center"},children:[(0,r.jsx)(m.Z,{color:"inherit",align:"center",variant:"h2",fontFamily:"fantasy",children:"TGrid"}),(0,r.jsxs)(m.Z,{color:"inherit",align:"center",variant:"h5",fontFamily:"cursive",sx:{mb:4,mt:{xs:4,sm:10}},children:["Remote Procedure Call",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"TypeScript Grid Computing Framework"]}),(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),(0,r.jsx)(m.Z,{align:"center",variant:"h5",fontFamily:"monospace",sx:{fontWeight:"bold"},children:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("span",{style:{color:"rgb(191, 64, 191)"},children:"await "}),(0,r.jsx)("span",{style:{color:"rgb(80, 200, 0)"},children:"remote"}),(0,r.jsx)("span",{style:{color:"gray"},children:"."}),(0,r.jsx)("span",{style:{color:w},children:"function("}),(0,r.jsx)("span",{style:{color:"gray"},children:"...params"}),(0,r.jsx)("span",{style:{color:w},children:")"})]})}),(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),(0,r.jsxs)(p.ZP,{container:!0,spacing:2,children:[(0,r.jsx)(P,{title:"Guide Documents",icon:(0,r.jsx)(d.Z,{}),href:"/docs",color:"info"}),(0,r.jsx)(P,{title:"Github Repository",icon:(0,r.jsx)(a.Z,{}),href:"https://github.com/samchon/tgrid",color:"success"})]})]}),D=o(7868),C=o(9203),S=o(9619),W=e=>{var t;return(0,r.jsx)(p.ZP,{item:!0,xs:12,md:6,children:(0,r.jsxs)(x.Z,{children:[(0,r.jsxs)(D.Z,{href:e.href,children:[(0,r.jsx)("br",{}),(0,r.jsx)("div",{style:{alignItems:"center",justifyContent:"center",display:"flex"},children:(0,r.jsx)(x.Z,{component:"img",src:e.image,sx:{width:e.width,height:null!==(t=e.height)&&void 0!==t?t:100}})}),(0,r.jsx)("br",{}),(0,r.jsxs)(C.Z,{style:{textAlign:"center"},children:[(0,r.jsx)(m.Z,{variant:"h5",children:e.title}),(0,r.jsx)(m.Z,{color:"default",sx:{paddingTop:.5},children:e.subTitle}),(0,r.jsx)("br",{}),e.description]})]}),(0,r.jsx)(S.Z,{})]})})};let F="rgb(0, 200, 255)",T="rgb(80, 200, 0)",Z="rgb(191, 64, 191)",R="#DEC20B",M=[{title:"Remote Procedure Call",subTitle:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("span",{style:{color:Z},children:"await "}),(0,r.jsx)("span",{style:{color:T},children:"remote"}),(0,r.jsx)("span",{style:{color:"gray"},children:"."}),(0,r.jsx)("span",{style:{color:R},children:"function("}),(0,r.jsx)("span",{style:{color:"gray"},children:"...params"}),(0,r.jsx)("span",{style:{color:R},children:")"})]}),description:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("p",{children:"You can call remote system's functions"}),(0,r.jsx)("br",{}),(0,r.jsxs)("p",{children:[(0,r.jsx)("span",{style:{color:F},children:"Provider"}),": functions for remote system"]}),(0,r.jsx)("br",{}),(0,r.jsxs)("p",{children:[(0,r.jsx)("span",{style:{color:F},children:"Driver"}),(0,r.jsx)("span",{style:{color:"gray"},children:"<"}),(0,r.jsx)("span",{style:{color:T},children:"Remote"}),(0,r.jsx)("span",{style:{color:"gray"},children:">"}),": remote function caller"]})]}),image:"/images/home/rpc.png",href:"/docs/remote-procedure-call"},{title:"Web Socket Protocol",subTitle:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("span",{style:{color:F},children:"WebSocketAcceptor"}),(0,r.jsx)("span",{style:{color:"gray"},children:"<"}),(0,r.jsx)("span",{style:{color:T},children:"Header"}),(0,r.jsx)("span",{style:{color:"gray"},children:", "}),(0,r.jsx)("span",{style:{color:T},children:"Provider"}),(0,r.jsx)("span",{style:{color:"gray"},children:", "}),(0,r.jsx)("span",{style:{color:T},children:"Remote"}),(0,r.jsx)("span",{style:{color:"gray"},children:">"})]}),description:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("p",{children:"Supports RPC on WebSocket protocol"}),(0,r.jsx)("br",{}),(0,r.jsx)("p",{children:"Available in both Web Browser and NodeJS"}),(0,r.jsx)("br",{}),(0,r.jsxs)("p",{children:[(0,r.jsx)("span",{style:{color:Z},children:"await"})," ",(0,r.jsx)("span",{style:{color:T},children:"remote"}),(0,r.jsx)("span",{style:{color:"gray"},children:"."}),(0,r.jsx)("span",{style:{color:R},children:"function("}),(0,r.jsx)("span",{style:{color:"gray"},children:"...params"}),(0,r.jsx)("span",{style:{color:R},children:")"})]})]}),image:"/images/home/websocket.svg",href:"/docs/features/websocket"},{title:"Worker Protocol",subTitle:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("span",{style:{color:F},children:"WorkerConnector"}),(0,r.jsx)("span",{style:{color:"gray"},children:"<"}),(0,r.jsx)("span",{style:{color:T},children:"Header"}),(0,r.jsx)("span",{style:{color:"gray"},children:", "}),(0,r.jsx)("span",{style:{color:T},children:"Provider"}),(0,r.jsx)("span",{style:{color:"gray"},children:", "}),(0,r.jsx)("span",{style:{color:T},children:"Remote"}),(0,r.jsx)("span",{style:{color:"gray"},children:">"})]}),description:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("p",{children:"Considers Worker as a remote system"}),(0,r.jsx)("br",{}),(0,r.jsx)("p",{children:"So that supports RPC in Worker"}),(0,r.jsx)("br",{}),(0,r.jsx)("p",{children:"So that supports RPC in SharedWorker"})]}),image:"/images/home/worker.svg",href:"/docs/features/worker"},{title:"NestJS WebSocket",subTitle:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("span",{style:{color:Z},children:"@"}),(0,r.jsx)("span",{style:{color:R},children:"WebSocketRoute()"}),(0,r.jsx)("span",{style:{color:"gray"},children:" acceptor: "}),(0,r.jsx)("span",{style:{color:F},children:"WebSocketAcceptor"})]}),description:(0,r.jsxs)(j.Fragment,{children:[(0,r.jsx)("p",{children:"WebSocket RPC in NestJS"}),(0,r.jsx)("br",{}),(0,r.jsx)("p",{children:"Compatible with both HTTP and WebSocket protocols"}),(0,r.jsx)("br",{}),(0,r.jsx)("p",{children:"Supports SDK (Software Development Kit) generation"})]}),image:"/images/home/nestia.png",href:"/docs/features/websocket/#nestjs-integration",width:120}];var G=()=>(0,r.jsx)(x.Z,{sx:{display:"flex"},children:(0,r.jsx)(u.Z,{sx:{mt:3,display:"flex",position:"relative"},children:(0,r.jsx)(p.ZP,{container:!0,spacing:3,children:M.map(W)})})});let N=[{depth:2,value:"Key Features",id:"key-features"}];function _(e){let t=Object.assign({h2:"h2"},(0,c.a)(),e.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l,{children:(0,r.jsx)(v,{})}),"\n",(0,r.jsx)(t.h2,{id:"key-features",children:"Key Features"}),"\n",(0,r.jsx)(l,{children:(0,r.jsx)(G,{})})]})}let z={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,c.a)(),e.components);return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(_,{...e})}):_(e)},pageOpts:{filePath:"pages/index.mdx",route:"/",timestamp:1722478373e3,pageMap:[{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden",theme:{layout:"full"}},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"menu",items:{"remote-function-call":{title:"Remote Function Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-function-call?file=src/client.ts&view=editor",newWindow:!0},"remote-object-call":{title:"Remote Object Call",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.remote-object-call?file=src/client.ts&view=editor",newWindow:!0},"object-oriented-network":{title:"Object Oriented Network",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.object-oriented-network?file=src/composite.ts&view=editor",newWindow:!0},websocket:{title:"WebSocket Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.websocket?file=src/client.ts&view=editor",newWindow:!0},worker:{title:"Worker Protocol",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.worker?file=src/client.ts&view=editor",newWindow:!0},nestjs:{title:"NestJS WebSocket",href:"https://stackblitz.com/~/github.com/samchon/tgrid.example.nestjs?file=src/calculate.test.ts&view=editor",newWindow:!0}}}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction","remote-procedure-call":"\uD83D\uDCE1 Remote Procedure Call",setup:"\uD83D\uDCE6 Setup","-- tutorial":{type:"separator",title:"\uD83D\uDCD6 Tutorial"},features:"Features",examples:"Learn from Examples",projects:"Learn from Projects","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},api:{title:"⇲ API Documents",href:"/api",newWindow:!0}}},{kind:"Folder",name:"examples",route:"/docs/examples",children:[{kind:"Meta",data:{"remote-function-call":"Remote Function Call","remote-object-call":"Remote Object Call","object-oriented-network":"Object Oriented Network","nestjs-websocket":"NestJS WebSocket"}},{kind:"MdxPage",name:"nestjs-websocket",route:"/docs/examples/nestjs-websocket"},{kind:"MdxPage",name:"object-oriented-network",route:"/docs/examples/object-oriented-network"},{kind:"MdxPage",name:"remote-function-call",route:"/docs/examples/remote-function-call"},{kind:"MdxPage",name:"remote-object-call",route:"/docs/examples/remote-object-call"}]},{kind:"Folder",name:"features",route:"/docs/features",children:[{kind:"Meta",data:{components:"Components",websocket:"WebSocket Protocol",worker:"Worker Protocol"}},{kind:"MdxPage",name:"components",route:"/docs/features/components"},{kind:"MdxPage",name:"websocket",route:"/docs/features/websocket"},{kind:"MdxPage",name:"worker",route:"/docs/features/worker"}]},{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"projects",route:"/docs/projects",children:[{kind:"Meta",data:{chat:"Chat Application",market:"Grid Market",mutex:"Mutex Server"}},{kind:"MdxPage",name:"chat",route:"/docs/projects/chat"},{kind:"MdxPage",name:"market",route:"/docs/projects/market"},{kind:"MdxPage",name:"mutex",route:"/docs/projects/mutex"}]},{kind:"MdxPage",name:"remote-procedure-call",route:"/docs/remote-procedure-call"},{kind:"MdxPage",name:"setup",route:"/docs/setup"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Index",headings:N},pageNextRoute:"/",nextraLayout:s.ZP,themeConfig:i.Z};var E=(0,n.j)(z)},2069:function(e,t,o){"use strict";var r=o(5893);o(7294),t.Z={logo:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:36,height:36}),(0,r.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:15,paddingRight:10},children:"TGrid"})]}),nextThemes:{defaultTheme:"dark"},project:{link:"https://github.com/samchon/tgrid"},docsRepositoryBase:"https://github.com/samchon/tgrid/blob/master/website",footer:{text:()=>(0,r.jsxs)("span",{children:["Released under the MIT License.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Copyright 2018 - ",new Date().getFullYear()," ",(0,r.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"initial"},children:(0,r.jsx)("u",{children:"Samchon"})})," ","& Contributors"]})},useNextSeoProps:()=>({defaultTitle:"TGrid Guide Documents",titleTemplate:"TGrid Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(e=>({rel:"icon",type:"image/png",sizes:"".concat(e,"x").concat(e),href:"/favicon/favicon-".concat(e,"x").concat(e,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"TGrid Guide Documents"},{property:"og:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{property:"og:site_name",content:"TGrid Guide Documents"},{property:"og:url",content:"https://tgrid.com"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://tgrid.com/og.jpg"},{name:"twitter:title",content:"TGrid Guide Documents"},{name:"twitter:description",content:"TypeScript Grid Computing Framework.\n\nSupport RPC (Remote Procure Call) for WebSocket and Worker protocols.\n\nAlso, possible to integrate with NestJS."},{name:"twitter:site",content:"@SamchonGithub"}]})}},5789:function(){}},function(e){e.O(0,[235,528,888,774,179],function(){return e(e.s=1464)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/webpack-6ef43a8d4a395f49.js b/_next/static/chunks/webpack-6ef43a8d4a395f49.js deleted file mode 100644 index 0b5ddd7..0000000 --- a/_next/static/chunks/webpack-6ef43a8d4a395f49.js +++ /dev/null @@ -1 +0,0 @@ -!function(){"use strict";var t,e,n,r,o,u,f={},i={};function c(t){var e=i[t];if(void 0!==e)return e.exports;var n=i[t]={exports:{}},r=!0;try{f[t].call(n.exports,n,n.exports,c),r=!1}finally{r&&delete i[t]}return n.exports}c.m=f,t=[],c.O=function(e,n,r,o){if(n){o=o||0;for(var u=t.length;u>0&&t[u-1][2]>o;u--)t[u]=t[u-1];t[u]=[n,r,o];return}for(var f=1/0,u=0;u=o&&Object.keys(c.O).every(function(t){return c.O[t](n[l])})?n.splice(l--,1):(i=!1,o0&&e[c-1][2]>o;c--)e[c]=e[c-1];e[c]=[n,r,o];return}for(var u=1/0,c=0;c=o&&Object.keys(l.O).every(function(e){return l.O[e](n[i])})?n.splice(i--,1):(f=!1,oN%e&wDyw4`;PYYw= zwOiLhAP`|wlcT2~5P_2r$np)VmxJG=oNK)c{#)jE%J>K*r*Ydb_^`tLu=!yK8p-oefl1|ZNrA9-kCLvth@iNeudlR z^P5+$@(dJjtNBpwn%ZdXgmCHqbx|-_5tu=@~I$dbl5B8!fdDe zD+d^i+_oGNKg5}+>_qIjb@2fwTg?n(u*uas zo&7=tMnJMhNVtmmDw8gZ<#3+3vSZh~BacqUH6G=OaXB$4C`g{=f^dJDEApO+&7sJ$ z^Y<9s z2D(J`ip9DX@@eJA@y0>kiPrJCdSi|gP7hSF_H1#1(AY5t%x@lqk z_QfJaO%x`xL?%6u;JQ6148e%wlxG#<7jor*fCJ-ILn8xAn!>*L!9;rF;=g@!E_2!6 zZJi!&BJBfRqrNKB z!`KKvSSDR&1-i_zthe(bl=Z~*^5n++Y>Qpc4OCpCr&C#qWzRFZG5FMVAP5) zXO)GpeRsVkv8xi1*J92H3JUrPLUnZfVCwXqOFD+*BPz#yTB@t713Sj5!(QjXbUyY< z^$bACNT#vb^vV-*F4mh%;qDE)6Gu1xQTu^7sO?3+IbQ0W$CiEXVn=~vg3{*qwfW>B z>bs}ja~;jQx-UnXO7%Etm<=dha&KyC8VeupkMV#);uV^aN32WeVk$}lgVx=I&He+ z5&4=cs?t^Fwd&Q&Q5fN%_yxBY^MU4r75ZT~Ml5gd0wooKXiF2gDT1x!x_A{Uq{2}@ z(uF0j=G=U1Q5iCu*>k^zt*VQWp^xW%fU=DGvv$H<>7p4fY!Us#8-AX{xFp;ewR>kT zveijtOcU#hT3r@L^Mi8_U!ztDr?4UC1$~`?*6v#4I?=?OFnnXnA-x+!*<0K?W3Rxm z59NGwkl5SSghL%aLNEFtLPm1q1ZpaHS+|piobow%*WcBEx{c$F-Eu)|@Yr#r< z!8<$b%WPa%w?X9WVrFDh)quY*1ZY#kZX@;A>>CyOWZEc|sYCCvNO5p*=pGm^3tL}%YelHz2 zSM;phk1m5BS|@$(LZuZj&FE3?qGMwZ$EqgSuSmU{`P?w9HS-3(=6D?XZ)^ z{a*7(IAHB<)Z_ zz*-(&@*;!W1wkz5WY*O^WhHfXg_+ggsOlU_w zEpHysbe~RIKRxcdBf!tk4~bMfL5HVn!;q zHNKn$4V}>%bBfQ-%DPSw2RpJ;B$T~X{^U^XZf<8`3C}mDve)wW@dEdL)0smcuIK@` zQ0!_NOKmb=Bueo7a7^OZc?RYT)+SLR_|)8t90)~y0z7xGH1VZfm`jX4$a5zK$4$nI zwZA=7KFG9wCidGGZMLIDA%O=vka=J}V@3d9`_anxXomi3Fmc`l&)M()n;!KbQQSck zxAIS|Lx&FO>SjUDt%ul2Gp^veV|CJ-LC}4{o^f4~H9neK`BXDQg9@Af1RJ^ldHctj ztqAJJ=hy|hJ1mU-GD#6)f1#4t&=k1r{Dw7K(aPc2vE_-p;JZ!@wuLC@wHYj1wHfK8 zCX;8&(|!ZS%@*WaH?Xw>0z~m+jAj4q%l2Lb4u`{F_?28)T~a|nEjrpj47_-QMy~7a z>%(9$-6Fy4=>ZbyNsdV`4Lvb8HwQfF%*^TWtw+YQo3Q$EsyVo2+xPJWIMTlodHM2o zqK#_}3r;ByX41PyJ97g9>WWB67K`PZ0{8LpC&;C9NjMvA0mu}8#gF8aWTku&2pppj zL`0X#DylUDla!Q%#g3YhzkK;JJ6qTYF_7i2>4lVx3=E_+_XfwuEw=8RZR(*|GgiLe z9}@w|17ZPZ*qQ_l)!rN^QC?I`LRu#2mQ+@DCKPGHDU<1Q5OCZ;E+(C0V`Cujr>N>l zl(WFsnv(P+Ipl*IkdH#asviDW6|r;i1JZgGs>;ir7!(#377~)Fn#AECw2EHWLm;?h zo|4FV(?uVd?vmQJ?cTy3l}+SJ&?$O1zEKAI*lPakCm}+u;CUf_dSuGWUW!KNYff&a zO}(d_W7H;uI%?_YAUMo1oK0>&ol&d_@mj$|hO4fmbTf1@h4)1^C22-oYkp{d)Rm zke47ul*4CRczUwI7i1e(ufB3R*w&VA8O!l3_wAzDu;Bx=*v~ppD5ZofU7`h{-{NI@ zF>5)Rs)6H0#y-+U&uHWmuOEg&I+jHF-tmr73H@#x($_eq?S*P|UhV?q?NR<&$<~ye zrPOOPR&#oqw0ZID8h@-6=xC622rdcPfS0UILii`Q!2=2mQ<|^3Cd-M&K)VH&WcQp6 zUcU4WR7+;aMA)$62YRcQDqm-Szb+ zFl!#2)z;G^Nuc3(EO10^SLSUcwCLNqrCEk~`TP!h`x@^3TCUD| zU}Jwh)!c32L5KwNZ7|}i=HKnx+8Y|Ih`93!Wb9eAHezF=ivn0My1&Sfv9cLya=rX6 z$Vb)X8XNlq6e>qbd(JZSwj4;@l+GR>AD{6$6X*jyI3?4#D!gJzUWd`fsww$?jHnxq zlULBW&h!G{vn`gr9pOu0Z~knWYN73wM=QWNxbfe3ahql@N)+6_i7(=fEy&SiHsr;1 z{@!+?;d*K^;ivg0dFm)58we$4E&nL*co1frk&sh|`FmPVEC#iM!M>$QQrI0pJ|-*q z(lb({hJdrp`1dC>ZhXG2`sizs4Ui?HF`7>6sEL0rb3G#_LbI|CwLVew$Nc}y4R+9J zoTkP3CdRgfsc2NY`xX-LcfI>9>(yXgk7=>WnoO?=I;(QA!g0DB$?6N5TNkupp+jw@4XRg3-foo(K`U# zhFcR`1iCoSXo7Ogazl>wlQ{8hJ5#9Ww9g}=c7r2Lo`gj4$#LrU;_=g4AQ2tc9WtYKN7DBGJ7W8NYi@ z&+|C?ydd}tZ#{rkPWk_j|A|<<0&N!iq8_&!%TM@gp!doLF3|AqgF{~<8sT4%FME+P z`yVt6`#pGIK?(J+@M&7>ZZDd#u*E*uhHf;2==gAP`b%H!$%VQ@+EWxCa>0|h>JRcy zX^5IIbhP-S#iN=GBhgmJHR*HLU*V+XFGpFG&iOtEj@y5#(>ViLiwDut6 z0Rvb5>|j)>ZvMLe@Q4kzsNz}Q+uf9fk%`X7VhVzn!k#R;yz=@}X`2y4$-9&0H`q2m z-u0|;Qb1&ZoS*1c|&J6YNboChX zkNK0|^S~nhM0ct7X)V+(Uh6hC_LZB>up!rM%4&M9g(7|mfWZgXd5XNnN|jy5n6L5? zppXLWg)4lIVZSviB+L6>@B}9BoY+Lzd@J`4<99R@k!DN@+~5pgU7vWpW!C*V|IK z(jv={aZ@j!J){>Fw1P=NIYslP)=&#D1A; zh0drnpQ#Yidt+L`SU~$;74nkCyp{?Ixe3{jo>;!yb3tSHRJn{^V#e(RUjxiUB4^G9uP9H)rl zrEjvu?>BB_FMkl`iM~)9(T+duhq_u8#5|JTQ-=2G`h29X<9>!_w({Uxjd%4d6Dy0X zZ4vA<+}Py&!-bdIcM=D&%J@>W7!&igqc~W;g-ptsz64#o!R!oCJ_4`0-*%r|)mXIX zyxwoH{S0^6Axw3)%*)UxV-$HALwr+h;%RgjPULwEcC08T{EL!DwkK8vm=K{ zON$zX4$Wm>yt7-hHR)w?8&wODY}IFmNDLk=BWp0`CcQ~-P2(mWrae2WwVHvOmp62c zxb)>!s2VKPLha#bsSjo?gE8rrAa(F^4l{6r>LsX+6LYpp-)PJR*XW@3frjipuDfr|YnfNklVrg)~ zRHF;)G20J+tFUv(dh9-0Dg@DyJ$3~x9%XB%)K1;Lf?$53_{o{MW*#UG_HhZ8~6AWBapMPhLB=pSu%6p3~V)+NX2r^FH%ZWVG7A z$GXGuumOFEeUhhzjK@;hy(K=cO)Zcd>gbCT^JSpFN@;Dr65UqqhmoVZDD zu=a0%;9j;*zpN<8#7&U+O~la^l^Ds@#p!KYBqez@3L207AL)qFwk zAUA>j3>?_kykxw4l*YR0wsG&k!br_xlR& zAOC1W`{-mS`og|Y^HSi@L<#4D`iZjoqoW71sw;n5(CmtlTJM=A$IqvQCaw=3S==D% zjl<2^^icb+{m{Z2e`#SD+A^tPzKDp)A4$JHdxvHgazaP)wjTE5J@iD4KE^P;2K8m@ z_@*Ak5PJ9cwnu%}SZ^pH6XypG2P6dFHmzjUf&^YbG|iNwWUZOQQnIz}(Pq0v zCDk(bG6v;DR7Lx9(sTn0_aRqu;#wQ-&TY59n^}3-M)axoXthe2ROkatq%`w$6iE2G zz9m{tF3)KQTV}lE|9kN5&w6{ByCwBVw<=OnD5S34#JJU7-{2dm%XX*4RsSUgFPOfu2c}*IaH@Q6D3DAKHM7(x5IZEWCSn4T{oj%*y@R zGGXg{5!5NHnPIEY<6Gq2O&gyisW){+@k*HJiv**}WBo@RZ-mtKfG~JdifiqX&4MGcs5tzxlv9{>8$cUD|w;A1Ot6*1B_g^Evm zu_o}qz{hDh;ne>Z9yj_BqV>7o-96d0mSHJYLL86@&kv_#M`G`d4AjT*u+O%0?cy-x z6;LW#h6UpssI=*QpQ`yY%v?swz+RyGrFPfL?D#AC}pqjOL>2j3*{1?$d-1jj! zic<{!Y2(ZFxl_?|>rzWW9Zeos8@9-yj;g}C>N=+q;e;0VH!lFvRB`@cFR0Fv=_C5w zZ~8Njl`O|qv86Uuzg6}L;3A25zOKIHxKfH61+gcV}(}U;hQ~hXLQ}# zSSl%7)nL zB?8ou*)f8@O9`5;4#YGWTxL|8#r|I2_h>4(4ENPagz+{&aT~VS{&54^^0J_U1h!ZR zG5`|9X;0{O$$t!P6+WSrRaAs>=SzAOpP}ZfQS)V$934ys24G05x@2>9$wtknbc%?G z_-D#F`}s8w;*fQV2jIE|4_c0sqAoK3Omn|r-}dJhnV|` ziHQIp8#3GM0i}!aPK-DBu1ZgHh7*>jxoeI2n)_c|x5=jfBlnPB`qkqNTQ+lKlgj1ixq;r$ zZt_`I==tx5o_^EB4#WXCDcE$V{mouy4G`UVQp;yKqI12o-p=iC-|*VaIsk1MR#@H_ zpt;_st5#Z?G`rBapr|Gn$fB_$`u|hYw@e7R`G=YwjLSuQHdw+ww3I zL9eG3th5#+HI&r{;|{>;@&p+$8xbK8dv#aX)Lj^I>XSGrB07aVEvGDi*{bQ< z0I*)C>G3pnj35*qwAV`8plY7(t{)4FOGVk?AK-GVy=>FcFXcDhpY*NIx#+Kv5m#7d zp+@X<{HpYa${^E6x_z;v;DOh~7t|sPJJUVhkIN;rI>Qmu{k6lx!VS4DQX*D7 z!s33SiW{B}=5*Ig*pU%%6=Lxzg#ujNu9E}SKTw<8EG8D3OCh_&er27wR$@kf84IT=GQKk^xRc7dwZyhcABsMlm!i4 zu7aM`NRq|*GhcNg#fgM@4A?&xNt?~AXhBMXA`f^55S2Efl|{AARhJg_ zl+ze0W^(;XF7f7e)Ipsql2@lX)@cY?Hn2nj3~|Bt+#b?Rx+KatW{em; zG)*i`rs13|PUGx}tem8_#ff!c@}!QQE{l*6VKZv?>|9<&bz!XiZz4qon=EK|oFR33 zL&Y3U`6Z=IH>^#VM2!g(JoFw7YvWI!$T<~<2{H@$1LMG!^bX(l=pRfyJi2GE`Ud2C zPpFtjKvm)OdgAB}wmxeYrSW`j|1)NOh)*8dF1jp}OeS9j?FHcYV(!=1*MrtHrgk|o zGW7U&?c*luJ^Bdsc@ohVp3xrf`8wo%me0N%^|MS^?m^)UyS?t!HmIcBJ|xD0#DPWj z?&&`{;CQe@FW>s_%(@lXC7R>R^kUdX49M39T8YF++hFKqRgos_oE&#`$f z-5WSX8D<2no^qbi-GdhZ+<+BkKYZ0vNMCpA@d?JTKDKo(-HMj6Sn_n?GJ-te6V!5% zXI8eatiGk)>sI8$yu9?K8M(La1-obQ(Db(afeq$GpLho5I9j066B?YFIGlP{NZj2gdH>MZyNiJVE%T~G(iU6i$kHf}{$mHN5l^?} z|E&@L?D*xLyEF!&NwW(%*CI|Tl^atO^UppMy9j6gsWd`=mm~H;%ROkQLs+zDBRY2} zYGx14&7n~VyS0qeu*Dxa=hW)u&>qX1gqw%CPz7$yB@0U8W@51tALRA|8Hs@jfoNkH ze9`TW_h$|=FhI)P@x`oaGaQO~QGDcB{i)(cnSzu2Fv+)YD<7hbk@bK{yivskoS@oC zIqB~V1+!-7GITybr6COnem4@%Q0LhPf-2_F>m=0U9_zIDxt_9yCF%?39>! zmXzcOgN>S9@__bxml5Tw86zYG%;B9NK2wo3AiPjXBodol(&*w;Ml_ZHaJ>LA(!T{c zIS`b65%?iuti6WWy< z@^KvRSrlNI&Uid3HG_QyeL5iHHuz9`mvOX9sG1D&=PY@w$9a35H=h}-GC9{pD!OPk z{$`7>_t%a9?%t|P!Glx>uc<)!h8*;L;$!<$6Ir$cMPs>{#;?X9#ibH9QX#V$2WD@D zv=je;D-*BO9npEIGc^9?Jz_j{Fu5nq5vMamcfVXV0Hnq1Ypeq;jCT~P_i6WRZ^o(X zZB>`^-D)R4d+d}vWpF}W!6j4Ld-(csd^`1tMaPM9b#8v+x6y*iqcf}CC}v0Ga2L6F zMv=E=&lKhH)9z+z|IDppX?^F6HkT;jNEHi;{Y<8H`mJXER3#-P!BbyvHf~?9CPUZT z?Nt|l#^mPr*Di11D#O}w#t(`gO7t#5Vc8O0$id@JgUdX}0QtiHtDcXZZSH99^wTYU z%X|pvN$G;JWRIscrx#x(W~8yT5wE_BrnHU4UT)D|pUUahVdw8;$&?5UBPEG~*m8^S zl|@(X}6&gjGFD-n6i3O&HSDDc5`C&;2hl(Eu;;>4VZEhe_qh+C_za z4&MTu<7(z!pYb`22yZC)M8OW?I!SbaAnb!3^)uJdd*d#1rCr1@biEkO=A;{LI%TPp zhl-yl*N;|$RH)ya;sCJdXxfKwEy$(Ayz_aJ<3-R$X2&XQRRl>}a4N`A)nq&f5^H^+ zi{y|w%!e)710dmqPY0@kK8~7d!n#TH0?o-`h=UkV6&D9roh?dzSM}^KFqFz=+N&neaVaQ zl()$ml7~othCX-8meMbX+yuOcNJo+p!+_16;LD zsWbglS+9r+#>$)|(7!lJBrk5bQuyAhi{ga%^JSrs6a|{YyyvXxKYB~BkO`A9QvLG4 zex@u>0rx4TFo^Zaxy?s#Q}>@(lYl)$3&e*J z*Fa;6^z7S^6Xh$9(0Ut*0txV_4$lA=6jsuJw><$`GW$F~_+%Zs{_QAN{^m}rIU*sf zt^HWOD|RR?y3yz1CqT-@Of#>nXZWS%tUSufYLRRCeL;}RD-Os)Z(Dm^yd=>PH zvIP&*ama2K^aaUlBoojoZB)>r@sYo@KAI;-!3IOdHJV|m2jNi*@?h;0h*Gu5Yy-v) z2Q^r&2O*yCm1_v>Fjg700?;_zn|D>(h%O@b*dP1r+#~6UmgC=jsUWh{l-X0hX~%B; zO0{luY zDuo>${4YFEmg9;T1B>}N!oRl$zH$DV@IngDmtW%-)JK7^POjRU0wl%D?NflHz8Bm5 z{`jr#Ut3)gGOrK^@BPyU2d9D#{XW9qPryHlrK%Yu2}_>fe{El~)qXtIiOCA0AYa}Z zCvq^&2}yfx0_)nFA?a)Y1XKB_=GOb3?ptBO7{d zTdhvrQU#q1D(I@(oLe%fmNK)+daKM1C57UN?z8pq4>l-xe^ep>-O-}a#y>*hQo?6% zK)N6T3Xa9a84NrCn1FWDnX>6+A;he{tJ-)ya9D^|`Ih0L-{lkx$koywlP`ZK`s zlUqVX8zBThBMULHEpl%A+|H!4`)zRDw)mm`ev__*kYXYiE$D0iteo++Y1?O=s8TTp z`{z`7Ak%iU9s)P7o?@0jg1t1O$t=q68HznN?+Y@xs zpmjpxhLp7Qh^w?b5AW$GDX>B@hb@^z*2E%rVouxf6KipzcrN>OGL3Nu*VJycDR`Et za&XH7?N%nn0XFf*ahF|U$7tdj9RqYOUXb}{k*%`UA?Q66(-+S&WOWRSO8Jw+XC}gQIttMIW5MvI~ zWyEC1-MMS){B*@Bc2eEl$z*?-DngSxtU$7S4k2&ZF~4uI1$lOP=X&P;SYckSZC`hJ znWr_5*3@OdZPCW;+~F7ts4*o~-?R^-7J z9=7zJ;tKFMP?(%}y;9b+J>vlWWByIqu@`vb3R;;5L9nYQsxNJhf$XFBmU)K8zCPnt zYP}9*%7O^B6uTXBpAQqKU4FaQg1!AVB^F{%MR(PpeFR zeZjtv@)tk|Ji&!W-@Y&cRo@02b%Sjm7;Z)`13V-^(}CFW(FE`f2xKV<2j&L}-^?#E zQUHu;0NTKS7{#+DB*h1ysWGdYdGHXA#{^uEY|#A%!s*9RqpJ~dwX1%8^*7v=_vU}) zqpz;JySsLT%N41I-Qp&}pyvqT`-p$INEyiUn|y}M9stHRAK?j}=SJHAJ!op`btA;Y z+O0C-1)n|!+^OmKR^N$c2}o`J612RuCBO&|UV@ByOIMSL0S*Abs=VF)%a43@kroOu z*BS^0b#2M)<$$erhb90i_$jvkOzgl@mOE@0O;~Vy^kX;5a!cqiM7I8?M)BhVQLrC) zTYw4kylo58K$;JQ|67mv0nK2Q3TOFV%Sf8gb9T(%2u~2=vBbCgn;jShqENY3kUU|2 z;l`UB)Xn-lFdZVRfR_P;@?Q!fToN?2F5IPi$x=Z&0<;l?Cfy~Jo)`1bqBS6b03`e0 zd6WilhR$5rC>Yw6`L6rtI{q`YP*#D$#rc^1(vf}~99te-Ll<2AbAW@j4u<1W+5+2c ze>wnu=< zmmlUxh|kH%;i-mzB^FBh8#DahC}kc%4WtZu1iZG&zoHyfK&TP`t-A~QE=!(cKMx!& z{$WP4LI3Tm-CNEcpO|nBpU-5NRDa9mGQEpIV*}U_a9SttcteNF0nwJNG6!mShZ`>d zL5}C*vfk4C3WGvILI4Bygg9&bC?VY5SX{xypke42XH>SApSTXm{-pfZGa|Cp35<3Jo5f03mOcd;SW(Cr40&7 zI7zr%g>Jyj`;(hemGZsDjUz=A53$nE_N^t$1kYd+9~E-|^xxUE1{Y zDdW>9(*pftr?}#k-)}zHa+slH1YEJO|0;w0rPfz`Z!yCMD!~|qEow7G14A9n)aQ@j z1aN0ArZ|%5&x>E!lIShd9b4R3@}%2t&(=wJ5kf9~j=6xoItzN!%}ajpaWgXT9%ol5 zAp6nh=>ftUET%g$$ZTvsD^f2gG`kwu2;h+g_6q38*@}G%QNiz z7O%gqOAUrk3EK$wsPH!X5ek-~oV5kR_EZ?4SwGB8%0F;~?S%Tv4IKA`8b7rPGetCz zELRc*&x2kBPXSMKNJ~pkM_arYnzBK0Kwzy;Vc$7*m0v`dO><;@vVaRl>}uot%`@*w zR3FeL;A5CzWWO%@@zTlGo{|eM` zBWQ3RrIZkOJj(P-D#wiF0jD>1^aL;KhMDsLgT;msI9NBZ(!gh7=5W7#!HOOOaH96mVv^A*P-J@b5L9ToGJm}<;zTtGI<@{ z560I7&%t0+&@u+l;Znsov2lQP7etix-I_8gKWajn0H|YrR*)cq7+qAOM&8|}wfY+< z81~~xqjR3p+a((*Zks?Ap&i_bj=zAnbO*BKRh+!79N8HW@49U!YXi4?Cbro^(fz{@oy?uv+M8zq7GJ2vUjaj?C!|wVKWF>w@&firH zKn&kI_vh?`qcFBdV%2lbts2@VrX`#m8zPwz8!M*SnH7@}Qt(n}AMq5*M%z|-s^fdT zc64qVcSDQh=lp^&+W5MeBuue4qV)kQt)Sr+xJF3w&>W-f%dhda%^n|29adr}`ri0eP#$i+SwiT3b@&V&-|RP)%4PZSw}o%$P!KO%ZV z@*O*214;+M{*dZl^gMzLTNEE=a8GJlnKJ^Ie@@99O()BLNeS3_jD=U>qa2V1ygj3& zCsy*|e!E9UBezBDz&N>;_j+WjzBqR2Oo7Myt}`kF8i%wpGSj*bm z8dvO!3g-hH5Jnf`c)Y&bKo5Cy?&R?{WM>oh-u)ks%;1C+&!&BE*z@qw;UE!B{wu|q z3zKe{r@%5*C1aGU{U6g!bR ze=OR01u;$ma5Jc=#R}b0!q~BzC>nfvxuj+VyMGi%D7HDu@P_r$IJ3E^?COKpd0JeY zw0BWOXfZ@6FH|hi(&v!x=wpP)`dedrzTlu$JTe4GC(XQ|I)~X#R(zY||EA#*)Kg)g zb3u}a8rHrULXBRyiyCw8I4F!E5ufwamdBf)&NF1#PSwMYmwq(eAKYFV%e)MsP?+Fr zEy%7te4>3!Bqp&bf1r5Cee%sv%o_7e9OaJ*{#u!fhc8I9v`3i@f4$onj~;#{CN;oS z|Ehh%#Z?{V-P+KOC*Hys`xy@sgGBQy{Hn)_G}DST^-TOkD8cq6dR^Ve2VajkB(S7g5adgp zs{MuaW81}!kWT9va4RY0!#h&#oHV>9^7LMP9ZONAobG9EBp!grcEmF&BljEjbthJy z8GNhFk>E6!B)3_=CfnTAi6&D^$mAt_i!V9ZW@JF%v-qso@>i0nk~_C5QND8HFCAB_ zZ8aN)blC1Mr2&l z8-Lq~Gq*A3A$+`h8vRQRjAh_*&d=Zc!VLK`1zjU>xd>bV){aOT9UTQ$fiV^SC5_+V zK?l2W(hqoWX&XOd4u76s;2M9_pWxP#NPotu?7=Bw5CVY!x0jlZ3@-cl3xS)}O=EkF z)xN_5cFs=Tbt_(%mZ#)p018Kddt#*p>nMV1QC#Cq!C2>ZWVqGFxsxY2__$~fG~zTR zVrvUj@)DHz1hdzf!e+InA6QtF%B1-OhFs`Kv^2_jE`r2ooCW92mRT_PQ*nG{E0an9XjgJ?zOHP77+SL zXomY_Vh0F6_umX`C*^kB0~0E{!ZF1cDhcclhU9s0>5w3V|W0a0n%zW zO=DuvI(wI_9FHQE$U$jw=@L6_^-J`CH(GI{F1Y_Q3P=zcQnZQx(F6MYeSqHf~TU2$OF z+M?T6{ceT)ONdJuDeop059a_RE09(4ZejtLiO25(H%0i~>em!Jck(ZpIWK(uW!p<- z&;OChN{nk#u`6q%(%9kmV-a@<&ebhQi4zrU5%4D)T(!S`{~k}PKefgNr9ccqp%%fd zD!q&+yz9B+Hs?!=H$4Btm)c(JnGL&UswqYkf9lTwS@^JL0ka;)&8IE{7FxPY-1mPwe*m4yJl{n=Jxr+g=RVq}v-CC(DuI^6shBk~uF$7g>2gm3tC$X}=# zpGo-(i{ddxfe*B?0XJl~+iGnJU!sEoSIu>OdSM{wSA7G>n}Yo}Kn)|+* zz4LgDg+VsBD4NTwz_5b~$HP!b(KnQ=!)#E1L?CbXJG2Cdq_Lh#Hs|<6Q|OOckw-3E ziYQCK-v7MBUlkdj>G=zaTB3yfKmd8PqkYhUKWf5z?SJu2Q7Dw3U#jXJGq9L8aFx>@ zFqB+7kOmf@99_C1%Hu8au?*19)9@@KR`b!ZEC{$O(SVL_A}aw(XqmKD%iqAJ3F_E$ zo+V$kBi{E1&0bupY=07N|5dU7^F5sbxRb%EeoD#@b}kg)NW2;nvhhAms6LAw{tTcw z|H)PBe@tEd@3_SMfBDFT=!sZM=tI^%$oU3vfA%5)a*+UlGCf;J(Tj_`>*?UHjRco1 zhb;H;@yRTI2U!EvGlyu<>Xj?!zeLJ#^)J6#Q@7kBRT2DA9*C)t#nGH2=db?{Rql2% diff --git a/api/classes/Communicator.html b/api/classes/Communicator.html index f0c0023..79944fe 100644 --- a/api/classes/Communicator.html +++ b/api/classes/Communicator.html @@ -12,7 +12,7 @@

Jeongho Nam - https://github.com/samchon

Type Parameters

  • Provider extends object | null | undefined

    Type of features provided for remote system.

  • Remote extends object | null

    Type of features supported by remote system, used for getDriver function.

    -

Hierarchy (view full)

Constructors

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Destory the communicator.

    +

Returns Communicator<Provider, Remote>

Methods

  • Destory the communicator.

    A destory function must be called when the network communication has been closed. It would destroy all function calls in the remote system (by Driver<Controller>), which are not returned yet.

    The error instance would be thrown to those function calls. If the disconnection is abnormal, then write the detailed reason why into the error instance.

    Parameters

    • Optionalerror: Error

      An error instance to be thrown to the unreturned functions.

      -

    Returns Promise<void>

Returns Promise<void>

  • Get Driver for RFC (Remote Function Call).

    The Controller is an interface who defines provided functions from the remote system. The Driver is an object who makes to call remote functions, defined in the Controller and provided by Provider in the remote system, possible.

    @@ -43,30 +43,30 @@

    Type Parameters

    • Controller extends object = NonNullable<Remote>

      An interface for provided features (functions & objects) from the remote system (Provider).

    • UseParametric extends boolean = false

      Whether to convert type of function parameters to be compatible with their pritimive.

    Returns Driver<Controller, UseParametric>

    A Driver for the RFC.

    -
  • Get current Provider.

    Get an object providing features (functions & objects) for remote system. The remote system would call the features (Provider) by using its Driver<Controller>.

    Returns Provider

    Current Provider object

    -
  • A predicator inspects whether the network communication is on ready.

    Parameters

    • method: string

      The method name for tracing.

      -

    Returns null | Error

  • Join connection.

    +

Returns null | Error

  • Join connection.

    Wait until the connection to be closed.

    -

    Returns Promise<void>

  • Join connection or timeout.

    +

    Returns Promise<void>

  • Join connection or timeout.

    Wait until the connection to be clsoed until timeout.

    Parameters

    • ms: number

      The maximum milliseconds for joining.

    Returns Promise<boolean>

    Whether awaken by disconnection or timeout.

    -
  • Join connection or time expiration.

    +
  • Join connection or time expiration.

    Wait until the connection to be closed until time expiration.

    Parameters

    • at: Date

      The maximum time point to join.

    Returns Promise<boolean>

    Whether awaken by disconnection or time expiration.

    -
  • Data Reply Function.

    A function should be called when data has come from the remote system.

    When you receive a message from the remote system, then parse the message with your special protocol and covert it to be an Invoke object. After the conversion, call this method.

    Parameters

    • invoke: Invoke

      Structured data converted by your special protocol.

      -

    Returns void

  • A function sending data to the remote system.

    +

Returns void

  • Set Provider

    +

Returns Promise<void>

\ No newline at end of file +

Returns void

\ No newline at end of file diff --git a/api/classes/SharedWorkerAcceptor-1.html b/api/classes/SharedWorkerAcceptor-1.html index e94601b..f811010 100644 --- a/api/classes/SharedWorkerAcceptor-1.html +++ b/api/classes/SharedWorkerAcceptor-1.html @@ -28,7 +28,7 @@

Type Parameters

  • Header

    Type of the header containing initial data.

  • Provider extends object | null

    Type of features provided for the remote client.

  • Remote extends object | null

    Type of features provided by remote client.

    -

Hierarchy

Implements

  • IWorkerSystem

Accessors

Hierarchy

Implements

  • IWorkerSystem

Accessors

Methods

accept close @@ -40,7 +40,7 @@ replyData setProvider

Accessors

Methods

Methods

  • Destory the communicator.

    A destory function must be called when the network communication has been closed. It would destroy all function calls in the remote system (by Driver<Controller>), which are not returned yet.

    The error instance would be thrown to those function calls. If the disconnection is abnormal, then write the detailed reason why into the error instance.

    Parameters

    • Optionalerror: Error

      An error instance to be thrown to the unreturned functions.

      -

    Returns Promise<void>

Returns Promise<void>

  • Get Driver for RFC (Remote Function Call).

    The Controller is an interface who defines provided functions from the remote system. The Driver is an object who makes to call remote functions, defined in the Controller and provided by Provider in the remote system, possible.

    @@ -71,29 +71,29 @@

    Type Parameters

    • Controller extends object = NonNullable<Remote>

      An interface for provided features (functions & objects) from the remote system (Provider).

    • UseParametric extends boolean = false

      Whether to convert type of function parameters to be compatible with their pritimive.

    Returns Driver<Controller, UseParametric>

    A Driver for the RFC.

    -
  • Get current Provider.

    Get an object providing features (functions & objects) for remote system. The remote system would call the features (Provider) by using its Driver<Controller>.

    Returns undefined | Provider

    Current Provider object

    -
  • Join connection.

    Wait until the connection to be closed.

    -

    Returns Promise<void>

  • Join connection or timeout.

    +

    Returns Promise<void>

  • Join connection or timeout.

    Wait until the connection to be clsoed until timeout.

    Parameters

    • ms: number

      The maximum milliseconds for joining.

    Returns Promise<boolean>

    Whether awaken by disconnection or timeout.

    -
  • Join connection or time expiration.

    +
  • Join connection or time expiration.

    Wait until the connection to be closed until time expiration.

    Parameters

    • at: Date

      The maximum time point to join.

    Returns Promise<boolean>

    Whether awaken by disconnection or time expiration.

    -
  • Reject connection.

    Reject without acceptance, any interaction. The connection would be closed immediately.

    Parameters

    • reason: string = "Rejected by server"

      Detailed reason of the rejection. Default is "Rejected by server".

      -

    Returns Promise<void>

  • Data Reply Function.

    +

Returns Promise<void>

  • Data Reply Function.

    A function should be called when data has come from the remote system.

    When you receive a message from the remote system, then parse the message with your special protocol and covert it to be an Invoke object. After the conversion, call this method.

    Parameters

    • invoke: Invoke

      Structured data converted by your special protocol.

      -

    Returns void

  • Set Provider

    +

Returns void

  • Set Provider

    Parameters

    • obj: undefined | Provider

      An object would be provided for remote system.

      -

    Returns void

\ No newline at end of file +

Returns void

\ No newline at end of file diff --git a/api/classes/SharedWorkerConnector-1.html b/api/classes/SharedWorkerConnector-1.html index b7b6155..aa04676 100644 --- a/api/classes/SharedWorkerConnector-1.html +++ b/api/classes/SharedWorkerConnector-1.html @@ -26,7 +26,7 @@

Type Parameters

  • Header

    Type of the header containing initial data.

  • Provider extends object | null

    Type of features provided for the remote server.

  • Remote extends object | null

    Type of features supported by remote server.

    -

Hierarchy

Implements

  • IWorkerSystem

Constructors

Hierarchy

Implements

  • IWorkerSystem

Constructors

Accessors

Methods

close @@ -40,8 +40,8 @@

Constructors

Accessors

Returns SharedWorkerConnector<Header, Provider, Remote>

Accessors

Methods

Methods

  • Connect to remote server.

    The connect() method tries to connect an SharedWorker instance. If the SharedWorker instance is not created yet, the SharedWorker instance would be newly created. After the creation, the SharedWorker program must open that server using @@ -66,14 +66,14 @@

Parameters

Returns Promise<void>

  • Destory the communicator.

    +

Returns Promise<void>

  • Destory the communicator.

    A destory function must be called when the network communication has been closed. It would destroy all function calls in the remote system (by Driver<Controller>), which are not returned yet.

    The error instance would be thrown to those function calls. If the disconnection is abnormal, then write the detailed reason why into the error instance.

    Parameters

    • Optionalerror: Error

      An error instance to be thrown to the unreturned functions.

      -

    Returns Promise<void>

Returns Promise<void>

  • Get Driver for RFC (Remote Function Call).

    The Controller is an interface who defines provided functions from the remote system. The Driver is an object who makes to call remote functions, defined in the Controller and provided by Provider in the remote system, possible.

    @@ -86,26 +86,26 @@

    Type Parameters

    • Controller extends object = NonNullable<Remote>

      An interface for provided features (functions & objects) from the remote system (Provider).

    • UseParametric extends boolean = false

      Whether to convert type of function parameters to be compatible with their pritimive.

    Returns Driver<Controller, UseParametric>

    A Driver for the RFC.

    -
  • Get current Provider.

    Get an object providing features (functions & objects) for remote system. The remote system would call the features (Provider) by using its Driver<Controller>.

    Returns Provider

    Current Provider object

    -
  • Join connection.

    Wait until the connection to be closed.

    -

    Returns Promise<void>

  • Join connection or timeout.

    +

    Returns Promise<void>

  • Join connection or timeout.

    Wait until the connection to be clsoed until timeout.

    Parameters

    • ms: number

      The maximum milliseconds for joining.

    Returns Promise<boolean>

    Whether awaken by disconnection or timeout.

    -
  • Join connection or time expiration.

    +
  • Join connection or time expiration.

    Wait until the connection to be closed until time expiration.

    Parameters

    • at: Date

      The maximum time point to join.

    Returns Promise<boolean>

    Whether awaken by disconnection or time expiration.

    -
  • Data Reply Function.

    A function should be called when data has come from the remote system.

    When you receive a message from the remote system, then parse the message with your special protocol and covert it to be an Invoke object. After the conversion, call this method.

    Parameters

    • invoke: Invoke

      Structured data converted by your special protocol.

      -

    Returns void

  • Set Provider

    +

Returns void

\ No newline at end of file +

Returns void

\ No newline at end of file diff --git a/api/classes/SharedWorkerServer-1.html b/api/classes/SharedWorkerServer-1.html index 0b391af..8a456ff 100644 --- a/api/classes/SharedWorkerServer-1.html +++ b/api/classes/SharedWorkerServer-1.html @@ -22,12 +22,12 @@

Type Parameters

  • Header

    Type of header containing initialization data like activation.

  • Provider extends object | null

    Type of features provided for the remote client.

  • Remote extends object | null

    Type of features provided by remote client.

    -

Implements

Constructors

Implements

Constructors

Accessors

Methods

Constructors

Accessors

Accessors

Methods

Methods

  • Close server.

    Close all connections between its remote clients (SharedWorkerConnectors).

    It destories all RFCs (remote function calls) between this server and remote clients (through Driver<Controller>) that are not returned (completed) yet. The destruction causes all incompleted RFCs to throw exceptions.

    -

    Returns Promise<void>

\ No newline at end of file +

Returns Promise<void>

\ No newline at end of file diff --git a/api/classes/WebSocketAcceptor-1.html b/api/classes/WebSocketAcceptor-1.html index e24627e..0df625d 100644 --- a/api/classes/WebSocketAcceptor-1.html +++ b/api/classes/WebSocketAcceptor-1.html @@ -28,7 +28,7 @@

Type Parameters

  • Header

    Type of the header containing initial data.

  • Provider extends object | null

    Type of features provided for the remote client.

  • Remote extends object | null

    Type of features provided by remote client.

    -

Hierarchy

Implements

  • IWebSocketCommunicator

Accessors

Hierarchy

Implements

  • IWebSocketCommunicator

Accessors

header ip path state @@ -43,9 +43,9 @@ setProvider upgrade

Accessors

Methods

  • Parameters

    • Optionalcode: number
    • Optionalreason: string

    Returns Promise<void>

Methods

  • Parameters

    • Optionalcode: number
    • Optionalreason: string

    Returns Promise<void>

  • Get Driver for RFC (Remote Function Call).

    The Controller is an interface who defines provided functions from the remote system. The Driver is an object who makes to call remote functions, defined in the Controller and provided by Provider in the remote system, possible.

    @@ -69,21 +69,21 @@

    Type Parameters

    • Controller extends object = NonNullable<Remote>

      An interface for provided features (functions & objects) from the remote system (Provider).

    • UseParametric extends boolean = false

      Whether to convert type of function parameters to be compatible with their pritimive.

    Returns Driver<Controller, UseParametric>

    A Driver for the RFC.

    -
  • Get current Provider.

    Get an object providing features (functions & objects) for remote system. The remote system would call the features (Provider) by using its Driver<Controller>.

    Returns undefined | Provider

    Current Provider object

    -
  • Join connection.

    Wait until the connection to be closed.

    -

    Returns Promise<void>

  • Join connection or timeout.

    +

    Returns Promise<void>

  • Join connection or timeout.

    Wait until the connection to be clsoed until timeout.

    Parameters

    • ms: number

      The maximum milliseconds for joining.

    Returns Promise<boolean>

    Whether awaken by disconnection or timeout.

    -
  • Join connection or time expiration.

    +
  • Join connection or time expiration.

    Wait until the connection to be closed until time expiration.

    Parameters

    • at: Date

      The maximum time point to join.

    Returns Promise<boolean>

    Whether awaken by disconnection or time expiration.

    -
  • Ping to the remote client.

    Send a ping message to the remote client repeatedly.

    The ping message would be sent every internal milliseconds, until the connection be disconnectedd. The remote client will reply with a pong @@ -91,19 +91,19 @@ disconnected.

    Parameters

    • ms: number

      Interval milliseconds

    Returns void

    Error when the connection is not accepted.

    -
  • Reject connection.

    Reject without acceptance, any interaction. The connection would be closed immediately.

    Parameters

    • Optionalstatus: number

      Status code.

    • Optionalreason: string

      Detailed reason to reject.

      -

    Returns Promise<void>

  • Data Reply Function.

    +

Returns Promise<void>

  • Data Reply Function.

    A function should be called when data has come from the remote system.

    When you receive a message from the remote system, then parse the message with your special protocol and covert it to be an Invoke object. After the conversion, call this method.

    Parameters

    • invoke: Invoke

      Structured data converted by your special protocol.

      -

    Returns void

  • Set Provider

    +

Returns void

  • Set Provider

    Parameters

    • obj: undefined | Provider

      An object would be provided for remote system.

      -

    Returns void

Returns void

  • Upgrade to WebSocket protocol.

    If you've not opened websocket server from WebSocketServer, you can still compose the WebSocketAcceptor instance by yourself, by upgrading the HTTP connection to the websocket protocol.

    @@ -116,4 +116,4 @@

    Type Parameters

    • Header
    • Provider extends null | object
    • Remote extends null | object

    Parameters

    Returns void

\ No newline at end of file +

Returns void

\ No newline at end of file diff --git a/api/classes/WebSocketConnector-1.html b/api/classes/WebSocketConnector-1.html index ce3c0a4..174b1ef 100644 --- a/api/classes/WebSocketConnector-1.html +++ b/api/classes/WebSocketConnector-1.html @@ -24,7 +24,7 @@

Type Parameters

  • Header

    Type of the header containing initial data.

  • Provider extends object | null

    Type of features provided for the remote server.

  • Remote extends object | null

    Type of features supported by remote server.

    -

Hierarchy

Implements

  • IWebSocketCommunicator

Constructors

Hierarchy

Implements

  • IWebSocketCommunicator

Constructors

Accessors

header state url @@ -39,8 +39,8 @@

Constructors

Accessors

Returns WebSocketConnector<Header, Provider, Remote>

Accessors

Methods

  • Parameters

    • Optionalcode: number
    • Optionalreason: string

    Returns Promise<void>

Methods

  • Parameters

    • Optionalcode: number
    • Optionalreason: string

    Returns Promise<void>

  • Connect to remote websocket server.

    Try connection to the remote websocket server with its address and waiting for the server to accept the trial. If the server rejects your connection, then exception would be thrown (in Promise.catch, as WebSocketError).

    @@ -59,14 +59,14 @@ connection in time to prevent waste of the server resource.

    Parameters

    Returns Promise<void>

  • Destory the communicator.

    +

Returns Promise<void>

  • Destory the communicator.

    A destory function must be called when the network communication has been closed. It would destroy all function calls in the remote system (by Driver<Controller>), which are not returned yet.

    The error instance would be thrown to those function calls. If the disconnection is abnormal, then write the detailed reason why into the error instance.

    Parameters

    • Optionalerror: Error

      An error instance to be thrown to the unreturned functions.

      -

    Returns Promise<void>

Returns Promise<void>

  • Get Driver for RFC (Remote Function Call).

    The Controller is an interface who defines provided functions from the remote system. The Driver is an object who makes to call remote functions, defined in the Controller and provided by Provider in the remote system, possible.

    @@ -79,26 +79,26 @@

    Type Parameters

    • Controller extends object = NonNullable<Remote>

      An interface for provided features (functions & objects) from the remote system (Provider).

    • UseParametric extends boolean = false

      Whether to convert type of function parameters to be compatible with their pritimive.

    Returns Driver<Controller, UseParametric>

    A Driver for the RFC.

    -
  • Get current Provider.

    Get an object providing features (functions & objects) for remote system. The remote system would call the features (Provider) by using its Driver<Controller>.

    Returns Provider

    Current Provider object

    -
  • Join connection.

    Wait until the connection to be closed.

    -

    Returns Promise<void>

  • Join connection or timeout.

    +

    Returns Promise<void>

  • Join connection or timeout.

    Wait until the connection to be clsoed until timeout.

    Parameters

    • ms: number

      The maximum milliseconds for joining.

    Returns Promise<boolean>

    Whether awaken by disconnection or timeout.

    -
  • Join connection or time expiration.

    +
  • Join connection or time expiration.

    Wait until the connection to be closed until time expiration.

    Parameters

    • at: Date

      The maximum time point to join.

    Returns Promise<boolean>

    Whether awaken by disconnection or time expiration.

    -
  • Data Reply Function.

    A function should be called when data has come from the remote system.

    When you receive a message from the remote system, then parse the message with your special protocol and covert it to be an Invoke object. After the conversion, call this method.

    Parameters

    • invoke: Invoke

      Structured data converted by your special protocol.

      -

    Returns void

  • Set Provider

    +

Returns void

\ No newline at end of file +

Returns void

\ No newline at end of file diff --git a/api/classes/WebSocketError.html b/api/classes/WebSocketError.html index e1b84b7..c5a80c4 100644 --- a/api/classes/WebSocketError.html +++ b/api/classes/WebSocketError.html @@ -1,7 +1,7 @@ WebSocketError | tgrid

Class WebSocketError

Web Socket Error.

Hierarchy

  • Error
    • WebSocketError

Constructors

Hierarchy

  • Error
    • WebSocketError

Constructors

Properties

message name stack? @@ -12,7 +12,7 @@

Constructors

Properties

message: string
name: string
stack?: string
status: number
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

+

Returns WebSocketError

Properties

message: string
name: string
stack?: string
status: number
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

stackTraceLimit: number

Methods

  • Create .stack property on a target object

    Parameters

    • targetObject: object
    • OptionalconstructorOpt: Function

    Returns void

\ No newline at end of file diff --git a/api/classes/WebSocketServer-1.html b/api/classes/WebSocketServer-1.html index 360b82b..1411c47 100644 --- a/api/classes/WebSocketServer-1.html +++ b/api/classes/WebSocketServer-1.html @@ -22,17 +22,17 @@

Type Parameters

  • Header

    Type of header containing initialization data like activation.

  • Provider extends object | null

    Type of features provided for the remote client.

  • Remote extends object | null

    Type of features provided by remote client.

    -

Implements

Constructors

Implements

Constructors

Accessors

Methods

Constructors

Accessors

Returns WebSocketServer<Header, Provider, Remote>

Accessors

Methods

Methods

  • Close server.

    Close all connections between its remote clients (WebSocketConnectors).

    It destories all RFCs (remote function calls) between this server and remote clients (through Driver<Controller>) that are not returned (completed) yet. The destruction causes all incompleted RFCs to throw exceptions.

    -

    Returns Promise<void>

\ No newline at end of file +

Returns Promise<void>

\ No newline at end of file diff --git a/api/classes/WorkerConnector-1.html b/api/classes/WorkerConnector-1.html index 50e7e9e..a12ba70 100644 --- a/api/classes/WorkerConnector-1.html +++ b/api/classes/WorkerConnector-1.html @@ -23,7 +23,7 @@

Type Parameters

  • Header

    Type of the header containing initial data.

  • Provider extends object | null

    Type of features provided for the remote server.

  • Remote extends object | null

    Type of features supported by remote server.

    -

Hierarchy

Implements

  • IWorkerSystem

Constructors

Hierarchy

Implements

  • IWorkerSystem

Constructors

Accessors

Methods

close @@ -42,8 +42,8 @@

Type Parameters

  • Header
  • Provider extends null | object
  • Remote extends null | object

Parameters

  • header: Header

    An object containing initialization data like activation.

  • provider: Provider

    An object providing features for remote system.

  • Optionaltype: "process" | "thread"

    You can specify the worker mode when NodeJS. Default is "process".

    -

Returns WorkerConnector<Header, Provider, Remote>

Accessors

Returns WorkerConnector<Header, Provider, Remote>

Accessors

Methods

Methods

  • Compile server and connect to there.

    The compile method tries compile JS source code, creates Worker instance with that code connects to the Worker. To complete the compilation and connection, the Worker program must open that server using the WorkerServer.open() @@ -63,7 +63,7 @@ memory usage and communication channel would not be destroyed and it may cause the memory leak.

    Parameters

    Returns Promise<void>

Returns Promise<void>

Returns Promise<void>

  • Destory the communicator.

    A destory function must be called when the network communication has been closed. It would destroy all function calls in the remote system (by Driver<Controller>), which are not returned yet.

    The error instance would be thrown to those function calls. If the disconnection is abnormal, then write the detailed reason why into the error instance.

    Parameters

    • Optionalerror: Error

      An error instance to be thrown to the unreturned functions.

      -

    Returns Promise<void>

Returns Promise<void>

  • Get Driver for RFC (Remote Function Call).

    The Controller is an interface who defines provided functions from the remote system. The Driver is an object who makes to call remote functions, defined in the Controller and provided by Provider in the remote system, possible.

    @@ -92,26 +92,26 @@

    Type Parameters

    • Controller extends object = NonNullable<Remote>

      An interface for provided features (functions & objects) from the remote system (Provider).

    • UseParametric extends boolean = false

      Whether to convert type of function parameters to be compatible with their pritimive.

    Returns Driver<Controller, UseParametric>

    A Driver for the RFC.

    -
  • Get current Provider.

    Get an object providing features (functions & objects) for remote system. The remote system would call the features (Provider) by using its Driver<Controller>.

    Returns Provider

    Current Provider object

    -
  • Join connection.

    Wait until the connection to be closed.

    -

    Returns Promise<void>

  • Join connection or timeout.

    +

    Returns Promise<void>

  • Join connection or timeout.

    Wait until the connection to be clsoed until timeout.

    Parameters

    • ms: number

      The maximum milliseconds for joining.

    Returns Promise<boolean>

    Whether awaken by disconnection or timeout.

    -
  • Join connection or time expiration.

    +
  • Join connection or time expiration.

    Wait until the connection to be closed until time expiration.

    Parameters

    • at: Date

      The maximum time point to join.

    Returns Promise<boolean>

    Whether awaken by disconnection or time expiration.

    -
  • Data Reply Function.

    A function should be called when data has come from the remote system.

    When you receive a message from the remote system, then parse the message with your special protocol and covert it to be an Invoke object. After the conversion, call this method.

    Parameters

    • invoke: Invoke

      Structured data converted by your special protocol.

      -

    Returns void

  • Set Provider

    +

Returns void

\ No newline at end of file +

Returns void

\ No newline at end of file diff --git a/api/classes/WorkerServer-1.html b/api/classes/WorkerServer-1.html index 19d7d35..96aa1bf 100644 --- a/api/classes/WorkerServer-1.html +++ b/api/classes/WorkerServer-1.html @@ -23,7 +23,7 @@

Type Parameters

  • Header

    Type of the header containing initial data.

  • Provider extends object | null

    Type of features provided for the client.

  • Remote extends object | null

    Type of features supported by client.

    -

Hierarchy (view full)

Implements

Constructors

Hierarchy (view full)

Implements

Constructors

Accessors

Methods

close destructor @@ -35,14 +35,14 @@ replyData setProvider

Constructors

Accessors

Methods

Accessors

Methods

  • Destory the communicator.

    A destory function must be called when the network communication has been closed. It would destroy all function calls in the remote system (by Driver<Controller>), which are not returned yet.

    The error instance would be thrown to those function calls. If the disconnection is abnormal, then write the detailed reason why into the error instance.

    Parameters

    • Optionalerror: Error

      An error instance to be thrown to the unreturned functions.

      -

    Returns Promise<void>

Returns Promise<void>

  • Get Driver for RFC (Remote Function Call).

    The Controller is an interface who defines provided functions from the remote system. The Driver is an object who makes to call remote functions, defined in the Controller and provided by Provider in the remote system, possible.

    @@ -55,34 +55,34 @@

    Type Parameters

    • Controller extends object = NonNullable<Remote>

      An interface for provided features (functions & objects) from the remote system (Provider).

    • UseParametric extends boolean = false

      Whether to convert type of function parameters to be compatible with their pritimive.

    Returns Driver<Controller, UseParametric>

    A Driver for the RFC.

    -
  • Open server with Provider.

    Open worker server and start communication with the client (WorkerConnector).

    Note that, after your business, you should terminate this worker to prevent waste of memory leak. Close this worker by yourself (close) or let client to close this worker (WorkerConnector.close).

    Parameters

    • provider: Provider

      An object providing featrues for the client.

      -

    Returns Promise<void>

  • Data Reply Function.

    +

Returns Promise<void>

  • Data Reply Function.

    A function should be called when data has come from the remote system.

    When you receive a message from the remote system, then parse the message with your special protocol and covert it to be an Invoke object. After the conversion, call this method.

    Parameters

    • invoke: Invoke

      Structured data converted by your special protocol.

      -

    Returns void

  • Set Provider

    +

Returns void

\ No newline at end of file +

Returns void

\ No newline at end of file diff --git a/api/enums/WebSocketAcceptor.State.html b/api/enums/WebSocketAcceptor.State.html index badd2f3..8ce8f17 100644 --- a/api/enums/WebSocketAcceptor.State.html +++ b/api/enums/WebSocketAcceptor.State.html @@ -1,8 +1,8 @@ State | tgrid

Enumeration StateConst

Current state type of acceptor.

-

Enumeration Members

Enumeration Members

Enumeration Members

ACCEPTING: 0
CLOSED: 3
CLOSING: 2
NONE: -1
OPEN: 1
REJECTING: -2
\ No newline at end of file +

Enumeration Members

ACCEPTING: 0
CLOSED: 3
CLOSING: 2
NONE: -1
OPEN: 1
REJECTING: -2
\ No newline at end of file diff --git a/api/enums/WebSocketConnector.State.html b/api/enums/WebSocketConnector.State.html index ae77d90..1431f63 100644 --- a/api/enums/WebSocketConnector.State.html +++ b/api/enums/WebSocketConnector.State.html @@ -1,7 +1,7 @@ State | tgrid

Enumeration StateConst

Current state type of connector.

-

Enumeration Members

Enumeration Members

Enumeration Members

CLOSED: 3
CLOSING: 2
CONNECTING: 0
NONE: -1
OPEN: 1
\ No newline at end of file +

Enumeration Members

CLOSED: 3
CLOSING: 2
CONNECTING: 0
NONE: -1
OPEN: 1
\ No newline at end of file diff --git a/api/enums/WebSocketServer.State.html b/api/enums/WebSocketServer.State.html index 3026ed0..0a6a9ae 100644 --- a/api/enums/WebSocketServer.State.html +++ b/api/enums/WebSocketServer.State.html @@ -1,6 +1,6 @@ -State | tgrid

Enumeration StateConst

Enumeration Members

CLOSED +State | tgrid

Enumeration StateConst

Enumeration Members

Enumeration Members

CLOSED: 3
CLOSING: 2
NONE: -1
OPEN: 1
OPENING: 0
\ No newline at end of file +

Enumeration Members

CLOSED: 3
CLOSING: 2
NONE: -1
OPEN: 1
OPENING: 0
\ No newline at end of file diff --git a/api/functions/SharedWorkerConnector.compile.html b/api/functions/SharedWorkerConnector.compile.html index 6456182..bd080a0 100644 --- a/api/functions/SharedWorkerConnector.compile.html +++ b/api/functions/SharedWorkerConnector.compile.html @@ -1,4 +1,4 @@ compile | tgrid
\ No newline at end of file +
\ No newline at end of file diff --git a/api/functions/SharedWorkerConnector.remove.html b/api/functions/SharedWorkerConnector.remove.html index 77cbaf3..febd738 100644 --- a/api/functions/SharedWorkerConnector.remove.html +++ b/api/functions/SharedWorkerConnector.remove.html @@ -1,3 +1,3 @@ remove | tgrid
\ No newline at end of file +

Returns Promise<void>

\ No newline at end of file diff --git a/api/interfaces/Invoke.IFunction.html b/api/interfaces/Invoke.IFunction.html index affab94..bae9b02 100644 --- a/api/interfaces/Invoke.IFunction.html +++ b/api/interfaces/Invoke.IFunction.html @@ -1,8 +1,8 @@ IFunction | tgrid

Interface IFunction

Message for Requesting RFC.

-
interface IFunction {
    listener: string;
    parameters: IParameter[];
    uid: number;
}

Hierarchy

  • IBase
    • IFunction

Properties

interface IFunction {
    listener: string;
    parameters: IParameter[];
    uid: number;
}

Hierarchy

  • IBase
    • IFunction

Properties

listener: string

Target function (sometimes calsuled in objects) to call.

-
parameters: IParameter[]

Parameters for the function call.

-
uid: number

Unique identifier.

-
\ No newline at end of file +
parameters: IParameter[]

Parameters for the function call.

+
uid: number

Unique identifier.

+
\ No newline at end of file diff --git a/api/interfaces/Invoke.IParameter.html b/api/interfaces/Invoke.IParameter.html index 05a5fa9..af22749 100644 --- a/api/interfaces/Invoke.IParameter.html +++ b/api/interfaces/Invoke.IParameter.html @@ -1,3 +1,3 @@ -IParameter | tgrid

Interface IParameter

interface IParameter {
    type: string;
    value: any;
}

Properties

type +IParameter | tgrid

Interface IParameter

interface IParameter {
    type: string;
    value: any;
}

Properties

Properties

type: string
value: any
\ No newline at end of file +

Properties

type: string
value: any
\ No newline at end of file diff --git a/api/interfaces/Invoke.IReturn.html b/api/interfaces/Invoke.IReturn.html index 3cc3a27..854a571 100644 --- a/api/interfaces/Invoke.IReturn.html +++ b/api/interfaces/Invoke.IReturn.html @@ -1,8 +1,8 @@ IReturn | tgrid

Interface IReturn

Message for Returning RFC.

-
interface IReturn {
    success: boolean;
    uid: number;
    value: any;
}

Hierarchy

  • IBase
    • IReturn

Properties

interface IReturn {
    success: boolean;
    uid: number;
    value: any;
}

Hierarchy

  • IBase
    • IReturn

Properties

Properties

success: boolean

true -> return, false -> exception.

-
uid: number

Unique identifier.

-
value: any

Returned value or thrown exception.

-
\ No newline at end of file +
uid: number

Unique identifier.

+
value: any

Returned value or thrown exception.

+
\ No newline at end of file diff --git a/api/interfaces/SharedWorkerConnector.IConnectOptions.html b/api/interfaces/SharedWorkerConnector.IConnectOptions.html index b00e9e9..1938943 100644 --- a/api/interfaces/SharedWorkerConnector.IConnectOptions.html +++ b/api/interfaces/SharedWorkerConnector.IConnectOptions.html @@ -1,4 +1,4 @@ IConnectOptions | tgrid

Connection options for the SharedWorkerConnector.connect.

-
interface IConnectOptions {
    timeout: number;
}

Properties

interface IConnectOptions {
    timeout: number;
}

Properties

Properties

timeout: number

Milliseconds to wait the shared-worker server to accept or reject it. If omitted, the waiting would be forever.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/api/interfaces/WebSocketConnector.IConnectOptions.html b/api/interfaces/WebSocketConnector.IConnectOptions.html index 0d3ca86..abb53a0 100644 --- a/api/interfaces/WebSocketConnector.IConnectOptions.html +++ b/api/interfaces/WebSocketConnector.IConnectOptions.html @@ -1,4 +1,4 @@ IConnectOptions | tgrid

Connection options for the WebSocketConnector.connect.

-
interface IConnectOptions {
    timeout: number;
}

Properties

interface IConnectOptions {
    timeout: number;
}

Properties

Properties

timeout: number

Milliseconds to wait the web-socket server to accept or reject it. If omitted, the waiting would be forever.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/api/interfaces/WorkerConnector.IConnectOptions.html b/api/interfaces/WorkerConnector.IConnectOptions.html index 943b6bd..548c92e 100644 --- a/api/interfaces/WorkerConnector.IConnectOptions.html +++ b/api/interfaces/WorkerConnector.IConnectOptions.html @@ -1,9 +1,9 @@ IConnectOptions | tgrid

Interface IConnectOptions

Connection options for the WorkerConnector.connect.

-
interface IConnectOptions {
    execArgv: string[];
    stdio:
        | "pipe"
        | "overlapped"
        | "ignore"
        | "inherit";
    timeout: number;
}

Properties

interface IConnectOptions {
    execArgv: string[];
    stdio:
        | "pipe"
        | "overlapped"
        | "ignore"
        | "inherit";
    timeout: number;
}

Properties

execArgv: string[]

Arguments only for the NodeJS environments.

-
stdio:
    | "pipe"
    | "overlapped"
    | "ignore"
    | "inherit"

Whether to redirect the standard input to the worker server.

+
stdio:
    | "pipe"
    | "overlapped"
    | "ignore"
    | "inherit"

Whether to redirect the standard input to the worker server.

Available only in the NodeJS + Process environments.

-
timeout: number

Milliseconds to wait the worker server to accept or reject it. If omitted, the waiting would be forever.

-
\ No newline at end of file +
timeout: number

Milliseconds to wait the worker server to accept or reject it. If omitted, the waiting would be forever.

+
\ No newline at end of file diff --git a/api/modules/Invoke.html b/api/modules/Invoke.html index c86ad29..6c49e03 100644 --- a/api/modules/Invoke.html +++ b/api/modules/Invoke.html @@ -1,4 +1,4 @@ -Invoke | tgrid

Namespace Invoke

Index

Interfaces

IFunction +Invoke | tgrid
\ No newline at end of file diff --git a/api/modules/SharedWorkerAcceptor.html b/api/modules/SharedWorkerAcceptor.html index 0e5a84e..516ff9c 100644 --- a/api/modules/SharedWorkerAcceptor.html +++ b/api/modules/SharedWorkerAcceptor.html @@ -1,2 +1,2 @@ -SharedWorkerAcceptor | tgrid

Namespace SharedWorkerAcceptor

References

State +SharedWorkerAcceptor | tgrid

Namespace SharedWorkerAcceptor

References

References

Re-exports State
\ No newline at end of file diff --git a/api/modules/SharedWorkerConnector.html b/api/modules/SharedWorkerConnector.html index d3fcf1e..bfb5104 100644 --- a/api/modules/SharedWorkerConnector.html +++ b/api/modules/SharedWorkerConnector.html @@ -1,4 +1,4 @@ -SharedWorkerConnector | tgrid

Namespace SharedWorkerConnector

References

State +SharedWorkerConnector | tgrid

Namespace SharedWorkerConnector

References

Interfaces

Functions

compile remove diff --git a/api/modules/SharedWorkerServer.html b/api/modules/SharedWorkerServer.html index 838206b..117a85e 100644 --- a/api/modules/SharedWorkerServer.html +++ b/api/modules/SharedWorkerServer.html @@ -1,2 +1,2 @@ -SharedWorkerServer | tgrid

Namespace SharedWorkerServer

References

State +SharedWorkerServer | tgrid

Namespace SharedWorkerServer

References

References

Re-exports State
\ No newline at end of file diff --git a/api/modules/WebSocketAcceptor.html b/api/modules/WebSocketAcceptor.html index 2e5b0ed..8923bf9 100644 --- a/api/modules/WebSocketAcceptor.html +++ b/api/modules/WebSocketAcceptor.html @@ -1,2 +1,2 @@ -WebSocketAcceptor | tgrid

Namespace WebSocketAcceptor

Index

Enumerations

State +WebSocketAcceptor | tgrid
\ No newline at end of file diff --git a/api/modules/WebSocketConnector.html b/api/modules/WebSocketConnector.html index f0bdb17..a4a33a7 100644 --- a/api/modules/WebSocketConnector.html +++ b/api/modules/WebSocketConnector.html @@ -1,3 +1,3 @@ -WebSocketConnector | tgrid

Namespace WebSocketConnector

Index

Enumerations

State +WebSocketConnector | tgrid
\ No newline at end of file diff --git a/api/modules/WebSocketServer.html b/api/modules/WebSocketServer.html index 03ee934..ddd346b 100644 --- a/api/modules/WebSocketServer.html +++ b/api/modules/WebSocketServer.html @@ -1,2 +1,2 @@ -WebSocketServer | tgrid

Namespace WebSocketServer

Index

Enumerations

State +WebSocketServer | tgrid
\ No newline at end of file diff --git a/api/modules/WorkerConnector.html b/api/modules/WorkerConnector.html index ec4ec57..fe864f9 100644 --- a/api/modules/WorkerConnector.html +++ b/api/modules/WorkerConnector.html @@ -1,3 +1,3 @@ -WorkerConnector | tgrid

Namespace WorkerConnector

References

State +WorkerConnector | tgrid

Namespace WorkerConnector

References

Interfaces

References

Re-exports State
\ No newline at end of file diff --git a/api/modules/WorkerServer.html b/api/modules/WorkerServer.html index b903203..cafe523 100644 --- a/api/modules/WorkerServer.html +++ b/api/modules/WorkerServer.html @@ -1,2 +1,2 @@ -WorkerServer | tgrid

Namespace WorkerServer

References

State +WorkerServer | tgrid

Namespace WorkerServer

References

References

Re-exports State
\ No newline at end of file diff --git a/api/modules/default.html b/api/modules/default.html index 688a441..57298e2 100644 --- a/api/modules/default.html +++ b/api/modules/default.html @@ -1,4 +1,4 @@ -default | tgrid

Namespace default

References

Communicator +default | tgrid

Namespace default

References

Communicator Driver Invoke Primitive diff --git a/api/types/Driver.html b/api/types/Driver.html index ea79e35..def7da2 100644 --- a/api/types/Driver.html +++ b/api/types/Driver.html @@ -11,4 +11,4 @@

Type Parameters

  • Controller extends object

    An interface defining features (functions & objects) provided from the remote system.

  • Parametric extends boolean = false

Whether to convert type of function parameters to be compatible with their pritimive.

Jeongho Nam - https://github.com/samchon

-
\ No newline at end of file +
\ No newline at end of file diff --git a/api/types/Invoke-1.html b/api/types/Invoke-1.html index afa7407..04d497d 100644 --- a/api/types/Invoke-1.html +++ b/api/types/Invoke-1.html @@ -1,3 +1,3 @@ Invoke | tgrid

Type Alias Invoke

Invoke: IFunction | IReturn

Message structure for RFC (Remote Function Call).

Jeongho Nam - https://github.com/samchon

-
\ No newline at end of file +
\ No newline at end of file diff --git a/api/types/Primitive.html b/api/types/Primitive.html index 89f2ad4..b62ff0e 100644 --- a/api/types/Primitive.html +++ b/api/types/Primitive.html @@ -53,4 +53,4 @@

Jeongho Nam - https://github.com/samchon

Kyungsu Kang - https://github.com/kakasoo

Michael - https://github.com/8471919

-
\ No newline at end of file +
\ No newline at end of file diff --git a/api/types/Promisive.html b/api/types/Promisive.html index 9765a77..f01ca62 100644 --- a/api/types/Promisive.html +++ b/api/types/Promisive.html @@ -7,4 +7,4 @@

Type Parameters

  • Instance extends object

    An object type to be promised.

  • UseParametric extends boolean = false

    Whether to convert type of function parameters to be compatible with their pritimive.

    -
\ No newline at end of file +
\ No newline at end of file diff --git a/api/variables/Driver-1.html b/api/variables/Driver-1.html index ee24ee4..4186458 100644 --- a/api/variables/Driver-1.html +++ b/api/variables/Driver-1.html @@ -1 +1 @@ -Driver | tgrid

Variable Driver

Driver: typeof __class
\ No newline at end of file +Driver | tgrid

Variable Driver

Driver: typeof __class
\ No newline at end of file diff --git a/docs/examples/nestjs-websocket/index.html b/docs/examples/nestjs-websocket/index.html index 1790675..0abc29f 100644 --- a/docs/examples/nestjs-websocket/index.html +++ b/docs/examples/nestjs-websocket/index.html @@ -19,7 +19,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Learn from Examples
NestJS WebSocket

Outline

+
📖 Guide Documents
Learn from Examples
NestJS WebSocket

Outline

If you develop websocket application, I recommend integrate TGrid with NestJS / Nestia.

It's because you can manage WebSocket API endpoints much effectively and easily by NestJS controller patterns. Also, you can make your server to support both HTTP and WebSocket protocols at the same time. NestJS controllers are compatible with both HTTP and WebSocket operations.

Furthermore, you can generate SDK (Software Development Kit) library for your client application through Nestia. With the automatically generated SDK, client developers no more need to write the WebSocket connection and RPC (Remote Procedure Call) codes manually, so that the client development becomes much easier and safer.

@@ -453,4 +453,4 @@

Mutex Server -


Released under the MIT License.

Copyright 2018 - 2024 Samchon & Contributors
\ No newline at end of file +

Released under the MIT License.

Copyright 2018 - 2024 Samchon & Contributors
\ No newline at end of file diff --git a/docs/examples/object-oriented-network/index.html b/docs/examples/object-oriented-network/index.html index 488c239..a2b51c1 100644 --- a/docs/examples/object-oriented-network/index.html +++ b/docs/examples/object-oriented-network/index.html @@ -19,7 +19,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Learn from Examples
Object Oriented Network

Outline

+
📖 Guide Documents
Learn from Examples
Object Oriented Network

Outline

Object Oriented Network

Each remote system is an object.

With TGrid, you can easily develop complicated network system, by considering each network system as an object, and interacting with each other through RPC (Remote Procedure Call). TGrid defines this concept as "Object Oriented Network".

@@ -273,4 +273,4 @@

await acceptor.accept(provider); // ACCEPT CONNECTION acceptor.ping(15_000); // PING REPEATEDLY TO KEEP CONNECTION } -}


Released under the MIT License.

Copyright 2018 - 2024 Samchon & Contributors
\ No newline at end of file +}

Released under the MIT License.

Copyright 2018 - 2024 Samchon & Contributors
\ No newline at end of file diff --git a/docs/examples/remote-function-call/index.html b/docs/examples/remote-function-call/index.html index e3fccf8..c871320 100644 --- a/docs/examples/remote-function-call/index.html +++ b/docs/examples/remote-function-call/index.html @@ -19,7 +19,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Learn from Examples
Remote Function Call

Outline

+
📖 Guide Documents
Learn from Examples
Remote Function Call

Outline

With TGrid, you can call remote system's functions as if they are local functions.

Such remote procedure calling concept is called as RPC (Remote Procedure Call) in the development world, but it contains not only remote funtion call, but also contains Remote Object Call and Object Oriented Network. However, in here chapter, we will focus only on the remote function calls.

Let's learn how to call remote functions with TGrid.

@@ -134,4 +134,4 @@

await connector.close(); console.log(stack); -};


Released under the MIT License.

Copyright 2018 - 2024 Samchon & Contributors
\ No newline at end of file +};

Released under the MIT License.

Copyright 2018 - 2024 Samchon & Contributors
\ No newline at end of file diff --git a/docs/examples/remote-object-call/index.html b/docs/examples/remote-object-call/index.html index cbf04b7..350574b 100644 --- a/docs/examples/remote-object-call/index.html +++ b/docs/examples/remote-object-call/index.html @@ -19,7 +19,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Learn from Examples
Remote Object Call

Outline

+
📖 Guide Documents
Learn from Examples
Remote Object Call

Outline

Remote Object Call

With TGrid, you can call remote system's nested functions as if they are local functions.

Such remote procedure calling concept is called as RPC (Remote Procedure Call) in the development world, but it contains not only remote function call, but also contains Object Oriented Network. However, in here chapter, we will focus only on the remote nested function calls.

@@ -181,4 +181,4 @@

main().catch((exp) => { console.error(exp); process.exit(-1); -});


Released under the MIT License.

Copyright 2018 - 2024 Samchon & Contributors
\ No newline at end of file +});

Released under the MIT License.

Copyright 2018 - 2024 Samchon & Contributors
\ No newline at end of file diff --git a/docs/features/components/index.html b/docs/features/components/index.html index 7682872..bb5a3ef 100644 --- a/docs/features/components/index.html +++ b/docs/features/components/index.html @@ -19,7 +19,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Features
Components

Outline

+
📖 Guide Documents
Features
Components

Outline

This chapter describes key components of the TGrid only in the conceptual level.

If you're not familar with theoretical stories, it's okay to skip to the next chapter Features > WebSocket Protocol.

Even you want to see the example codes, step to the Learn from Examples > Remote Funtion Call chapter.

@@ -31,7 +31,7 @@
  • Driver: proxy instance for calling functions of the remote system's Provider
  • Communicator

    -

    Sequence Diagram

    +

    Communicates with a remote system.

    Communicator is a class taking full responsibility to network communication with remote system. You can register a Provider, an object would be provided to the remote system, to the Communicator. Also, Driver<Remote>, which can access to the remote system's Provider, is created by this Communicator.

    For reference, actual Communicator is the top-level abstract class, and all the classes responsible for network communication in TGrid are inheriting from this Communicator class. Here is the list of every communicator classes in TGrid.

    @@ -177,4 +177,4 @@

    Otherwise exception is thrown in the remote Provider function, Communicator deliveries the exception instance instead to the remote system, so that actual exception being thrown from the Driver<Remote> instance.

    💻

    Demonstration

    You can run it on Playground Website (opens in a new tab), or local machine.

    Terminal
    git clone https://github.com/samchon/tgrid.example.websocket
     npm install
    -npm start


    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file +npm start

    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file diff --git a/docs/features/websocket/index.html b/docs/features/websocket/index.html index cba2706..2178518 100644 --- a/docs/features/websocket/index.html +++ b/docs/features/websocket/index.html @@ -19,7 +19,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
    📖 Guide Documents
    Features
    WebSocket Protocol

    Outline

    +
    📖 Guide Documents
    Features
    WebSocket Protocol

    Outline

    TGrid supports WebSocket protocol.

    With TGrid, you can easily develop WebSocket system under the RPC (Remote Procedure Call) concept.

    By the way, when you're developing WebSocket server natively only with TGrid, you have to construct and open the WebSocket server through WebSocketServer class. Also, you have to access to the WebSocket server with manual WebSocketConnector composition.

    @@ -635,4 +635,4 @@

    Also, don't forget to closing the connection, if your business logics have been completed, to clean up the resources. Otherwise, the closing must be performed by the remote websocket server, you can wait the remote server's closing signal through the WebSocketConnector.join() method.

    💻

    Demonstration

    You can run it on Playground Website (opens in a new tab), or local machine.

    Terminal
    git clone https://github.com/samchon/tgrid.example.nestjs
     npm install
    -npm start


    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file +npm start

    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file diff --git a/docs/features/worker/index.html b/docs/features/worker/index.html index 9e32dfc..478c087 100644 --- a/docs/features/worker/index.html +++ b/docs/features/worker/index.html @@ -19,7 +19,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
    📖 Guide Documents
    Features
    Worker Protocol

    Outline

    +
    📖 Guide Documents
    Features
    Worker Protocol

    Outline

    TGrid supports Worker/SharedWorker protocols.

    With TGrid, you can easily develop Worker programs under the RPC (Remote Procedure Call) concept.

    TGrid considers Worker as a 1: 1 dedicated server, and SharedWorker as a 1: N multi-client acceptable server running on the local. Therefore, the interfaces of Worker and SharedWorker in the TGrid are similar with WebSocket components. In such reason, if you're developing a complicate WebSocket system, you can simulate it in the local environment by using Worker/SharedWorker components.

    @@ -290,4 +290,4 @@

    💻

    Demonstration

    You can run it on your local machine.

    Terminal
    git clone https://github.com/samchon/tgrid.example.shared-worker
     npm install
     npm run build
    -npm start


    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file +npm start

    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 180dffd..2557521 100644 --- a/docs/index.html +++ b/docs/index.html @@ -19,7 +19,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
    📖 Guide Documents
    🙋🏻‍♂️ Introduction

    TGrid Logo

    +

    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file +

    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file diff --git a/docs/projects/chat/index.html b/docs/projects/chat/index.html index 4eb6e4b..96fb678 100644 --- a/docs/projects/chat/index.html +++ b/docs/projects/chat/index.html @@ -19,8 +19,8 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
    📖 Guide Documents
    Learn from Projects
    Chat Application

    Preparing

    +

    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file +

    https://github.com/samchon/tgrid.projects.chat (opens in a new tab)


    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file diff --git a/docs/projects/market/index.html b/docs/projects/market/index.html index 8772e90..096cbe2 100644 --- a/docs/projects/market/index.html +++ b/docs/projects/market/index.html @@ -19,8 +19,8 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
    📖 Guide Documents
    Learn from Projects
    Grid Market

    Preparing

    +

    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file +

    https://github.com/samchon/tgrid.projects.market (opens in a new tab)


    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file diff --git a/docs/projects/mutex/index.html b/docs/projects/mutex/index.html index 809abcd..a4313ec 100644 --- a/docs/projects/mutex/index.html +++ b/docs/projects/mutex/index.html @@ -19,8 +19,8 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
    📖 Guide Documents
    Learn from Projects
    Mutex Server

    Preparing

    +

    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file +

    https://github.com/samchon/mutex (opens in a new tab)


    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file diff --git a/docs/remote-procedure-call/index.html b/docs/remote-procedure-call/index.html index 7a1b108..89be792 100644 --- a/docs/remote-procedure-call/index.html +++ b/docs/remote-procedure-call/index.html @@ -19,7 +19,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
    📖 Guide Documents
    📡 Remote Procedure Call

    Outline

    +
    📖 Guide Documents
    📡 Remote Procedure Call

    Outline

    With TGrid, you can call remote procedures of provided by remote system.

    If remote system provides a function, TGrid lets you call it as if it was a local function own. If remote system provides some functions that are capsuled in hierarchical structured objects, you still can call them as if they were your own. This is the concept of RPC (Remote Procedure Call) what TGrid is saying.

    By the way, there are many other RPC (Remote Procedure Call) frameworks or libraries in the world. However, TGrid is different from them. RPC of TGrid does not mean only calling and getting returned value from the remote system's procedure, but also ensuring type safety. With the type safety, you can actually feel like that the remote procedure is your own.

    @@ -116,4 +116,4 @@

    Restrictions

    TGrid has implemented the RPC (Remote Procedure Call) by communicating JSON message. Therefore, if parameters or return values of the remote provided functions are not compatible JSON, you can't use them.

    For example, JSON does not support bigint type of JavaScript. Therefore, if some of the remote provided functions are using bigint type on their parameters or return value, it would throw an exception.

    -

    Also, as JSON does not contain class transformation spec, every parameters and return values must be primitive types. If you try to deliver the class instance as a parameter or return value, it would be downgraded to primitive instance in the remote system.


    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file +

    Also, as JSON does not contain class transformation spec, every parameters and return values must be primitive types. If you try to deliver the class instance as a parameter or return value, it would be downgraded to primitive instance in the remote system.


    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file diff --git a/docs/setup/index.html b/docs/setup/index.html index 320fd96..6af7f36 100644 --- a/docs/setup/index.html +++ b/docs/setup/index.html @@ -19,7 +19,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
    📖 Guide Documents
    📦 Setup

    Standalone

    +
    📖 Guide Documents
    📦 Setup

    Standalone

    Terminal
    npm install tgrid

    If you're planning to use TGrid standalone, without NestJS integration, just setup it.

    NestJS

    @@ -27,4 +27,4 @@

    Otherwise, you wanna use TGrid with NestJS integration, please refer to the guide documents of nestia.

    By the way, if you want to setup it right now without reading detailed documents, just run the below commands.

    Terminal
    npx nestia setup
    -npm install tgrid


    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file +npm install tgrid

    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file diff --git a/images/diagrams/sequence.png b/images/diagrams/sequence.png deleted file mode 100644 index 121a3d7ee51a05c5840fb41baeefa56e774504b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18399 zcmeHv2UL^Yx@Hs=6@gz-5fQK;sDLO{T0jv2rTmJ5fDnN%e&wDyw4`;PYYw= zwOiLhAP`|wlcT2~5P_2r$np)VmxJG=oNK)c{#)jE%J>K*r*Ydb_^`tLu=!yK8p-oefl1|ZNrA9-kCLvth@iNeudlR z^P5+$@(dJjtNBpwn%ZdXgmCHqbx|-_5tu=@~I$dbl5B8!fdDe zD+d^i+_oGNKg5}+>_qIjb@2fwTg?n(u*uas zo&7=tMnJMhNVtmmDw8gZ<#3+3vSZh~BacqUH6G=OaXB$4C`g{=f^dJDEApO+&7sJ$ z^Y<9s z2D(J`ip9DX@@eJA@y0>kiPrJCdSi|gP7hSF_H1#1(AY5t%x@lqk z_QfJaO%x`xL?%6u;JQ6148e%wlxG#<7jor*fCJ-ILn8xAn!>*L!9;rF;=g@!E_2!6 zZJi!&BJBfRqrNKB z!`KKvSSDR&1-i_zthe(bl=Z~*^5n++Y>Qpc4OCpCr&C#qWzRFZG5FMVAP5) zXO)GpeRsVkv8xi1*J92H3JUrPLUnZfVCwXqOFD+*BPz#yTB@t713Sj5!(QjXbUyY< z^$bACNT#vb^vV-*F4mh%;qDE)6Gu1xQTu^7sO?3+IbQ0W$CiEXVn=~vg3{*qwfW>B z>bs}ja~;jQx-UnXO7%Etm<=dha&KyC8VeupkMV#);uV^aN32WeVk$}lgVx=I&He+ z5&4=cs?t^Fwd&Q&Q5fN%_yxBY^MU4r75ZT~Ml5gd0wooKXiF2gDT1x!x_A{Uq{2}@ z(uF0j=G=U1Q5iCu*>k^zt*VQWp^xW%fU=DGvv$H<>7p4fY!Us#8-AX{xFp;ewR>kT zveijtOcU#hT3r@L^Mi8_U!ztDr?4UC1$~`?*6v#4I?=?OFnnXnA-x+!*<0K?W3Rxm z59NGwkl5SSghL%aLNEFtLPm1q1ZpaHS+|piobow%*WcBEx{c$F-Eu)|@Yr#r< z!8<$b%WPa%w?X9WVrFDh)quY*1ZY#kZX@;A>>CyOWZEc|sYCCvNO5p*=pGm^3tL}%YelHz2 zSM;phk1m5BS|@$(LZuZj&FE3?qGMwZ$EqgSuSmU{`P?w9HS-3(=6D?XZ)^ z{a*7(IAHB<)Z_ zz*-(&@*;!W1wkz5WY*O^WhHfXg_+ggsOlU_w zEpHysbe~RIKRxcdBf!tk4~bMfL5HVn!;q zHNKn$4V}>%bBfQ-%DPSw2RpJ;B$T~X{^U^XZf<8`3C}mDve)wW@dEdL)0smcuIK@` zQ0!_NOKmb=Bueo7a7^OZc?RYT)+SLR_|)8t90)~y0z7xGH1VZfm`jX4$a5zK$4$nI zwZA=7KFG9wCidGGZMLIDA%O=vka=J}V@3d9`_anxXomi3Fmc`l&)M()n;!KbQQSck zxAIS|Lx&FO>SjUDt%ul2Gp^veV|CJ-LC}4{o^f4~H9neK`BXDQg9@Af1RJ^ldHctj ztqAJJ=hy|hJ1mU-GD#6)f1#4t&=k1r{Dw7K(aPc2vE_-p;JZ!@wuLC@wHYj1wHfK8 zCX;8&(|!ZS%@*WaH?Xw>0z~m+jAj4q%l2Lb4u`{F_?28)T~a|nEjrpj47_-QMy~7a z>%(9$-6Fy4=>ZbyNsdV`4Lvb8HwQfF%*^TWtw+YQo3Q$EsyVo2+xPJWIMTlodHM2o zqK#_}3r;ByX41PyJ97g9>WWB67K`PZ0{8LpC&;C9NjMvA0mu}8#gF8aWTku&2pppj zL`0X#DylUDla!Q%#g3YhzkK;JJ6qTYF_7i2>4lVx3=E_+_XfwuEw=8RZR(*|GgiLe z9}@w|17ZPZ*qQ_l)!rN^QC?I`LRu#2mQ+@DCKPGHDU<1Q5OCZ;E+(C0V`Cujr>N>l zl(WFsnv(P+Ipl*IkdH#asviDW6|r;i1JZgGs>;ir7!(#377~)Fn#AECw2EHWLm;?h zo|4FV(?uVd?vmQJ?cTy3l}+SJ&?$O1zEKAI*lPakCm}+u;CUf_dSuGWUW!KNYff&a zO}(d_W7H;uI%?_YAUMo1oK0>&ol&d_@mj$|hO4fmbTf1@h4)1^C22-oYkp{d)Rm zke47ul*4CRczUwI7i1e(ufB3R*w&VA8O!l3_wAzDu;Bx=*v~ppD5ZofU7`h{-{NI@ zF>5)Rs)6H0#y-+U&uHWmuOEg&I+jHF-tmr73H@#x($_eq?S*P|UhV?q?NR<&$<~ye zrPOOPR&#oqw0ZID8h@-6=xC622rdcPfS0UILii`Q!2=2mQ<|^3Cd-M&K)VH&WcQp6 zUcU4WR7+;aMA)$62YRcQDqm-Szb+ zFl!#2)z;G^Nuc3(EO10^SLSUcwCLNqrCEk~`TP!h`x@^3TCUD| zU}Jwh)!c32L5KwNZ7|}i=HKnx+8Y|Ih`93!Wb9eAHezF=ivn0My1&Sfv9cLya=rX6 z$Vb)X8XNlq6e>qbd(JZSwj4;@l+GR>AD{6$6X*jyI3?4#D!gJzUWd`fsww$?jHnxq zlULBW&h!G{vn`gr9pOu0Z~knWYN73wM=QWNxbfe3ahql@N)+6_i7(=fEy&SiHsr;1 z{@!+?;d*K^;ivg0dFm)58we$4E&nL*co1frk&sh|`FmPVEC#iM!M>$QQrI0pJ|-*q z(lb({hJdrp`1dC>ZhXG2`sizs4Ui?HF`7>6sEL0rb3G#_LbI|CwLVew$Nc}y4R+9J zoTkP3CdRgfsc2NY`xX-LcfI>9>(yXgk7=>WnoO?=I;(QA!g0DB$?6N5TNkupp+jw@4XRg3-foo(K`U# zhFcR`1iCoSXo7Ogazl>wlQ{8hJ5#9Ww9g}=c7r2Lo`gj4$#LrU;_=g4AQ2tc9WtYKN7DBGJ7W8NYi@ z&+|C?ydd}tZ#{rkPWk_j|A|<<0&N!iq8_&!%TM@gp!doLF3|AqgF{~<8sT4%FME+P z`yVt6`#pGIK?(J+@M&7>ZZDd#u*E*uhHf;2==gAP`b%H!$%VQ@+EWxCa>0|h>JRcy zX^5IIbhP-S#iN=GBhgmJHR*HLU*V+XFGpFG&iOtEj@y5#(>ViLiwDut6 z0Rvb5>|j)>ZvMLe@Q4kzsNz}Q+uf9fk%`X7VhVzn!k#R;yz=@}X`2y4$-9&0H`q2m z-u0|;Qb1&ZoS*1c|&J6YNboChX zkNK0|^S~nhM0ct7X)V+(Uh6hC_LZB>up!rM%4&M9g(7|mfWZgXd5XNnN|jy5n6L5? zppXLWg)4lIVZSviB+L6>@B}9BoY+Lzd@J`4<99R@k!DN@+~5pgU7vWpW!C*V|IK z(jv={aZ@j!J){>Fw1P=NIYslP)=&#D1A; zh0drnpQ#Yidt+L`SU~$;74nkCyp{?Ixe3{jo>;!yb3tSHRJn{^V#e(RUjxiUB4^G9uP9H)rl zrEjvu?>BB_FMkl`iM~)9(T+duhq_u8#5|JTQ-=2G`h29X<9>!_w({Uxjd%4d6Dy0X zZ4vA<+}Py&!-bdIcM=D&%J@>W7!&igqc~W;g-ptsz64#o!R!oCJ_4`0-*%r|)mXIX zyxwoH{S0^6Axw3)%*)UxV-$HALwr+h;%RgjPULwEcC08T{EL!DwkK8vm=K{ zON$zX4$Wm>yt7-hHR)w?8&wODY}IFmNDLk=BWp0`CcQ~-P2(mWrae2WwVHvOmp62c zxb)>!s2VKPLha#bsSjo?gE8rrAa(F^4l{6r>LsX+6LYpp-)PJR*XW@3frjipuDfr|YnfNklVrg)~ zRHF;)G20J+tFUv(dh9-0Dg@DyJ$3~x9%XB%)K1;Lf?$53_{o{MW*#UG_HhZ8~6AWBapMPhLB=pSu%6p3~V)+NX2r^FH%ZWVG7A z$GXGuumOFEeUhhzjK@;hy(K=cO)Zcd>gbCT^JSpFN@;Dr65UqqhmoVZDD zu=a0%;9j;*zpN<8#7&U+O~la^l^Ds@#p!KYBqez@3L207AL)qFwk zAUA>j3>?_kykxw4l*YR0wsG&k!br_xlR& zAOC1W`{-mS`og|Y^HSi@L<#4D`iZjoqoW71sw;n5(CmtlTJM=A$IqvQCaw=3S==D% zjl<2^^icb+{m{Z2e`#SD+A^tPzKDp)A4$JHdxvHgazaP)wjTE5J@iD4KE^P;2K8m@ z_@*Ak5PJ9cwnu%}SZ^pH6XypG2P6dFHmzjUf&^YbG|iNwWUZOQQnIz}(Pq0v zCDk(bG6v;DR7Lx9(sTn0_aRqu;#wQ-&TY59n^}3-M)axoXthe2ROkatq%`w$6iE2G zz9m{tF3)KQTV}lE|9kN5&w6{ByCwBVw<=OnD5S34#JJU7-{2dm%XX*4RsSUgFPOfu2c}*IaH@Q6D3DAKHM7(x5IZEWCSn4T{oj%*y@R zGGXg{5!5NHnPIEY<6Gq2O&gyisW){+@k*HJiv**}WBo@RZ-mtKfG~JdifiqX&4MGcs5tzxlv9{>8$cUD|w;A1Ot6*1B_g^Evm zu_o}qz{hDh;ne>Z9yj_BqV>7o-96d0mSHJYLL86@&kv_#M`G`d4AjT*u+O%0?cy-x z6;LW#h6UpssI=*QpQ`yY%v?swz+RyGrFPfL?D#AC}pqjOL>2j3*{1?$d-1jj! zic<{!Y2(ZFxl_?|>rzWW9Zeos8@9-yj;g}C>N=+q;e;0VH!lFvRB`@cFR0Fv=_C5w zZ~8Njl`O|qv86Uuzg6}L;3A25zOKIHxKfH61+gcV}(}U;hQ~hXLQ}# zSSl%7)nL zB?8ou*)f8@O9`5;4#YGWTxL|8#r|I2_h>4(4ENPagz+{&aT~VS{&54^^0J_U1h!ZR zG5`|9X;0{O$$t!P6+WSrRaAs>=SzAOpP}ZfQS)V$934ys24G05x@2>9$wtknbc%?G z_-D#F`}s8w;*fQV2jIE|4_c0sqAoK3Omn|r-}dJhnV|` ziHQIp8#3GM0i}!aPK-DBu1ZgHh7*>jxoeI2n)_c|x5=jfBlnPB`qkqNTQ+lKlgj1ixq;r$ zZt_`I==tx5o_^EB4#WXCDcE$V{mouy4G`UVQp;yKqI12o-p=iC-|*VaIsk1MR#@H_ zpt;_st5#Z?G`rBapr|Gn$fB_$`u|hYw@e7R`G=YwjLSuQHdw+ww3I zL9eG3th5#+HI&r{;|{>;@&p+$8xbK8dv#aX)Lj^I>XSGrB07aVEvGDi*{bQ< z0I*)C>G3pnj35*qwAV`8plY7(t{)4FOGVk?AK-GVy=>FcFXcDhpY*NIx#+Kv5m#7d zp+@X<{HpYa${^E6x_z;v;DOh~7t|sPJJUVhkIN;rI>Qmu{k6lx!VS4DQX*D7 z!s33SiW{B}=5*Ig*pU%%6=Lxzg#ujNu9E}SKTw<8EG8D3OCh_&er27wR$@kf84IT=GQKk^xRc7dwZyhcABsMlm!i4 zu7aM`NRq|*GhcNg#fgM@4A?&xNt?~AXhBMXA`f^55S2Efl|{AARhJg_ zl+ze0W^(;XF7f7e)Ipsql2@lX)@cY?Hn2nj3~|Bt+#b?Rx+KatW{em; zG)*i`rs13|PUGx}tem8_#ff!c@}!QQE{l*6VKZv?>|9<&bz!XiZz4qon=EK|oFR33 zL&Y3U`6Z=IH>^#VM2!g(JoFw7YvWI!$T<~<2{H@$1LMG!^bX(l=pRfyJi2GE`Ud2C zPpFtjKvm)OdgAB}wmxeYrSW`j|1)NOh)*8dF1jp}OeS9j?FHcYV(!=1*MrtHrgk|o zGW7U&?c*luJ^Bdsc@ohVp3xrf`8wo%me0N%^|MS^?m^)UyS?t!HmIcBJ|xD0#DPWj z?&&`{;CQe@FW>s_%(@lXC7R>R^kUdX49M39T8YF++hFKqRgos_oE&#`$f z-5WSX8D<2no^qbi-GdhZ+<+BkKYZ0vNMCpA@d?JTKDKo(-HMj6Sn_n?GJ-te6V!5% zXI8eatiGk)>sI8$yu9?K8M(La1-obQ(Db(afeq$GpLho5I9j066B?YFIGlP{NZj2gdH>MZyNiJVE%T~G(iU6i$kHf}{$mHN5l^?} z|E&@L?D*xLyEF!&NwW(%*CI|Tl^atO^UppMy9j6gsWd`=mm~H;%ROkQLs+zDBRY2} zYGx14&7n~VyS0qeu*Dxa=hW)u&>qX1gqw%CPz7$yB@0U8W@51tALRA|8Hs@jfoNkH ze9`TW_h$|=FhI)P@x`oaGaQO~QGDcB{i)(cnSzu2Fv+)YD<7hbk@bK{yivskoS@oC zIqB~V1+!-7GITybr6COnem4@%Q0LhPf-2_F>m=0U9_zIDxt_9yCF%?39>! zmXzcOgN>S9@__bxml5Tw86zYG%;B9NK2wo3AiPjXBodol(&*w;Ml_ZHaJ>LA(!T{c zIS`b65%?iuti6WWy< z@^KvRSrlNI&Uid3HG_QyeL5iHHuz9`mvOX9sG1D&=PY@w$9a35H=h}-GC9{pD!OPk z{$`7>_t%a9?%t|P!Glx>uc<)!h8*;L;$!<$6Ir$cMPs>{#;?X9#ibH9QX#V$2WD@D zv=je;D-*BO9npEIGc^9?Jz_j{Fu5nq5vMamcfVXV0Hnq1Ypeq;jCT~P_i6WRZ^o(X zZB>`^-D)R4d+d}vWpF}W!6j4Ld-(csd^`1tMaPM9b#8v+x6y*iqcf}CC}v0Ga2L6F zMv=E=&lKhH)9z+z|IDppX?^F6HkT;jNEHi;{Y<8H`mJXER3#-P!BbyvHf~?9CPUZT z?Nt|l#^mPr*Di11D#O}w#t(`gO7t#5Vc8O0$id@JgUdX}0QtiHtDcXZZSH99^wTYU z%X|pvN$G;JWRIscrx#x(W~8yT5wE_BrnHU4UT)D|pUUahVdw8;$&?5UBPEG~*m8^S zl|@(X}6&gjGFD-n6i3O&HSDDc5`C&;2hl(Eu;;>4VZEhe_qh+C_za z4&MTu<7(z!pYb`22yZC)M8OW?I!SbaAnb!3^)uJdd*d#1rCr1@biEkO=A;{LI%TPp zhl-yl*N;|$RH)ya;sCJdXxfKwEy$(Ayz_aJ<3-R$X2&XQRRl>}a4N`A)nq&f5^H^+ zi{y|w%!e)710dmqPY0@kK8~7d!n#TH0?o-`h=UkV6&D9roh?dzSM}^KFqFz=+N&neaVaQ zl()$ml7~othCX-8meMbX+yuOcNJo+p!+_16;LD zsWbglS+9r+#>$)|(7!lJBrk5bQuyAhi{ga%^JSrs6a|{YyyvXxKYB~BkO`A9QvLG4 zex@u>0rx4TFo^Zaxy?s#Q}>@(lYl)$3&e*J z*Fa;6^z7S^6Xh$9(0Ut*0txV_4$lA=6jsuJw><$`GW$F~_+%Zs{_QAN{^m}rIU*sf zt^HWOD|RR?y3yz1CqT-@Of#>nXZWS%tUSufYLRRCeL;}RD-Os)Z(Dm^yd=>PH zvIP&*ama2K^aaUlBoojoZB)>r@sYo@KAI;-!3IOdHJV|m2jNi*@?h;0h*Gu5Yy-v) z2Q^r&2O*yCm1_v>Fjg700?;_zn|D>(h%O@b*dP1r+#~6UmgC=jsUWh{l-X0hX~%B; zO0{luY zDuo>${4YFEmg9;T1B>}N!oRl$zH$DV@IngDmtW%-)JK7^POjRU0wl%D?NflHz8Bm5 z{`jr#Ut3)gGOrK^@BPyU2d9D#{XW9qPryHlrK%Yu2}_>fe{El~)qXtIiOCA0AYa}Z zCvq^&2}yfx0_)nFA?a)Y1XKB_=GOb3?ptBO7{d zTdhvrQU#q1D(I@(oLe%fmNK)+daKM1C57UN?z8pq4>l-xe^ep>-O-}a#y>*hQo?6% zK)N6T3Xa9a84NrCn1FWDnX>6+A;he{tJ-)ya9D^|`Ih0L-{lkx$koywlP`ZK`s zlUqVX8zBThBMULHEpl%A+|H!4`)zRDw)mm`ev__*kYXYiE$D0iteo++Y1?O=s8TTp z`{z`7Ak%iU9s)P7o?@0jg1t1O$t=q68HznN?+Y@xs zpmjpxhLp7Qh^w?b5AW$GDX>B@hb@^z*2E%rVouxf6KipzcrN>OGL3Nu*VJycDR`Et za&XH7?N%nn0XFf*ahF|U$7tdj9RqYOUXb}{k*%`UA?Q66(-+S&WOWRSO8Jw+XC}gQIttMIW5MvI~ zWyEC1-MMS){B*@Bc2eEl$z*?-DngSxtU$7S4k2&ZF~4uI1$lOP=X&P;SYckSZC`hJ znWr_5*3@OdZPCW;+~F7ts4*o~-?R^-7J z9=7zJ;tKFMP?(%}y;9b+J>vlWWByIqu@`vb3R;;5L9nYQsxNJhf$XFBmU)K8zCPnt zYP}9*%7O^B6uTXBpAQqKU4FaQg1!AVB^F{%MR(PpeFR zeZjtv@)tk|Ji&!W-@Y&cRo@02b%Sjm7;Z)`13V-^(}CFW(FE`f2xKV<2j&L}-^?#E zQUHu;0NTKS7{#+DB*h1ysWGdYdGHXA#{^uEY|#A%!s*9RqpJ~dwX1%8^*7v=_vU}) zqpz;JySsLT%N41I-Qp&}pyvqT`-p$INEyiUn|y}M9stHRAK?j}=SJHAJ!op`btA;Y z+O0C-1)n|!+^OmKR^N$c2}o`J612RuCBO&|UV@ByOIMSL0S*Abs=VF)%a43@kroOu z*BS^0b#2M)<$$erhb90i_$jvkOzgl@mOE@0O;~Vy^kX;5a!cqiM7I8?M)BhVQLrC) zTYw4kylo58K$;JQ|67mv0nK2Q3TOFV%Sf8gb9T(%2u~2=vBbCgn;jShqENY3kUU|2 z;l`UB)Xn-lFdZVRfR_P;@?Q!fToN?2F5IPi$x=Z&0<;l?Cfy~Jo)`1bqBS6b03`e0 zd6WilhR$5rC>Yw6`L6rtI{q`YP*#D$#rc^1(vf}~99te-Ll<2AbAW@j4u<1W+5+2c ze>wnu=< zmmlUxh|kH%;i-mzB^FBh8#DahC}kc%4WtZu1iZG&zoHyfK&TP`t-A~QE=!(cKMx!& z{$WP4LI3Tm-CNEcpO|nBpU-5NRDa9mGQEpIV*}U_a9SttcteNF0nwJNG6!mShZ`>d zL5}C*vfk4C3WGvILI4Bygg9&bC?VY5SX{xypke42XH>SApSTXm{-pfZGa|Cp35<3Jo5f03mOcd;SW(Cr40&7 zI7zr%g>Jyj`;(hemGZsDjUz=A53$nE_N^t$1kYd+9~E-|^xxUE1{Y zDdW>9(*pftr?}#k-)}zHa+slH1YEJO|0;w0rPfz`Z!yCMD!~|qEow7G14A9n)aQ@j z1aN0ArZ|%5&x>E!lIShd9b4R3@}%2t&(=wJ5kf9~j=6xoItzN!%}ajpaWgXT9%ol5 zAp6nh=>ftUET%g$$ZTvsD^f2gG`kwu2;h+g_6q38*@}G%QNiz z7O%gqOAUrk3EK$wsPH!X5ek-~oV5kR_EZ?4SwGB8%0F;~?S%Tv4IKA`8b7rPGetCz zELRc*&x2kBPXSMKNJ~pkM_arYnzBK0Kwzy;Vc$7*m0v`dO><;@vVaRl>}uot%`@*w zR3FeL;A5CzWWO%@@zTlGo{|eM` zBWQ3RrIZkOJj(P-D#wiF0jD>1^aL;KhMDsLgT;msI9NBZ(!gh7=5W7#!HOOOaH96mVv^A*P-J@b5L9ToGJm}<;zTtGI<@{ z560I7&%t0+&@u+l;Znsov2lQP7etix-I_8gKWajn0H|YrR*)cq7+qAOM&8|}wfY+< z81~~xqjR3p+a((*Zks?Ap&i_bj=zAnbO*BKRh+!79N8HW@49U!YXi4?Cbro^(fz{@oy?uv+M8zq7GJ2vUjaj?C!|wVKWF>w@&firH zKn&kI_vh?`qcFBdV%2lbts2@VrX`#m8zPwz8!M*SnH7@}Qt(n}AMq5*M%z|-s^fdT zc64qVcSDQh=lp^&+W5MeBuue4qV)kQt)Sr+xJF3w&>W-f%dhda%^n|29adr}`ri0eP#$i+SwiT3b@&V&-|RP)%4PZSw}o%$P!KO%ZV z@*O*214;+M{*dZl^gMzLTNEE=a8GJlnKJ^Ie@@99O()BLNeS3_jD=U>qa2V1ygj3& zCsy*|e!E9UBezBDz&N>;_j+WjzBqR2Oo7Myt}`kF8i%wpGSj*bm z8dvO!3g-hH5Jnf`c)Y&bKo5Cy?&R?{WM>oh-u)ks%;1C+&!&BE*z@qw;UE!B{wu|q z3zKe{r@%5*C1aGU{U6g!bR ze=OR01u;$ma5Jc=#R}b0!q~BzC>nfvxuj+VyMGi%D7HDu@P_r$IJ3E^?COKpd0JeY zw0BWOXfZ@6FH|hi(&v!x=wpP)`dedrzTlu$JTe4GC(XQ|I)~X#R(zY||EA#*)Kg)g zb3u}a8rHrULXBRyiyCw8I4F!E5ufwamdBf)&NF1#PSwMYmwq(eAKYFV%e)MsP?+Fr zEy%7te4>3!Bqp&bf1r5Cee%sv%o_7e9OaJ*{#u!fhc8I9v`3i@f4$onj~;#{CN;oS z|Ehh%#Z?{V-P+KOC*Hys`xy@sgGBQy{Hn)_G}DST^-TOkD8cq6dR^Ve2VajkB(S7g5adgp zs{MuaW81}!kWT9va4RY0!#h&#oHV>9^7LMP9ZONAobG9EBp!grcEmF&BljEjbthJy z8GNhFk>E6!B)3_=CfnTAi6&D^$mAt_i!V9ZW@JF%v-qso@>i0nk~_C5QND8HFCAB_ zZ8aN)blC1Mr2&l z8-Lq~Gq*A3A$+`h8vRQRjAh_*&d=Zc!VLK`1zjU>xd>bV){aOT9UTQ$fiV^SC5_+V zK?l2W(hqoWX&XOd4u76s;2M9_pWxP#NPotu?7=Bw5CVY!x0jlZ3@-cl3xS)}O=EkF z)xN_5cFs=Tbt_(%mZ#)p018Kddt#*p>nMV1QC#Cq!C2>ZWVqGFxsxY2__$~fG~zTR zVrvUj@)DHz1hdzf!e+InA6QtF%B1-OhFs`Kv^2_jE`r2ooCW92mRT_PQ*nG{E0an9XjgJ?zOHP77+SL zXomY_Vh0F6_umX`C*^kB0~0E{!ZF1cDhcclhU9s0>5w3V|W0a0n%zW zO=DuvI(wI_9FHQE$U$jw=@L6_^-J`CH(GI{F1Y_Q3P=zcQnZQx(F6MYeSqHf~TU2$OF z+M?T6{ceT)ONdJuDeop059a_RE09(4ZejtLiO25(H%0i~>em!Jck(ZpIWK(uW!p<- z&;OChN{nk#u`6q%(%9kmV-a@<&ebhQi4zrU5%4D)T(!S`{~k}PKefgNr9ccqp%%fd zD!q&+yz9B+Hs?!=H$4Btm)c(JnGL&UswqYkf9lTwS@^JL0ka;)&8IE{7FxPY-1mPwe*m4yJl{n=Jxr+g=RVq}v-CC(DuI^6shBk~uF$7g>2gm3tC$X}=# zpGo-(i{ddxfe*B?0XJl~+iGnJU!sEoSIu>OdSM{wSA7G>n}Yo}Kn)|+* zz4LgDg+VsBD4NTwz_5b~$HP!b(KnQ=!)#E1L?CbXJG2Cdq_Lh#Hs|<6Q|OOckw-3E ziYQCK-v7MBUlkdj>G=zaTB3yfKmd8PqkYhUKWf5z?SJu2Q7Dw3U#jXJGq9L8aFx>@ zFqB+7kOmf@99_C1%Hu8au?*19)9@@KR`b!ZEC{$O(SVL_A}aw(XqmKD%iqAJ3F_E$ zo+V$kBi{E1&0bupY=07N|5dU7^F5sbxRb%EeoD#@b}kg)NW2;nvhhAms6LAw{tTcw z|H)PBe@tEd@3_SMfBDFT=!sZM=tI^%$oU3vfA%5)a*+UlGCf;J(Tj_`>*?UHjRco1 zhb;H;@yRTI2U!EvGlyu<>Xj?!zeLJ#^)J6#Q@7kBRT2DA9*C)t#nGH2=db?{Rql2% diff --git a/index.html b/index.html index cd33db3..499aa71 100644 --- a/index.html +++ b/index.html @@ -19,6 +19,6 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -

    TGrid

    Remote Procedure Call

    TypeScript Grid Computing Framework


    await remote.function(...params)




    Guide Documents
    Github Repository
    arrow down
    +

    TGrid

    Remote Procedure Call

    TypeScript Grid Computing Framework


    await remote.function(...params)




    Guide Documents
    Github Repository
    arrow down

    Key Features

    -


    Remote Procedure Call

    await remote.function(...params)


    You can call remote system's functions


    Provider: functions for remote system


    Driver<Remote>: remote function caller



    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file +


    Remote Procedure Call

    await remote.function(...params)


    You can call remote system's functions


    Provider: functions for remote system


    Driver<Remote>: remote function caller



    Released under the MIT License.

    Copyright 2018 - 2024 Samchon & Contributors
    \ No newline at end of file